package com.rbac.console.controller; import java.text.ParseException; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import com.rbac.console.dao.ConsoleUserMapper; import com.rbac.console.entity.*; import com.rbac.console.service.ConsoleUserRoleService; import com.rbac.console.service.ConsoleUserService; import com.rbac.console.service.ConsoleRoleService; import com.rbac.console.util.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; @Controller @RequestMapping("/superadmin/ConsoleUser") public class ConsoleUserController { @Autowired private ConsoleUserRoleService CosoleUserRoleService; @Autowired private ConsoleRoleService ConsoleRoleService; @Autowired private ConsoleUserService consoleUserService; @Autowired private ConsoleUserMapper ConsoleUserdao; @RequestMapping("/getAllConsoleUser") // 查找用户 public ModelAndView getAllConsoleUser(HttpServletRequest request)throws ParseException { int pageNum = 1; if (!StringUtils.isNull(request.getParameter("pageNum"))) { pageNum = Integer.parseInt(request.getParameter("pageNum")); } int index = 0; if (!StringUtils.isNull(request.getParameter("index"))) { index = Integer.parseInt(request.getParameter("class")); } int pageSize = 10; if (!StringUtils.isNull(request.getParameter("pageSize"))) { pageSize = Integer.parseInt(request.getParameter("pageSize")); } String searchWord = request.getParameter("searchWord"); String searchType = request.getParameter("searchType"); String userState = "2"; if ("0".equals(request.getParameter("userState")) || "1".equals(request.getParameter("userState"))) { userState = request.getParameter("userState"); } String order = "id desc"; ModelAndView modelAndView = new ModelAndView(); if (userState.equals("0")) { modelAndView.setViewName("consoleuser/console_user_stopuse"); } else { modelAndView.setViewName("consoleuser/console_user_list"); } // 处理底部分页显示 Map<String, Object> params = new HashMap<String, Object>(); params.put("searchWord", searchWord); if("username".equals(searchType)){ params.put("searchType", "1"); }else if("usertruename".equals(searchType)){ params.put("searchType", "0"); }else{ params.put("searchType", "2"); } params.put("userState", userState); PageResultAll<ConsoleUser> pageConsoleUser = consoleUserService.getAllConsoleUsers(pageNum, pageSize, order, params); List<ConsoleUser> ConsoleUserList = pageConsoleUser.getResult(); for(int i=0;i<ConsoleUserList.size();i++){ String roleList = ""; List<ConsoleUserRole> ConsoleUserRoleList = CosoleUserRoleService.getConsoleUserRoleByUserId(ConsoleUserList.get(i).getId()); for(int y=0;y<ConsoleUserRoleList.size();y++){ roleList += ConsoleUserRoleList.get(y).getRoleName(); if(y != (ConsoleUserRoleList.size()-1)){ roleList += ","; } } if(roleList != ""){ ConsoleUserList.get(i).setUserParm2(roleList); } } int pageCount = 0;// 总页数 Long pageTotal = pageConsoleUser.getTotal(); if (pageTotal / pageSize == 0) { pageCount = (int) (pageTotal / pageSize); } else { pageCount = (int) (pageTotal / pageSize) + 1; } modelAndView.addObject("userList", ConsoleUserList); modelAndView.addObject("pageNum", pageNum);// 当前页 modelAndView.addObject("pageCount", pageCount);// 总页数 modelAndView.addObject("pageTotal", pageTotal);// 总条数 modelAndView.addObject("pageSize", pageSize);// 每页的条数 modelAndView.addObject("searchWord", searchWord); modelAndView.addObject("searchType", searchType); modelAndView.addObject("userState", userState); return modelAndView; } @RequestMapping("/getConsoleUserById") // 通过id查找用户 public ModelAndView getConsoleUserById(HttpServletRequest request) { int userId = Integer.parseInt(request.getParameter("userId")); ConsoleUser user = consoleUserService.getUserById(userId); List<ConsoleUserRole> list = CosoleUserRoleService.getConsoleUserRoleByUserId(userId); int[] userRole = new int[list.size()]; for (int i = 0; i < list.size(); i++) { userRole[i] = list.get(i).getRoleId(); } ConsoleRoleExample example = new ConsoleRoleExample(); example.createCriteria(); List<ConsoleRole> roleList = ConsoleRoleService.getAllConsoleRole(example); ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("consoleuser/console_user_detail"); if (list.size() > 0) { modelAndView.addObject("userRole", userRole); } modelAndView.addObject("roleList", roleList); modelAndView.addObject("user", user); return modelAndView; } @RequestMapping("/getEditConsoleUserById") // 通过id修改用户 public ModelAndView editConsoleUserById(HttpServletRequest request) { int userId = Integer.parseInt(request.getParameter("userId")); ConsoleUser user = consoleUserService.getUserById(userId); List<ConsoleUserRole> list = CosoleUserRoleService .getConsoleUserRoleByUserId(userId); int[] userRole = new int[list.size()]; for (int i = 0; i < list.size(); i++) { userRole[i] = list.get(i).getRoleId(); } ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("consoleuser/console_user_edit"); ConsoleRoleExample example = new ConsoleRoleExample(); example.createCriteria(); List<ConsoleRole> roleList = ConsoleRoleService.getAllConsoleRole(example); modelAndView.addObject("roleList", roleList); if (list.size() > 0) { modelAndView.addObject("userRole", userRole); } modelAndView.addObject("user", user); return modelAndView; } // 修改用户信息 @RequestMapping("/updateConsoleUserById") @ResponseBody public int updateConsoleUserById(HttpServletRequest request) throws Exception { long startTime = System.currentTimeMillis(); request.setCharacterEncoding("UTF-8"); int status = 0; int id = Integer.parseInt(request.getParameter("userid")); String userRoleId = request.getParameter("roleIds"); int result = 0; if (userRoleId.length() > 0) { result = CosoleUserRoleService.updateConsoleUserRole(id, userRoleId); } String trueName = request.getParameter("trueName"); String telephone = request.getParameter("telephone"); String mobile = request.getParameter("mobile"); String email = request.getParameter("email"); int userStatus = Integer.parseInt(request.getParameter("userStatus")); ConsoleUser ConsoleUser = new ConsoleUser(); ConsoleUser.setId(id); ConsoleUser.setTruename(trueName); ConsoleUser.setMobile(mobile); ConsoleUser.setTelephone(telephone); ConsoleUser.setUserStatus(userStatus); ConsoleUser.setUserEmail(email); status = consoleUserService.updateCosoleUserByConsoleUser(ConsoleUser); boolean flag = false; // define opear result int al = 0; if (userRoleId.length() > 0 && status == 1 && result == 1) { al = 1; flag = true; } else if (userRoleId.length() <= 0 && status == 1) { al = 1; flag = true; } else { al = 0; } return al; } // 处理添加用户请求 @RequestMapping("/toAddConsoleUser") public ModelAndView toAddConsoleUser() { ConsoleRoleExample example = new ConsoleRoleExample(); example.createCriteria(); List<ConsoleRole> list = ConsoleRoleService.getAllConsoleRole(example); ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("roleList", list); modelAndView.setViewName("consoleuser/console_user_add"); return modelAndView; } @RequestMapping("/addConsoleUser") @ResponseBody // 添加用户 public int addConsoleUser(HttpServletRequest request) throws Exception { long startTime = System.currentTimeMillis(); request.setCharacterEncoding("UTF-8"); String username = ""; username = request.getParameter("userName");// 用户名称 String passWord = PasswordUtil.encrypt("123456"); String mobile = request.getParameter("mobil"); String userEmail = request.getParameter("userEmail"); String userSex = request.getParameter("userSex"); String trueName = request.getParameter("trueName"); String userTel = request.getParameter("userTel"); // 绑定的角色id数组 String roleIds = request.getParameter("roleIds"); ConsoleUserExample ConsoleUserExample = new ConsoleUserExample(); ConsoleUserExample.createCriteria().andUsernameEqualTo(username); List<ConsoleUser> example = ConsoleUserdao .selectByExample(ConsoleUserExample); if (example != null && example.size() > 0) { return -1;// 用户已存在 } ConsoleUser ConsoleUser = new ConsoleUser(); ConsoleUser.setUsername(username); ConsoleUser.setPassword(passWord); ConsoleUser.setMobile(mobile); ConsoleUser.setTelephone(userTel); ConsoleUser.setUserStatus(1); ConsoleUser.setUserCreattime(new Date()); ConsoleUser.setUserSex(userSex); ConsoleUser.setTruename(trueName); ConsoleUser.setUserEmail(userEmail); int insert = ConsoleUserdao.insert(ConsoleUser); // 创建新用户完成 // 查看userid, ConsoleUserExample exam = new ConsoleUserExample(); exam.createCriteria().andUsernameEqualTo(username); List<ConsoleUser> list = ConsoleUserdao.selectByExample(exam); int userId = list.get(0).getId(); int result = CosoleUserRoleService.addConsoleUserRole(userId,roleIds); boolean flag = false; // define opear result if (1 == insert && 1 == result) { return 1; } else { return 0; } } @RequestMapping("/updatePwdByUserIds") @ResponseBody // 批量修改密码 public int updatePwdByUserIds(HttpServletRequest request) throws Exception { long startTime = System.currentTimeMillis(); int nRows = 0; String _sUserIds = request.getParameter("userIds"); String passWord = request.getParameter("passWord"); nRows = consoleUserService.updatePwdByUserIds(_sUserIds, passWord); boolean flag = false; // define opear result if (nRows != 0) flag = true; return nRows; } // 批量修改状态 @RequestMapping("/updateConsoleUserStatusByUserids") @ResponseBody public int updateConsoleUserStatusByuserids(HttpServletRequest request) { long startTime = System.currentTimeMillis(); int nRows = 0; String _sUserIds = request.getParameter("userIds"); // String type=request.getParameter("type"); if (!StringUtils.isNull(_sUserIds)) { nRows = consoleUserService.updateConsoleUserStatusByUserId(_sUserIds); boolean flag = false; // define opear result if (nRows != 0) flag = true; } return nRows; } // 打开修改密码界面 @RequestMapping("/getConsoleUserByIds") // (remark="批量得到用户主键") public ModelAndView getConsoleUserByIds(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView(); String userIds = request.getParameter("userIds"); modelAndView.addObject("userIds", userIds); modelAndView.setViewName("consoleuser/console_user_pwd_edit"); return modelAndView; } @SuppressWarnings("unused") @RequestMapping("/deleteConsoleUserByUserids") @ResponseBody public int deleteConsoleUserByUserids(HttpServletRequest request) { long startTime = System.currentTimeMillis(); int nRows = 0; String _sUserIds = request.getParameter("userIds"); String type = request.getParameter("type"); if (!StringUtils.isNull(_sUserIds)) { nRows = consoleUserService.deleteConsoleUserUserIds(_sUserIds); boolean flag = false; // define opear result if (nRows != 0) flag = true; } return nRows; } // 批量修改状态 @RequestMapping("/startConsoleUserStatusByUserids") @ResponseBody public int startConsoleUserStatusByuserids(HttpServletRequest request) { long startTime = System.currentTimeMillis(); int nRows = 0; String _sUserIds = request.getParameter("userIds"); // String type=request.getParameter("type"); if (!StringUtils.isNull(_sUserIds)) { nRows = consoleUserService.startConsoleUserUserIds(_sUserIds); } boolean flag = false; // define opear result if (nRows != 0) flag = true; return nRows; } @RequestMapping(value = "/getDatagrid", method = RequestMethod.GET) // (remark="GET请求URL跳转") public String getDatagrid(HttpServletRequest request) { String url = request.getParameter("url"); return "" + url; } @RequestMapping("/toUpdatePassWord") public ModelAndView toUpdatePassWord(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("updatePassWord/inputOldPassWord"); return modelAndView; } @RequestMapping("/toInputNewPassWord") public ModelAndView toInputNewPassWord(HttpServletRequest request) { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("updatePassWord/inputNewPassWord"); return modelAndView; } @RequestMapping("/checkOldPassWord") @ResponseBody public int checkOldPassWord(HttpServletRequest request) { String oldPassWord = request.getParameter("oldPassWord"); SessionInfo sessionInfo = SessionHelper .getAdminSessionInfo(request); int result = 1; if(!oldPassWord.equals(sessionInfo.getConsoleUser().getPassword())){//输入密码错误 result = -1; } return result; } @RequestMapping("/updatePassWord") @ResponseBody public int updatePassWord(HttpServletRequest request) throws Exception { request.setCharacterEncoding("UTF-8"); long startTime = System.currentTimeMillis(); boolean flag = false; SessionInfo sessionInfo = SessionHelper.getAdminSessionInfo(request); String _oldPassword = sessionInfo.getConsoleUser().getPassword();//用户旧密码 String username = sessionInfo.getConsoleUser().getUsername();//用户名 ConsoleUser userinfo=consoleUserService.getUserById(sessionInfo.getConsoleUser().getId()); int ret = 0; String oldPasswordEn = ""; String newPasswordEn = ""; String aginNewPasswordEn = ""; String oldPassword = request.getParameter("oldPassword"); String newPassword = request.getParameter("newPassword"); String aginNewPassword = request.getParameter("aginNewPassword"); try { oldPasswordEn = oldPassword; newPasswordEn = newPassword; aginNewPasswordEn = aginNewPassword; } catch (Exception e) { ret = -3; } if(oldPassword.length()>16||oldPassword.length()<8||newPassword.length()>16||aginNewPassword.length()>16||newPassword.length()<8||aginNewPassword.length()<8){ ret = -6; } if(!_oldPassword.equals(oldPasswordEn)){//旧密码输入错误 ret = -1; } if(!newPasswordEn.equals(aginNewPasswordEn)){//两次输入的密码不同 ret = -2; } if(_oldPassword.equals(newPasswordEn)||_oldPassword.equals(aginNewPasswordEn)){ ret = -4; } if(username.equals(newPassword)||username.equals(aginNewPassword)){ ret = -5; } if(ret == 0){ userinfo.setPassword(newPasswordEn); flag = consoleUserService.updateCosoleUserByConsoleUser(userinfo)>0?true:false; if(flag){ ret = 1; }else{ ret = 0; } } long endTime = System.currentTimeMillis(); return ret; } @RequestMapping("/adminUserInfo") public ModelAndView adminUserInfo(HttpServletRequest request){ SessionInfo sessionInfo = SessionHelper.getAdminSessionInfo(request); ModelAndView modelAndView = new ModelAndView(); ConsoleUser user = consoleUserService.getUserById(sessionInfo.getConsoleUser().getId()); modelAndView.addObject("user", user); modelAndView.setViewName("consoleuser/admin_user_info"); return modelAndView; } }