日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

基于javaweb的crm客户管理系统(java+ssm+jsp+mysql+redis)

發(fā)布時(shí)間:2023/12/31 数据库 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于javaweb的crm客户管理系统(java+ssm+jsp+mysql+redis) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

基于javaweb的crm客戶管理系統(tǒng)(java+ssm+jsp+mysql+redis)

運(yùn)行環(huán)境

Java≥8、MySQL≥5.7、Tomcat≥8

開(kāi)發(fā)工具

eclipse/idea/myeclipse/sts等均可配置運(yùn)行

適用

課程設(shè)計(jì),大作業(yè),畢業(yè)設(shè)計(jì),項(xiàng)目練習(xí),學(xué)習(xí)演示等

功能說(shuō)明

基于javaweb+jsp的CRM客戶管理系統(tǒng)(SSM+MySQL+Maven+redis)

一、項(xiàng)目簡(jiǎn)述

功能包括: 用戶管理,系統(tǒng)管理,客戶管理,客戶服務(wù),客戶關(guān)懷, 銷(xiāo)售機(jī)會(huì),統(tǒng)計(jì)管理等等。

二、項(xiàng)目運(yùn)行

環(huán)境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)

項(xiàng)目技術(shù): JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven+redis等等。

系統(tǒng)控制器:

/**

  • 系統(tǒng)控制器

*/

@RequestMapping(“/system”)

@Controller

public class SystemController {

@Autowired

private OperaterLogService operaterLogService;

@Autowired

private UserService userService;

@Autowired

private DatabaseBakService databaseBakService;

@Autowired

private StaffService staffService;

@Autowired

private OrderAuthService orderAuthService;

private Logger log = LoggerFactory.getLogger(SystemController.class);

/**

  • 登錄頁(yè)面

  • @param model

  • @return

*/

@RequestMapping(value=“/login”,method=RequestMethod.GET)

public String login(Model model){

model.addAttribute(“l(fā)oginTypes”, LoginType.values());

return “admin/system/login”;

/**

  • 用戶登錄提交表單處理方法

  • @param request

  • @param cpacha

  • @return

*/

@RequestMapping(value=“/login”,method=RequestMethod.POST)

@ResponseBody

public Result login(HttpServletRequest request,String username,String password,String cpacha,Integer type){

if(StringUtils.isEmpty(username)){

return Result.error(CodeMsg.ADMIN_USERNAME_EMPTY);

if(StringUtils.isEmpty(password)){

return Result.error(CodeMsg.ADMIN_PASSWORD_EMPTY);

//表示實(shí)體信息合法,開(kāi)始驗(yàn)證驗(yàn)證碼是否為空

if(StringUtils.isEmpty(cpacha)){

return Result.error(CodeMsg.CPACHA_EMPTY);

//說(shuō)明驗(yàn)證碼不為空,從session里獲取驗(yàn)證碼

Object attribute = request.getSession().getAttribute(“admin_login”);

if(attribute == null){

return Result.error(CodeMsg.SESSION_EXPIRED);

//表示session未失效,進(jìn)一步判斷用戶填寫(xiě)的驗(yàn)證碼是否正確

if(!cpacha.equalsIgnoreCase(attribute.toString())){

return Result.error(CodeMsg.CPACHA_ERROR);

if(type == LoginType.ADMINISTRATOR.getCode()){

//表示驗(yàn)證碼正確,開(kāi)始查詢數(shù)據(jù)庫(kù),檢驗(yàn)密碼是否正確

User findByUsername = userService.findByUsername(username);

//判斷是否為空

if(findByUsername == null){

return Result.error(CodeMsg.ADMIN_USERNAME_NO_EXIST);

//表示用戶存在,進(jìn)一步對(duì)比密碼是否正確

if(!findByUsername.getPassword().equals(password)){

return Result.error(CodeMsg.ADMIN_PASSWORD_ERROR);

//表示密碼正確,接下來(lái)判斷用戶狀態(tài)是否可用

if(findByUsername.getStatus() == User.ADMIN_USER_STATUS_UNABLE){

return Result.error(CodeMsg.ADMIN_USER_UNABLE);

//檢查用戶所屬角色狀態(tài)是否可用

if(findByUsername.getRole() == null || findByUsername.getRole().getStatus() == Role.ADMIN_ROLE_STATUS_UNABLE){

return Result.error(CodeMsg.ADMIN_USER_ROLE_UNABLE);

//檢查用戶所屬角色的權(quán)限是否存在

if(findByUsername.getRole().getAuthorities() == null || findByUsername.getRole().getAuthorities().size() == 0){

return Result.error(CodeMsg.ADMIN_USER_ROLE_AUTHORITES_EMPTY);

//檢查一切符合,可以登錄,將用戶信息存放至session

request.getSession().setAttribute(SessionConstant.SESSION_USER_LOGIN_KEY, findByUsername);

request.getSession().setAttribute(“l(fā)oginType”,type);

//銷(xiāo)毀session中的驗(yàn)證碼

request.getSession().setAttribute(“admin_login”, null);

//將登陸記錄寫(xiě)入日志庫(kù)

operaterLogService.add(“用戶【”+username+“】于【” + StringUtil.getFormatterDate(new Date(), “yyyy-MM-dd HH:mm:ss”) + “】登錄系統(tǒng)!”);

log.info("用戶成功登錄,user = " + findByUsername);

}else{

Staff byJobNumber = staffService.findByNameAndIsStatus(username);

//判斷是否為空

if(byJobNumber == null){

return Result.error(CodeMsg.ADMIN_USERNAME_NO_EXIST);

//表示用戶存在,進(jìn)一步對(duì)比密碼是否正確

if(!byJobNumber.getPassword().equals(password)){

return Result.error(CodeMsg.ADMIN_PASSWORD_ERROR);

//檢查用戶所屬角色狀態(tài)是否可用

if(byJobNumber.getRole() == null || byJobNumber.getRole().getStatus() == Role.ADMIN_ROLE_STATUS_UNABLE){

return Result.error(CodeMsg.ADMIN_USER_ROLE_UNABLE);

//檢查用戶所屬角色的權(quán)限是否存在

if(byJobNumber.getRole().getAuthorities() == null || byJobNumber.getRole().getAuthorities().size() == 0){

return Result.error(CodeMsg.ADMIN_USER_ROLE_AUTHORITES_EMPTY);

//檢查一切符合,可以登錄,將用戶信息存放至session

request.getSession().setAttribute(SessionConstant.SESSION_STAFF_LOGIN_KEY, byJobNumber);

request.getSession().setAttribute(“l(fā)oginType”,type);

//銷(xiāo)毀session中的驗(yàn)證碼

request.getSession().setAttribute(“admin_login”, null);

//將登陸記錄寫(xiě)入日志庫(kù)

operaterLogService.add(“用戶【”+username+“】于【” + StringUtil.getFormatterDate(new Date(), “yyyy-MM-dd HH:mm:ss”) + “】登錄系統(tǒng)!”);

log.info("員工成功登錄,user = " + byJobNumber);

return Result.success(true);

/**

  • 登錄成功后的系統(tǒng)主頁(yè)

  • @param model

  • @return

*/

@RequestMapping(value=“/index”)

public String index(Model model){

model.addAttribute(“operatorLogs”, operaterLogService.findLastestLog(10));

model.addAttribute(“userTotal”, userService.total());

model.addAttribute(“operatorLogTotal”, operaterLogService.total());

model.addAttribute(“databaseBackupTotal”, databaseBakService.total());

model.addAttribute(“onlineUserTotal”, SessionListener.onlineUserCount);

return “admin/system/index”;

/**

  • 注銷(xiāo)登錄

  • @return

*/

@RequestMapping(value=“/logout”)

public String logout(){

Integer loginType = (Integer) SessionUtil.get(“l(fā)oginType”);

if(loginType == LoginType.ADMINISTRATOR.getCode()){

User loginedUser = SessionUtil.getLoginedUser();

if(loginedUser != null){

SessionUtil.set(SessionConstant.SESSION_USER_LOGIN_KEY, null);

}else if(loginType == LoginType.STAFF.getCode()){

Staff loginedStaff = SessionUtil.getLoginedStaff();

if(loginedStaff != null){

SessionUtil.set(SessionConstant.SESSION_STAFF_LOGIN_KEY,null);

return “redirect:login”;

/**

  • 無(wú)權(quán)限提示頁(yè)面

  • @return

*/

@RequestMapping(value=“/no_right”)

public String noRight(){

return “admin/system/no_right”;

/**

  • 修改用戶個(gè)人信息

  • @return

*/

@RequestMapping(value=“/update_userinfo”,method=RequestMethod.GET)

public String updateUserInfo(){

return “admin/system/update_userinfo”;

/**

  • 修改個(gè)人信息保存

  • @param user

  • @return

*/

@RequestMapping(value=“/update_userinfo”,method=RequestMethod.POST)

public String updateUserInfo(User user){

User loginedUser = SessionUtil.getLoginedUser();

loginedUser.setEmail(user.getEmail());

loginedUser.setMobile(user.getMobile());

loginedUser.setHeadPic(user.getHeadPic());

//首先保存到數(shù)據(jù)庫(kù)

userService.save(loginedUser);

//更新session里的值

SessionUtil.set(SessionConstant.SESSION_USER_LOGIN_KEY, loginedUser);

return “redirect:update_userinfo”;

/**

  • 修改密碼頁(yè)面

  • @return

*/

@RequestMapping(value=“/update_pwd”,method=RequestMethod.GET)

public String updatePwd(){

return “admin/system/update_pwd”;

/**

  • 修改密碼表單提交

  • @param oldPwd

  • @param newPwd

  • @return

*/

@RequestMapping(value=“/update_pwd”,method=RequestMethod.POST)

@ResponseBody

public Result updatePwd(@RequestParam(name=“oldPwd”,required=true)String oldPwd,

@RequestParam(name=“newPwd”,required=true)String newPwd

){

Integer loginType = (Integer) SessionUtil.get(“l(fā)oginType”);

if(loginType == LoginType.ADMINISTRATOR.getCode()){

User loginedUser = SessionUtil.getLoginedUser();

if(!loginedUser.getPassword().equals(oldPwd)){

return Result.error(CodeMsg.ADMIN_USER_UPDATE_PWD_ERROR);

if(StringUtils.isEmpty(newPwd)){

return Result.error(CodeMsg.ADMIN_USER_UPDATE_PWD_EMPTY);

if(newPwd.length()<4 || newPwd.length()>32){

return Result.error(CodeMsg.ADMIN_USER_PWD_LENGTH_ERROR);

loginedUser.setPassword(newPwd);

//保存數(shù)據(jù)庫(kù)

userService.save(loginedUser);

//更新session

SessionUtil.set(SessionConstant.SESSION_USER_LOGIN_KEY, loginedUser);

}else{

Staff loginedStaff = SessionUtil.getLoginedStaff();

Staff staff = staffService.find(loginedStaff.getId());

if(!staff.getPassword().equals(oldPwd)){

return Result.error(CodeMsg.ADMIN_USER_UPDATE_PWD_ERROR);

if(StringUtils.isEmpty(newPwd)){

return Result.error(CodeMsg.ADMIN_USER_UPDATE_PWD_EMPTY);

staff.setPassword(newPwd);

CodeMsg codeMsg = ValidateEntityUtil.validate(staff);

if (codeMsg.getCode() != CodeMsg.SUCCESS.getCode()){

return Result.error(codeMsg);

loginedStaff.setPassword(newPwd);

//保存數(shù)據(jù)庫(kù)

staffService.save(loginedStaff);

//更新session

SessionUtil.set(SessionConstant.SESSION_STAFF_LOGIN_KEY, loginedStaff);

return Result.success(true);

/**

  • 日志管理列表

  • @param model

  • @param operaterLog

  • @param pageBean

  • @return

*/

@RequestMapping(value=“/operator_log_list”)

public String operatorLogList(Model model,OperaterLog operaterLog,PageBean pageBean){

model.addAttribute(“pageBean”, operaterLogService.findList(operaterLog, pageBean));

model.addAttribute(“operator”, operaterLog.getOperator());

model.addAttribute(“title”, “日志列表”);

return “admin/system/operator_log_list”;

/**

  • 驗(yàn)證訂單

  • @param orderSn

  • @param phone

  • @return

*/

@RequestMapping(value=“/auth_order”,method=RequestMethod.POST)

@ResponseBody

public Result authOrder(@RequestParam(name=“orderSn”,required=true)String orderSn,@RequestParam(name=“phone”,required=true)String phone){

OrderAuth orderAuth = new OrderAuth();

orderAuth.setMac(StringUtil.getMac());

orderAuth.setOrderSn(orderSn);

orderAuth.setPhone(phone);

orderAuthService.save(orderAuth);

AppConfig.ORDER_AUTH = 1;

return Result.success(true);

/**

  • 刪除操作日志,可刪除多個(gè)

  • @param ids

  • @return

*/

@RequestMapping(value=“/delete_operator_log”,method=RequestMethod.POST)

@ResponseBody

public Result delete(String ids){

if(!StringUtils.isEmpty(ids)){

String[] splitIds = ids.split(“,”);

for(String id : splitIds){

operaterLogService.delete(Long.valueOf(id));

return Result.success(true);

/**

  • 清空整個(gè)日志

  • @return

*/

@RequestMapping(value=“/delete_all_operator_log”,method=RequestMethod.POST)

@ResponseBody

public Result deleteAll(){

operaterLogService.deleteAll();

return Result.success(true);

后臺(tái)用戶管理控制器:

/**

  • 后臺(tái)用戶管理控制器

*/

@RequestMapping(“/admin/user”)

@Controller

public class UserController {

@Autowired

private UserService userService;

@Autowired

private RoleService roleService;

@Autowired

private OperaterLogService operaterLogService;

/**

  • 用戶列表頁(yè)面

  • @param model

  • @param user

  • @param pageBean

  • @return

*/

@RequestMapping(value=“/list”)

public String list(Model model,User user,PageBean pageBean){

model.addAttribute(“title”, “用戶列表”);

model.addAttribute(“username”, user.getUsername());

model.addAttribute(“pageBean”, userService.findList(user, pageBean));

return “admin/user/list”;

/**

  • 新增用戶頁(yè)面

  • @param model

  • @return

*/

@RequestMapping(value=“/add”,method=RequestMethod.GET)

public String add(Model model){

model.addAttribute(“roles”, roleService.findAll());

return “admin/user/add”;

/**

  • 用戶添加表單提交處理

  • @param user

  • @return

*/

@RequestMapping(value=“/add”,method=RequestMethod.POST)

@ResponseBody

public Result add(User user){

//用統(tǒng)一驗(yàn)證實(shí)體方法驗(yàn)證是否合法

CodeMsg validate = ValidateEntityUtil.validate(user);

if(validate.getCode() != CodeMsg.SUCCESS.getCode()){

return Result.error(validate);

if(user.getRole() == null || user.getRole().getId() == null){

return Result.error(CodeMsg.ADMIN_USER_ROLE_EMPTY);

//判斷用戶名是否存在

if(userService.isExistUsername(user.getUsername(), 0l)){

return Result.error(CodeMsg.ADMIN_USERNAME_EXIST);

//到這說(shuō)明一切符合條件,進(jìn)行數(shù)據(jù)庫(kù)新增

if(userService.save(user) == null){

return Result.error(CodeMsg.ADMIN_USE_ADD_ERROR);

operaterLogService.add(“添加用戶,用戶名:” + user.getUsername());

return Result.success(true);

/**

  • 用戶編輯頁(yè)面

  • @param model

  • @return

*/

@RequestMapping(value=“/edit”,method=RequestMethod.GET)

public String edit(Model model,@RequestParam(name=“id”,required=true)Long id){

model.addAttribute(“roles”, roleService.findAll());

model.addAttribute(“user”, userService.find(id));

return “admin/user/edit”;

/**

  • 編輯用戶信息表單提交處理

  • @param user

  • @return

*/

@RequestMapping(value=“/edit”,method=RequestMethod.POST)

@ResponseBody

public Result edit(User user){

//用統(tǒng)一驗(yàn)證實(shí)體方法驗(yàn)證是否合法

CodeMsg validate = ValidateEntityUtil.validate(user);

if(validate.getCode() != CodeMsg.SUCCESS.getCode()){

return Result.error(validate);

if(user.getRole() == null || user.getRole().getId() == null){

return Result.error(CodeMsg.ADMIN_USER_ROLE_EMPTY);

if(user.getId() == null || user.getId().longValue() <= 0){

return Result.error(CodeMsg.ADMIN_USE_NO_EXIST);

if(userService.isExistUsername(user.getUsername(), user.getId())){

return Result.error(CodeMsg.ADMIN_USERNAME_EXIST);

//到這說(shuō)明一切符合條件,進(jìn)行數(shù)據(jù)庫(kù)保存

User findById = userService.find(user.getId());

//講提交的用戶信息指定字段復(fù)制到已存在的user對(duì)象中,該方法會(huì)覆蓋新字段內(nèi)容

BeanUtils.copyProperties(user, findById, “id”,“createTime”,“updateTime”);

if(userService.save(findById) == null){

return Result.error(CodeMsg.ADMIN_USE_EDIT_ERROR);

operaterLogService.add(“編輯用戶,用戶名:” + user.getUsername());

return Result.success(true);

/**

  • 刪除用戶

  • @param id

  • @return

*/

@RequestMapping(value=“/delete”,method=RequestMethod.POST)

@ResponseBody

public Result delete(@RequestParam(name=“id”,required=true)Long id){

try {

userService.delete(id);

} catch (Exception e) {

return Result.error(CodeMsg.ADMIN_USE_DELETE_ERROR);

operaterLogService.add(“刪除用戶,用戶ID:” + id);

return Result.success(true);

后臺(tái)員工管理控制器:

/**

  • 后臺(tái)員工管理控制器

*/

@RequestMapping(“/admin/staff”)

@Controller

public class StaffController {

@Autowired

private StaffService staffService;

@Autowired

private JobTitleService jobTitleService;

@Autowired

private RoleService roleService;

@Autowired

private PositionService positionService;

@Autowired

private DepartmentService departmentService;

@Autowired

private OperaterLogService operaterLogService;

@Autowired

private AttendanceService attendanceService;

/**

  • 員工列表頁(yè)面

  • @param model

  • @param staff

  • @param pageBean

  • @return

*/

@RequestMapping(value=“/list”)

public String list(Model model, Staff staff, PageBean pageBean){

model.addAttribute(“title”, “員工列表”);

model.addAttribute(“jobNumber”, staff.getJobNumber()==null?“”:staff.getJobNumber());

model.addAttribute(“pageBean”, staffService.findList(staff, pageBean));

return “admin/staff/list”;

/**

  • 新增員工頁(yè)面

  • @param model

  • @return

*/

@RequestMapping(value=“/add”,method=RequestMethod.GET)

public String add(Model model){

model.addAttribute(“roles”, roleService.findAll());

model.addAttribute(“educationEnum”,EducationEnum.values());

model.addAttribute(“jobTitleList”,jobTitleService.findAll());

model.addAttribute(“positionList”,positionService.findAll());

model.addAttribute(“departmentList”,departmentService.findAll());

return “admin/staff/add”;

/**

  • 員工添加表單提交處理

  • @param staff

  • @return

*/

@RequestMapping(value=“/add”,method=RequestMethod.POST)

@ResponseBody

public Result add(Staff staff){

//用統(tǒng)一驗(yàn)證實(shí)體方法驗(yàn)證是否合法

CodeMsg validate = ValidateEntityUtil.validate(staff);

if(validate.getCode() != CodeMsg.SUCCESS.getCode()){

return Result.error(validate);

if(staff.getRole() == null || staff.getRole().getId() == null){

return Result.error(CodeMsg.ADMIN_STAFF_ROLE_ERROR);

if(!StringUtil.isMobile(staff.getMobile())){

return Result.error(CodeMsg.ADMIN_STAFF_MOBILE_ERROR);

if(!StringUtil.isMobile(staff.getEmergencyMobile())){

return Result.error(CodeMsg.ADMIN_STAFF_EMERGENCY_MOBILE_ERROR);

//自動(dòng)生成工號(hào)

int maxId = staffService.findMaxId()+1;

String jobNumber = DateUtil.getCurrentDateTime(“yyyyMMdd”);

if(maxId<10){

jobNumber=jobNumber+“0”+maxId;

}else{

jobNumber=jobNumber+maxId;

staff.setJobNumber(jobNumber);

//到這說(shuō)明一切符合條件,進(jìn)行數(shù)據(jù)庫(kù)新增

if(staffService.save(staff) == null){

return Result.error(CodeMsg.ADMIN_STAFF_ADD_ERROR);

operaterLogService.add(“添加員工,員工名:” + staff.getName());

return Result.success(true);

@RequestMapping(value=“/edit_self”,method=RequestMethod.POST)

@ResponseBody

public Result edit_self(Staff staff, HttpServletRequest request){

//用統(tǒng)一驗(yàn)證實(shí)體方法驗(yàn)證是否合法

CodeMsg validate = ValidateEntityUtil.validate(staff);

if(validate.getCode() != CodeMsg.SUCCESS.getCode()){

return Result.error(validate);

if(!StringUtil.isMobile(staff.getMobile())){

return Result.error(CodeMsg.ADMIN_STAFF_MOBILE_ERROR);

if(!StringUtil.isMobile(staff.getEmergencyMobile())){

return Result.error(CodeMsg.ADMIN_STAFF_EMERGENCY_MOBILE_ERROR);

if(staff.getId() == null || staff.getId().longValue() <= 0){

return Result.error(CodeMsg.ADMIN_STAFF_NOT_EXIST_ERROR);

//到這說(shuō)明一切符合條件,進(jìn)行數(shù)據(jù)庫(kù)保存

Staff findById = staffService.find(staff.getId());

//講提交的員工信息指定字段復(fù)制到已存在的staff對(duì)象中,該方法會(huì)覆蓋新字段內(nèi)容

BeanUtils.copyProperties(staff, findById, “id”,“createTime”,“updateTime”,“jobNumber”,

“role”,“educationEnum”,“jobTitle”,

“position”,“department”,“entryTime”);

Staff saveStaff = staffService.save(findById);

if(saveStaff == null){

return Result.error(CodeMsg.ADMIN_STAFF_EDIT_ERROR);

Staff loginedStaff = SessionUtil.getLoginedStaff();

if(loginedStaff != null){

if(loginedStaff.getId().longValue() == findById.getId().longValue()){

loginedStaff.setHeadPic(saveStaff.getHeadPic());

loginedStaff.setName(saveStaff.getName());

loginedStaff.setMobile(saveStaff.getMobile());

loginedStaff.setEmergencyContact(saveStaff.getEmergencyContact());

loginedStaff.setEmergencyMobile(saveStaff.getEmergencyMobile());

loginedStaff.setAge(saveStaff.getAge());

loginedStaff.setSex(saveStaff.getSex());

SessionUtil.set(SessionConstant.SESSION_STAFF_LOGIN_KEY,loginedStaff);

operaterLogService.add(“編輯員工,員工名:” + staff.getName());

return Result.success(true);

/**

  • 員工編輯頁(yè)面

  • @param model

  • @return

*/

@RequestMapping(value=“/edit”,method=RequestMethod.GET)

public String edit(Model model,@RequestParam(name=“id”,required=true)Long id){

model.addAttribute(“staff”, staffService.find(id));

model.addAttribute(“roles”, roleService.findAll());

model.addAttribute(“educationEnum”,EducationEnum.values());

model.addAttribute(“jobTitleList”,jobTitleService.findAll());

model.addAttribute(“positionList”,positionService.findAll());

model.addAttribute(“departmentList”,departmentService.findAll());

return “admin/staff/edit”;

/**

  • 編輯員工信息表單提交處理

  • @param staff

  • @return

*/

@RequestMapping(value=“/edit”,method=RequestMethod.POST)

@ResponseBody

public Result edit(Staff staff, HttpServletRequest request){

//用統(tǒng)一驗(yàn)證實(shí)體方法驗(yàn)證是否合法

CodeMsg validate = ValidateEntityUtil.validate(staff);

if(validate.getCode() != CodeMsg.SUCCESS.getCode()){

return Result.error(validate);

if(staff.getRole() == null || staff.getRole().getId() == null){

return Result.error(CodeMsg.ADMIN_STAFF_ROLE_ERROR);

if(!StringUtil.isMobile(staff.getMobile())){

return Result.error(CodeMsg.ADMIN_STAFF_MOBILE_ERROR);

if(!StringUtil.isMobile(staff.getEmergencyMobile())){

return Result.error(CodeMsg.ADMIN_STAFF_EMERGENCY_MOBILE_ERROR);

if(staff.getId() == null || staff.getId().longValue() <= 0){

return Result.error(CodeMsg.ADMIN_STAFF_NOT_EXIST_ERROR);

//到這說(shuō)明一切符合條件,進(jìn)行數(shù)據(jù)庫(kù)保存

Staff findById = staffService.find(staff.getId());

//講提交的員工信息指定字段復(fù)制到已存在的staff對(duì)象中,該方法會(huì)覆蓋新字段內(nèi)容

BeanUtils.copyProperties(staff, findById, “id”,“createTime”,“updateTime”,“jobNumber”);

Staff saveStaff = staffService.save(findById);

if(saveStaff == null){

return Result.error(CodeMsg.ADMIN_STAFF_EDIT_ERROR);

Staff loginedStaff = SessionUtil.getLoginedStaff();

if(loginedStaff != null){

if(loginedStaff.getId().longValue() == findById.getId().longValue()){

loginedStaff.setHeadPic(saveStaff.getHeadPic());

loginedStaff.setName(saveStaff.getName());

loginedStaff.setMobile(saveStaff.getMobile());

loginedStaff.setEmergencyContact(saveStaff.getEmergencyContact());

loginedStaff.setEmergencyMobile(saveStaff.getEmergencyMobile());

loginedStaff.setAge(saveStaff.getAge());

loginedStaff.setSex(saveStaff.getSex());

SessionUtil.set(SessionConstant.SESSION_STAFF_LOGIN_KEY,loginedStaff);

operaterLogService.add(“編輯員工,員工名:” + staff.getName());

return Result.success(true);

/**

  • 離職員工

  • @param id

  • @return

*/

@RequestMapping(value=“/delete”,method=RequestMethod.POST)

@ResponseBody

public Result delete(@RequestParam(name=“id”,required=true)Long id){

if(staffService.updateStatus(StaffStatus.QUIT.getCode(), id)<=0){

return Result.error(CodeMsg.ADMIN_STAFF_STATUS_ERROR);

operaterLogService.add(“員工離職,員工ID:” + id);

return Result.success(true);

/**

  • 修改個(gè)人信息

  • @param model

  • @return

*/

@RequestMapping(“/self”)

public String self(Model model){

Staff loginedStaff = SessionUtil.getLoginedStaff();

Staff staff = staffService.find(loginedStaff.getId());

model.addAttribute(“roles”, roleService.findAll());

model.addAttribute(“educationEnum”,EducationEnum.values());

model.addAttribute(“jobTitleList”,jobTitleService.findAll());

model.addAttribute(“positionList”,positionService.findAll());

model.addAttribute(“departmentList”,departmentService.findAll());

model.addAttribute(“staff”,staff);

return “admin/staff/self”;

后臺(tái)角色管理控制器:

/**

  • 后臺(tái)角色管理控制器

*/

@RequestMapping(“/admin/role”)

@Controller

public class RoleController {

private Logger log = LoggerFactory.getLogger(RoleController.class);

@Autowired

private MenuService menuService;

@Autowired

private OperaterLogService operaterLogService;

@Autowired

private RoleService roleService;

/**

  • 分頁(yè)搜索角色列表

  • @param model

  • @param role

  • @param pageBean

  • @return

*/

@RequestMapping(value=“/list”)

public String list(Model model,Role role,PageBean pageBean){

model.addAttribute(“title”, “角色列表”);

model.addAttribute(“name”, role.getName());

model.addAttribute(“pageBean”, roleService.findByName(role, pageBean));

return “admin/role/list”;

/**

  • 角色添加頁(yè)面

  • @param model

  • @return

*/

@RequestMapping(value=“/add”,method=RequestMethod.GET)

public String add(Model model){

List

findAll = menuService.findAll();

model.addAttribute(“topMenus”,MenuUtil.getTopMenus(findAll));

model.addAttribute(“secondMenus”,MenuUtil.getSecondMenus(findAll));

model.addAttribute(“thirdMenus”,MenuUtil.getThirdMenus(findAll));

return “admin/role/add”;

/**

  • 角色添加表單提交處理

  • @param role

  • @return

*/

@RequestMapping(value=“/add”,method=RequestMethod.POST)

@ResponseBody

public Result add(Role role){

//用統(tǒng)一驗(yàn)證實(shí)體方法驗(yàn)證是否合法

CodeMsg validate = ValidateEntityUtil.validate(role);

if(validate.getCode() != CodeMsg.SUCCESS.getCode()){

return Result.error(validate);

if(roleService.save(role) == null){

return Result.error(CodeMsg.ADMIN_ROLE_ADD_ERROR);

log.info(“添加角色【”+role+“】”);

operaterLogService.add(“添加角色【”+role.getName()+“】”);

return Result.success(true);

/**

  • 角色編輯頁(yè)面

  • @param id

  • @param model

  • @return

*/

@RequestMapping(value=“/edit”,method=RequestMethod.GET)

public String edit(@RequestParam(name=“id”,required=true)Long id,Model model){

List

findAll = menuService.findAll();

model.addAttribute(“topMenus”,MenuUtil.getTopMenus(findAll));

model.addAttribute(“secondMenus”,MenuUtil.getSecondMenus(findAll));

model.addAttribute(“thirdMenus”,MenuUtil.getThirdMenus(findAll));

Role role = roleService.find(id);

model.addAttribute(“role”, role);

model.addAttribute(“authorities”,JSONArray.toJSON(role.getAuthorities()).toString());

return “admin/role/edit”;

/**

  • 角色修改表單提交處理

  • @param request

  • @param role

  • @return

*/

@RequestMapping(value=“/edit”,method=RequestMethod.POST)

@ResponseBody

public Result edit(Role role){

//用統(tǒng)一驗(yàn)證實(shí)體方法驗(yàn)證是否合法

CodeMsg validate = ValidateEntityUtil.validate(role);

if(validate.getCode() != CodeMsg.SUCCESS.getCode()){

return Result.error(validate);

Role existRole = roleService.find(role.getId());

if(existRole == null){

return Result.error(CodeMsg.ADMIN_ROLE_NO_EXIST);

existRole.setName(role.getName());

existRole.setRemark(role.getRemark());

existRole.setStatus(role.getStatus());

existRole.setAuthorities(role.getAuthorities());

if(roleService.save(existRole) == null){

return Result.error(CodeMsg.ADMIN_ROLE_EDIT_ERROR);

log.info(“編輯角色【”+role+“】”);

operaterLogService.add(“編輯角色【”+role.getName()+“】”);

return Result.success(true);

/**

  • 刪除角色

  • @param request

  • @param id

  • @return

*/

@RequestMapping(value=“delete”,method=RequestMethod.POST)

@ResponseBody

public Result delete(@RequestParam(name=“id”,required=true)Long id){

try {

roleService.delete(id);

} catch (Exception e) {

// TODO: handle exception

return Result.error(CodeMsg.ADMIN_ROLE_DELETE_ERROR);

log.info(“編輯角色I(xiàn)D【”+id+“】”);

operaterLogService.add(“刪除角色I(xiàn)D【”+id+“】”);

return Result.success(true);


總結(jié)

以上是生活随笔為你收集整理的基于javaweb的crm客户管理系统(java+ssm+jsp+mysql+redis)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

久久精品伊人 | 亚洲天天在线日亚洲洲精 | 我爱av激情网 | 97视频资源 | 国产在线美女 | av丝袜天堂| 91精品国产电影 | 日韩高清二区 | 人人艹人人 | 国产精品成人一区二区 | 99re6热在线精品视频 | 久久经典国产视频 | 成人少妇影院yyyy | 亚洲精品国产精品99久久 | 日韩精品中文字幕久久臀 | 91精品视频在线观看免费 | 免费在线观看视频一区 | 亚洲成av| 欧美日韩不卡在线 | 国产一二三区在线观看 | 亚洲色影爱久久精品 | 一级a毛片高清视频 | 在线观看黄a | 欧美激情综合色综合啪啪五月 | 成人av网页 | 免费观看黄色av | 免费三级黄色 | 奇米7777狠狠狠琪琪视频 | 久久综合久久综合这里只有精品 | 中文字幕乱码日本亚洲一区二区 | av黄色免费在线观看 | 国精产品999国精产品岳 | 在线观看黄色的网站 | 91精品欧美一区二区三区 | 日韩视频一区二区在线 | 日韩av免费在线电影 | 免费亚洲黄色 | 久久成人国产精品入口 | 亚洲精品在线视频观看 | 日韩.com | 久久久99精品免费观看app | 亚洲专区一二三 | 欧美极品久久 | 中文字幕免费高清在线 | 狠狠的干狠狠的操 | 激情欧美在线观看 | 色综合久久久久综合99 | 久草免费在线视频 | 91在线观看欧美日韩 | 三上悠亚一区二区在线观看 | 国产99久久精品一区二区300 | 91成人看片 | 久久精品人人做人人综合老师 | 黄色大片视频网站 | 久久精品一二三 | 亚洲婷婷综合色高清在线 | 少妇bbb | 草久在线视频 | 人人插人人舔 | 特级毛片网 | 爱干视频 | 日韩特黄一级欧美毛片特黄 | 人人干免费 | 日本特黄一级片 | 久久免费一级片 | 在线天堂中文www视软件 | 日本字幕网 | 久久涩涩网站 | av大全免费在线观看 | 成人在线免费观看视视频 | 玖玖999| 国产成人高清 | 成人午夜电影网 | 在线免费观看国产精品 | 久久久精品免费观看 | 日韩专区在线 | 男女啪啪视屏 | 日韩在线首页 | 色婷婷综合激情 | 在线中文字幕网站 | 国产高清在线观看av | 五月婷婷激情综合网 | 国产一区二区三区免费视频 | 中文资源在线官网 | 成人在线超碰 | 9在线观看免费高清完整 | 欧美成年性 | 中文字幕一区二区三区四区在线视频 | www免费网站在线观看 | 亚洲91精品| 久久中文字幕视频 | 久久中文字幕在线视频 | 日本韩国精品一区二区在线观看 | 97超碰国产在线 | 天天操天天操天天干 | 2019av在线视频 | 99久久99久久精品国产片 | 男女视频国产 | 91亚洲精品久久久中文字幕 | 黄色aa久久| 国产麻豆电影 | 日韩中字在线 | 人人爽人人爽人人爽 | 国产精品成人一区二区三区 | 免费日韩一区二区 | 一二三区高清 | 久久电影中文字幕视频 | 中文字幕久久久精品 | 在线观看视频色 | 97国产| www.亚洲激情.com| 日韩亚洲在线 | 成人在线免费视频观看 | 91秒拍国产福利一区 | 久久久久久久久久久网 | 日韩高清在线不卡 | 最新免费av在线 | 国产激情电影综合在线看 | 亚洲一级理论片 | 久久久久女人精品毛片九一 | 日本黄色a级大片 | 8x成人免费视频 | 国产99爱 | 亚洲高清视频在线观看免费 | 久久图 | 在线看毛片网站 | 久久免费视频6 | 九九日韩| 日本h在线播放 | 一区免费视频 | 午夜免费福利视频 | 999电影免费在线观看 | 亚洲成av人片在线观看www | 日韩美女免费线视频 | 香蕉视频一级 | 国产成人三级在线 | 国产一级片一区二区三区 | 亚洲成人家庭影院 | 青青河边草免费 | 国产精品久久久久毛片大屁完整版 | 亚洲精品视频在线免费播放 | 日日夜夜精品免费视频 | 草久在线观看视频 | 国产精品久久久久久久久久久久午夜 | 久久精品视频免费播放 | 精品久久久久久国产91 | 国产免费观看久久黄 | 大胆欧美gogo免费视频一二区 | 五月婷婷综合激情网 | 欧美激情一区不卡 | 国产成人中文字幕 | 欧美日韩一区二区在线观看 | 日韩av中文字幕在线免费观看 | 日韩精品一区二区三区在线视频 | 中文字幕日本特黄aa毛片 | 国产精品三级视频 | 天堂激情网 | 射综合网 | 免费麻豆视频 | 中文字幕在线观看完整版 | 欧美日韩在线视频一区 | 久久久久久毛片精品免费不卡 | 808电影 | 亚洲成a人片在线www | 97看片网 | 91在线免费播放视频 | 91社区国产高清 | 欧美日韩国产一区二区三区 | 又黄又刺激的网站 | 五月丁婷婷| 97av视频 | 啪啪av在线 | 精品一区二区精品 | 国产日韩av在线 | 久久精品香蕉视频 | 波多野结衣视频一区二区三区 | 欧美国产日韩激情 | 日韩欧美一区二区在线播放 | 国产视频18| 在线看一区二区 | 四虎影视精品成人 | 免费看久久 | 国产日韩精品视频 | 亚洲伊人第一页 | 久草免费在线观看 | 黄色影院在线播放 | 日韩69av| 国产精品久久久久久久久久白浆 | 中文字幕一区二区三区四区在线视频 | av免费黄色| 99精品国自产在线 | 国产精品综合在线 | 精品视频不卡 | 欧美一区影院 | 91aaa在线观看 | 国产录像在线观看 | 久av在线 | 日本在线观看视频一区 | 中文国产字幕 | 久久久久久久久久伊人 | 欧美日韩中文在线视频 | 亚洲天堂网在线视频 | 国产一区av在线 | 欧美在线aaa| 九九热1 | 欧美午夜剧场 | 在线成人一区二区 | www.夜夜骑.com | 91看片成人 | 久久人人爽人人爽人人片av软件 | 97超碰人人网 | 亚洲国产视频直播 | 亚洲永久字幕 | av成人免费观看 | 成人在线播放网站 | 高清有码中文字幕 | 免费观看一级成人毛片 | 亚洲97在线| 美女视频永久黄网站免费观看国产 | 亚洲欧美精品一区 | japanesexxxhd奶水 国产一区二区在线免费观看 | 国产免费三级在线观看 | 亚洲精品在线视频播放 | 久久精品电影院 | 欧美aa一级片| 91久久国产露脸精品国产闺蜜 | 欧美片一区二区三区 | 黄色福利网 | 久久99国产精品久久99 | 粉嫩av一区二区三区四区在线观看 | 韩国一区在线 | 国产高清在线观看av | 综合网伊人 | 激情五月综合 | 黄色免费视频在线观看 | 在线观看免费色 | 日日夜夜狠狠干 | 国产 欧美 日本 | 五月婷婷六月丁香 | 日韩av一区二区在线影视 | 久久久久区 | 友田真希x88av| 国产亚洲精品久久久久久移动网络 | 国产第一页在线观看 | 经典三级一区 | 午夜精品一区二区三区可下载 | 黄色软件视频大全免费下载 | 91视频啪 | 男女激情网址 | 伊人首页 | 99久久日韩精品免费热麻豆美女 | 国产一级片久久 | 色香蕉视频 | 成人毛片网 | 欧美成人精品在线 | 在线观看精品一区 | 国产理论一区二区三区 | 久久成人精品电影 | 国产成人亚洲精品自产在线 | 综合色爱| 国产精品一区二区在线免费观看 | 亚洲一二区视频 | 国产性xxxx | 婷婷六月久久 | 中文字幕超清在线免费 | 久久久久在线观看 | 日本动漫做毛片一区二区 | 久久免费电影网 | 五月婷婷在线视频观看 | 黄色1级大片 | 韩日精品在线 | 精品99在线视频 | 免费日韩av片 | 视频国产精品 | 国产精品影音先锋 | 日韩免费二区 | 国产精品久久久久久麻豆一区 | 在线亚洲日本 | 欧美精品在线一区二区 | 欧美久久久久久久久久久 | 国产91粉嫩白浆在线观看 | a级免费观看 | 亚洲天堂精品 | 成人性生活大片 | 国产精品久久久久aaaa | 久久成人综合视频 | 黄色的视频网站 | 精品久久久久久久久久国产 | 久久精品视频国产 | 久草视频免费观 | 又爽又黄又刺激的视频 | 日日夜夜免费精品视频 | 国产伦理久久精品久久久久_ | 久草在线免费电影 | 一区视频在线 | 嫩模bbw搡bbbb搡bbbb | 一区免费在线 | 久久爱www.| 天天操操操操操 | 欧美人人爱 | 国产黄色一级大片 | 一区二区中文字幕在线观看 | 六月丁香色婷婷 | 国产精品国产自产拍高清av | 欧美日韩视频免费看 | 亚洲 欧美 精品 | 国产精品免费不卡 | 99久久久| 日韩性网站 | 国产精品21区 | 人人干人人搞 | 国产99久久久国产精品成人免费 | 欧美性色综合网站 | 免费日韩一区二区三区 | 性色av免费在线观看 | 日韩av在线免费播放 | 国产成人精品一区二区三区福利 | 国产区欧美 | 亚洲美女精品视频 | 91在线精品播放 | 91精品免费看 | 新版资源中文在线观看 | 91久久影院| 国产精品久久久久久电影 | 在线小视频你懂的 | 久久99精品久久久久婷婷 | 久久综合九色综合欧美狠狠 | 久久精品免费 | 永久免费av在线播放 | 国产精品一区二区三区电影 | 国产a网站 | 麻豆成人精品视频 | 黄色大片入口 | 夜夜视频| 欧美成人亚洲成人 | 久草综合视频 | 国产一级片直播 | 久久久久久久电影 | 国产黄免费看 | 国产成人精品福利 | 亚洲精品高清视频 | 91高清视频 | 人人爽人人插 | av在线h | 最近av在线 | 日日躁夜夜躁xxxxaaaa | 黄色软件在线观看免费 | 伊人在线视频 | 久久亚洲二区 | 久久伊人精品一区二区三区 | 欧美色图视频一区 | 操久在线 | 中文字幕在线一区二区三区 | 91视频高清免费 | 在线观看完整版 | 欧美激情在线看 | 国产夫妻自拍av | 欧美 亚洲 另类 激情 另类 | 久久看片 | 日韩av一区二区三区在线观看 | 国产成人av福利 | 综合影视 | 国产精品高潮呻吟久久久久 | 欧美精品久久 | 操处女逼| 99亚洲精品在线 | 在线国产激情视频 | 亚洲激情 欧美激情 | 国产手机免费视频 | 天天干,天天插 | 中文字幕一区二区三区四区视频 | 天天做天天爱天天爽综合网 | 国产91小视频 | 欧美一区二区伦理片 | av一区二区三区在线播放 | 天天色天天搞 | 日韩激情小视频 | 91成人网页版 | 国产精品九九视频 | 一区二区三区视频网站 | 亚洲国产精品久久 | 亚洲日韩欧美一区二区在线 | 久久亚洲免费 | 国产日韩精品一区二区 | 500部大龄熟乱视频 欧美日本三级 | 韩国精品视频在线观看 | av天天在线观看 | 亚洲在线成人精品 | 国产日产精品一区二区三区四区 | 国产中文字幕一区 | av免费观看高清 | 久草青青在线观看 | 91桃色国产在线播放 | av丝袜在线 | 99精彩视频在线观看免费 | 91九色国产视频 | 成人免费大片黄在线播放 | 黄网站污 | 91精品一区二区三区蜜桃 | 18国产精品白浆在线观看免费 | 国产又粗又硬又长又爽的视频 | 一区二区三区日韩视频在线观看 | 色综合五月| av千婊在线免费观看 | 欧美人体xx | 久久国产精品成人免费浪潮 | 天天综合在线观看 | 国产999精品久久久 免费a网站 | 日韩久久精品一区二区三区 | 狠狠做深爱婷婷综合一区 | 免费视频一区二区 | 国产免码va在线观看免费 | 日日干干夜夜 | 欧美俄罗斯性视频 | 国产视频一区二区在线播放 | 久久综合九色 | 国产免费人人看 | 天天射综合网站 | 国产99精品在线观看 | 精品久久毛片 | 五月婷婷影院 | 成人免费在线网 | 最近日本字幕mv免费观看在线 | 亚洲激情校园春色 | 亚洲国产美女精品久久久久∴ | 日本黄色片一区二区 | 人人澡人人澡人人 | 美女视频黄免费的 | 免费看精品久久片 | 天堂av在线中文在线 | 亚洲男男gaygayxxxgv | 亚洲国产免费 | 亚洲a资源| 97精品欧美91久久久久久 | 婷婷激情综合 | 久久精品一区八戒影视 | 成 人 黄 色 片 在线播放 | 午夜体验区 | 中文字幕一区二区三区在线播放 | 亚洲精品福利在线观看 | 成人一级在线观看 | 久草视频免费在线观看 | 婷婷综合久久 | 97中文字幕 | 久久精品视频国产 | 免费99精品国产自在在线 | 日日夜夜狠狠 | 91视频久久 | 亚洲码国产日韩欧美高潮在线播放 | 在线免费观看黄色小说 | 日韩精品免费在线观看 | 97在线观看免费高清 | 91视频在线免费看 | 深夜免费小视频 | 亚洲桃花综合 | 狂野欧美激情性xxxx欧美 | 久久精品国产一区二区三 | 久久综合一本 | 69精品视频在线观看 | 久久精品欧美一区 | 97视频人人澡人人爽 | 国产精品一区二区免费 | 久久综合久久88 | 最新av网站在线观看 | 狠狠躁夜夜a产精品视频 | 99久免费精品视频在线观看 | 九色视频网 | 狠狠干夜夜操 | 免费看一级黄色大全 | 国产专区在线播放 | 欧美成人a在线 | 久久 地址| 亚洲精品美女久久 | 成年人黄色大片在线 | 久久综合狠狠综合久久综合88 | 色婷婷综合久久久久 | 四虎在线永久免费观看 | 一区二区三区三区在线 | 久久精品国产免费观看 | 久久女教师 | 成人a级黄色片 | 精品av网站 | 美女在线国产 | 久久精品91久久久久久再现 | 日韩av免费网站 | 日本精品久久久久 | 激情综合网天天干 | 日韩夜夜爽| 国产精品12 | 中文字幕乱码在线播放 | 久久久影院一区二区三区 | 国产精品免费久久久久久久久久中文 | 精品99在线视频 | 91精品国产成人观看 | 狠狠色丁香婷婷综合橹88 | 91丝袜美腿| 在线观看亚洲成人 | 在线电影 你懂得 | 婷婷亚洲综合五月天小说 | 国内视频 | 日韩中文三级 | 日本中文字幕影院 | 国产精品s色 | 中国美女一级看片 | 手机av在线网站 | 欧美xxxxx在线视频 | 国产精品久久久久久av | 国产女人40精品一区毛片视频 | av在线直接看 | 手机看片久久 | 国产亚洲精品成人av久久ww | 精品国产电影一区 | 91av视频在线免费观看 | 国产一区国产精品 | 色福利网 | 国产第一二区 | 日日爱av| 亚洲国产mv | 天天操天天爱天天爽 | 亚洲精品乱码久久久久v最新版 | 免费色网站 | 91丨九色丨高潮丰满 | 日韩午夜精品 | 免费一级特黄毛大片 | 狠狠狠狠狠狠 | 国产欧美精品一区二区三区 | 国产精品亚洲精品 | 精选久久 | 激情久久综合 | 久久久精品福利视频 | 亚洲精品短视频 | 久久精品久久久久久久 | 午夜美女网站 | 色播五月婷婷 | 日韩免费| 插婷婷| 五月婷婷视频在线 | 免费看国产a | 日韩大片免费在线观看 | 精品乱码一区二区三四区 | 色网站黄 | 少妇高潮流白浆在线观看 | 麻豆视频在线免费观看 | 国产精品欧美日韩在线观看 | 一区二区三区www | 看毛片的网址 | 天天操天天色天天 | 色婷婷国产精品一区在线观看 | 在线免费日韩 | 性色va| 免费午夜视频在线观看 | 国产精品mm | 久久精品久久久久电影 | 91精品国产91热久久久做人人 | 久国产在线播放 | 亚洲免费a | 黄色三级视频片 | 黄网站app在线观看免费视频 | 热九九精品 | 久久精品导航 | 99视频导航 | 国产不卡片 | 成人国产一区二区 | 天天操天天插 | 人人澡澡人人 | 亚洲一区二区视频 | 丁香花五月 | 91福利区一区二区三区 | 国产精品视频资源 | 国产精品片 | 成人免费毛片aaaaaa片 | 国产精品久久久久aaaa九色 | 九色91视频 | 91在线视频播放 | 夜夜干天天操 | av高清在线观看 | 在线视频一区观看 | 超级碰碰碰免费视频 | 手机看片福利 | 激情狠狠干| 日韩视频一区二区三区 | 国产精品成人一区二区三区吃奶 | 亚洲精品久久久久久中文传媒 | 热久久免费国产视频 | 国产手机在线观看视频 | 五月婷婷狠狠 | 又黄又爽的视频在线观看网站 | 日韩18p| 四虎小视频 | 成人福利在线播放 | 91九色视频国产 | 91亚洲精| 亚洲激情视频 | 欧美日韩国产精品一区二区亚洲 | 国产黑丝一区二区 | 人人人爽| 天天操天天操天天 | 日日草夜夜操 | 国产亚洲婷婷免费 | 91精品啪啪 | 亚洲欧美在线观看视频 | 日本丶国产丶欧美色综合 | 91精品无人成人www | 色多多视频在线观看 | 国产精品扒开做爽爽的视频 | 亚洲亚洲精品在线观看 | 亚洲精品男人天堂 | 欧美日韩国产精品爽爽 | 2018亚洲男人天堂 | 国产成人av免费在线观看 | 激情av综合 | 精品99免费视频 | 亚洲精品免费视频 | 久久精品综合视频 | 波多野结衣精品视频 | 97av精品| 国产精品精品视频 | 五月天婷婷在线播放 | www.国产高清 | 一区二区三区在线观看免费视频 | 激情开心站 | 亚洲综合爱 | 欧美人体xx | 亚洲国产成人在线播放 | 国产91九色蝌蚪 | 久久综合久久久久88 | 国产小视频在线免费观看视频 | 成人羞羞免费 | 国产手机av在线 | 99热在线网站 | 国产精品久久久久影院日本 | 久久亚洲在线 | 欧美精品中文在线免费观看 | 最近中文字幕mv | 亚洲精品色婷婷 | 国产美女精品视频 | 91精品爽啪蜜夜国产在线播放 | 在线观看黄色国产 | 色香网 | 国产成人精品一区二 | 午夜久久久久久久久久久 | 国产精品久久久久久久久久白浆 | 99国产视频在线 | 99在线热播精品免费99热 | 日韩av中文字幕在线免费观看 | 久久久久久黄色 | 色综合久 | 久久精品这里热有精品 | 波多野结衣电影一区二区三区 | 日韩av中文字幕在线 | 久久美女免费视频 | 亚洲天天在线日亚洲洲精 | 国产成人三级三级三级97 | 免费观看国产视频 | 日韩一区二区三免费高清在线观看 | 日韩最新理论电影 | 丝袜美女在线 | 在线性视频日韩欧美 | 日韩精品在线免费观看 | 操操综合 | 国产精品99久久久精品 | 亚洲国产色一区 | 亚洲欧美视频在线观看 | 国产69精品久久99不卡的观看体验 | 99r在线播放| 综合网色 | 天天激情在线 | 日韩激情视频 | 国产午夜精品理论片在线 | 成人免费看视频 | 在线亚洲午夜片av大片 | 久久亚洲私人国产精品 | 伊人伊成久久人综合网小说 | 精品一区二区在线免费观看 | 久草久草在线观看 | 国产a国产 | 超碰97.com | 中文字幕亚洲精品在线观看 | 91精品啪啪 | 亚洲第二色| 日日干天天 | 一区二区在线电影 | av午夜电影| 91丨九色丨国产在线观看 | 色吊丝在线永久观看最新版本 | 99精品国自产在线 | 狠狠色狠狠色终合网 | 91丨九色丨91啦蝌蚪老版 | 免费看毛片在线 | 视频国产在线观看18 | 成人一级免费电影 | 国产精品美女久久久久久久久久久 | 中文在线免费一区三区 | 狠狠操狠狠干天天操 | 国产精品永久免费观看 | 在线观看黄av | 亚洲一区久久久 | 日日操天天射 | 成人国产精品一区 | 日韩av伦理片 | 在线免费观看麻豆 | 亚洲精品视频免费观看 | 国产精品久久久久久久久久久免费看 | 一区二区av| 久久爱导航 | 日韩视频 一区 | 欧美在线视频免费 | 日韩在线免费视频观看 | 国产污视频在线观看 | 欧美精品一区二区免费 | 欧美怡红院视频 | 日本在线精品视频 | 国产资源在线免费观看 | 99热在线看 | 四虎免费av | 91精品在线免费观看 | 国产精品久久久久久欧美 | 狠狠干狠狠艹 | 狠狠色丁香九九婷婷综合五月 | 天天色天天骑天天射 | 亚洲黄网址 | 国产黄色av网站 | av在线影片 | www.色国产| 日韩高清观看 | 日韩中文字幕亚洲一区二区va在线 | 黄色av观看| 精品免费国产一区二区三区四区 | 久久电影中文字幕视频 | 人成午夜视频 | av资源在线看 | 五月天综合网站 | 又爽又黄又无遮挡网站动态图 | 日本激情视频中文字幕 | 国产91精品一区二区麻豆亚洲 | 欧美精品中文在线免费观看 | 亚洲精品免费在线观看视频 | 99久久精品国产免费看不卡 | 中文字幕一区二区三区久久 | 国产午夜精品一区二区三区欧美 | 99中文在线| 国产激情电影综合在线看 | 日韩中文字幕免费电影 | 久久久久久综合 | 亚洲精品视频在线播放 | 91香蕉国产在线观看软件 | 一区二区视频网站 | 久久国产热 | 久久中文网 | 久久综合国产伦精品免费 | 成人黄色在线视频 | 国产午夜在线观看视频 | 色中文字幕在线观看 | 亚洲久草网 | 天天艹| 久久精品亚洲综合专区 | 青青河边草观看完整版高清 | 午夜精品久久久久 | 久久曰视频 | 又色又爽又黄 | 亚洲视频久久久 | 中国一区二区视频 | 免费观看国产成人 | 国产资源网站 | 亚洲成人av在线电影 | 亚洲国产精品va在线看黑人动漫 | 久久精品视频网址 | 亚洲色五月 | 九九视频免费在线观看 | 91私密视频 | 特级西西444www大胆高清无视频 | 99精品国产高清在线观看 | 日韩中文久久 | 精品久久久久久电影 | 蜜臀久久99静品久久久久久 | 在线a亚洲视频播放在线观看 | 天天射射天天 | 人人澡人人添人人爽一区二区 | 国产黄色理论片 | 久久只有精品 | 91成人精品一区在线播放 | 99视频一区| 亚洲国产精品传媒在线观看 | 久久精品99国产精品酒店日本 | 日日狠狠 | 国产成人免费观看久久久 | 国产精品爽爽久久久久久蜜臀 | 色91在线视频 | 欧美精品久久久久久久亚洲调教 | 精品美女在线视频 | 国产中文字幕在线观看 | 成年人免费观看在线视频 | 欧美精品成人在线 | 国产私拍在线 | 日日干夜夜操视频 | 欧美日韩亚洲第一页 | 久久综合色播五月 | 日韩精品亚洲专区在线观看 | 亚洲视频电影在线 | 国产分类视频 | 丁香久久久 | 日日夜夜天天久久 | 国产精品成人在线 | 国产美女搞久久 | 在线免费试看 | 一级黄色av | 亚洲精品黄色在线观看 | 国产视频一级 | 男女啪啪免费网站 | 日韩av一区二区三区四区 | 亚洲综合在线五月天 | www.色婷婷.com| 国产成人一区二区啪在线观看 | 国产精品免费久久久久久 | 国产理论一区二区三区 | 一区二区三区在线免费观看 | 四虎永久免费网站 | 最近能播放的中文字幕 | 91在线免费视频观看 | 色先锋av资源中文字幕 | 日日夜夜艹 | 日韩久久久久久久久久久久 | 91亚色视频在线观看 | 亚洲欧洲在线视频 | 91久久精品日日躁夜夜躁国产 | 中文字幕在线播放一区二区 | 悠悠av资源片 | 日本夜夜草视频网站 | 国产日韩精品在线观看 | 黄色影院在线播放 | 久久成电影 | 国产午夜精品理论片在线 | 中文字幕一二 | 激情视频网页 | 黄色免费国产 | 国产一级黄色片免费看 | 国产精品久久久免费看 | 国产一级免费在线观看 | 九九热只有这里有精品 | 激情综合五月 | 国产乱视频 | 国产精品一区二区久久久 | 欧洲精品一区二区 | 色资源在线 | 99视频精品免费视频 | 精品一区二区av | 欧美在线aaa| 久久久久久久久网站 | 久久99国产精品免费 | 免费中文字幕在线观看 | 成人午夜电影网站 | 国产精品区二区三区日本 | 天天操天天艹 | 欧洲精品视频一区 | 国产精品嫩草在线 | 中文字幕国内精品 | 1区2区视频| 婷婷色综 | 日韩电影中文字幕在线 | 亚洲精品国产精品国自产 | 免费裸体视频网 | 毛片激情永久免费 | 五月天天色 | 正在播放国产一区 | 午夜精品久久久久久久99水蜜桃 | av中文在线观看 | 国产精品日韩欧美 | 91精品国产91p65 | 91丨九色丨国产在线观看 | 亚洲精品欧洲精品 | 免费日韩视 | av成人在线播放 | 丁香六月在线 | 在线观看中文字幕dvd播放 | 国产超碰97| 精品亚洲欧美一区 | 狠狠躁夜夜躁人人爽超碰91 | 中文字幕一区二区三区四区在线视频 | 黄色avwww | 久黄色 | 一区二区欧美激情 | 国产精品久久久久毛片大屁完整版 | 91视频免费看片 | 色吊丝av中文字幕 | 国产三级香港三韩国三级 | 日韩最新av在线 | 91av手机在线| 国产精品亚洲片在线播放 | 深爱五月激情五月 | 免费一级毛毛片 | 激情图片区 | 久久99精品一区二区三区三区 | 欧美成人91| 国产精品一区二区麻豆 | 国产一区二区精品久久91 | 精品视频网站 | 欧美日韩国产一二三区 | 久久久精品久久日韩一区综合 | 精品一区二区久久久久久久网站 | 精品一区二区电影 | av福利网址导航大全 | 日韩欧美精品一区二区三区经典 | 精品无人国产偷自产在线 | 黄色电影网站在线观看 | 久久女同性恋中文字幕 | 免费高清在线观看成人 | 99久久爱 | 精品女同一区二区三区在线观看 | 亚洲 中文 欧美 日韩vr 在线 | 91福利区一区二区三区 | 国产成人一区二区啪在线观看 | 成人a视频片观看免费 | 国产精品二区三区 | 欧美视频日韩 | 青青河边草观看完整版高清 | 日本韩国精品一区二区在线观看 | 午夜性生活 | 国产剧情一区二区在线观看 | 亚洲一级在线观看 | www一起操 | 黄色毛片视频免费观看中文 | 久久不见久久见免费影院 | 日本性生活免费看 | 菠萝菠萝蜜在线播放 | 欧美性粗大hdvideo | 成人在线播放av | av在线进入 | 天天操天天艹 | 黄p在线播放 | 久久99电影 | 亚洲精品大全 | 黄色大片免费播放 | 国产精品一区专区欧美日韩 | 激情综合色综合久久 | 亚洲成人免费在线 | 天天干天天干天天干 | 在线观看精品视频 | 在线视频 影院 | 成人国产精品一区二区 | 97在线视频免费看 | 在线观看精品视频 | 日本乱码在线 | 夜夜干天天操 | 天天综合亚洲 | 国产精品久久一 | 免费日韩 精品中文字幕视频在线 | 欧美a级一区二区 | 日韩在线视频观看 | 91精品一| 欧美日韩亚洲国产一区 | 99精品欧美一区二区 | 人人干在线 | 亚洲专区中文字幕 | 国产亚洲精品成人av久久ww | 欧美日韩免费一区二区 | 蜜桃视频成人在线观看 | 国产日韩欧美视频在线观看 | 91自拍视频在线 | 国产精品视频内 | 婷婷久草 | 射射射av| 亚洲日韩中文字幕在线播放 | 福利电影一区二区 | 91日韩精品一区 | 99久久精品国产一区二区三区 | 国产第页 | 日韩免费看片 | 中文字幕日韩有码 | 久久国产精品一国产精品 | 天天摸日日摸人人看 | 成人永久在线 | 在线免费日韩 | 超碰在线观看99 | 亚洲国产精品va在线 | 91久久精品一区二区三区 | 国产欧美日韩精品一区二区免费 | 欧洲一区二区三区精品 | 69精品在线观看 | 国产精品视频观看 | 三级av在线播放 | 黄色毛片视频免费观看中文 | 中文字幕二区三区 | 五月天激情综合 | 丁香久久综合 | 视频在线观看国产 | 日韩久久精品一区二区三区 | 深夜免费福利网站 | 玖玖在线播放 | 国产精品正在播放 | 91福利视频免费 | 日本三级不卡视频 | 国产精品 中文字幕 亚洲 欧美 | 在线影视 一区 二区 三区 | 97精品国产97久久久久久 | 97精品国产| 欧美激情精品一区 | 国产剧情在线一区 | 天天操天天干天天玩 |