@GET @Path("/roleTree") public ExtJSResponse loadTree(final @QueryParam("userId") int userId) { // 先获取所有的权限信息 RoleExample roleExample = new RoleExample(); roleExample.createCriteria().andStatusEqualTo(Status.NORMAL.getCode()); List<Role> roleList = roleMapper.selectByExample(roleExample); List<TreeNode> treeNodeList = new ArrayList<TreeNode>(); for (Role role : roleList) { TreeNode roleTree = new TreeNode(); roleTree.setId(role.getRoleId()); roleTree.setText(role.getRoleName()); roleTree.setLeaf(true); roleTree.setChecked(false); roleTree.setChildren(null); treeNodeList.add(roleTree); } // 如果userId!=0 表示此时的操作是edit 将用户原有权限的checked置为true if (userId != 0) { UserRoleExample userRoleExample = new UserRoleExample(); userRoleExample.createCriteria().andUserIdEqualTo(userId); List<UserRole> userRoleList = userRoleMapper.selectByExample(userRoleExample); for (UserRole userRole : userRoleList) { for (TreeNode roleTree : treeNodeList) { if (userRole.getRoleId().compareTo(roleTree.getId()) == 0) { roleTree.setChecked(true); } } } return ExtJSResponse.successResWithData(treeNodeList); } return ExtJSResponse.successResWithData(treeNodeList); }
@POST @Path("/add") @Auth(resourceCode = "10010") @DescriptionAuth(description = "新增用户", module = "用户管理") public ExtJSResponse add(User user) { if (user == null) { logger.error("新增用户出错,用户信息为空!"); return ExtJSResponse.errorRes("新增用户出错,用户信息为空!"); } // 通过login_name查出已注册的用户,确保login_name的唯一性 UserExample example = new UserExample(); example.createCriteria().andLoginNameEqualTo(user.getLoginName()).andStatusGreaterThan(0); List<User> list = userMapper.selectByExample(example); if (list != null && !list.isEmpty()) { return ExtJSResponse.errorRes("用户名已存在,请重新输入!"); } Integer currentUserId = SysContent.getUser().getId(); user.setCreator(currentUserId); user.setModifier(currentUserId); // user.setPassword(MD5.md5(user.getPassword())); user.setStatus(Status.NORMAL.getCode()); userMapper.insert(user); List<Integer> roleList = user.getRoleList(); if (roleList == null || roleList.isEmpty()) { return ExtJSResponse.successRes(); } List<UserRole> userRoleList = new ArrayList<UserRole>(roleList.size()); for (Integer roleId : roleList) { UserRole userRole = new UserRole(); userRole.setUserId(user.getId()); userRole.setRoleId(roleId); userRole.setCreator(currentUserId); userRoleList.add(userRole); } userRoleMapper.insertBatch(userRoleList); return ExtJSResponse.successRes(); }
@POST @Path("/edit") @Auth(resourceCode = "10012") @DescriptionAuth(description = "修改用户", module = "用户管理") public ExtJSResponse edit(User user) { System.out.println("修改用户"); if (user == null || user.getId() == null) { logger.error("修改用户出错,用户信息为空!"); return ExtJSResponse.errorRes("新增用户出错,用户信息为空!"); } Integer currentUserId = SysContent.getUser().getId(); user.setModifier(currentUserId); user.setPassword(MD5.md5(user.getPassword())); userMapper.updateByPrimaryKeySelective(user); UserRoleExample userRoleExample = new UserRoleExample(); userRoleExample.createCriteria().andUserIdEqualTo(user.getId()); List<UserRole> userRoleList = userRoleMapper.selectByExample(userRoleExample); // 批量插入 if (userRoleList.size() > 0) { userRoleHisMapper.insertBatch(userRoleList); } userRoleMapper.deleteByExample(userRoleExample); List<Integer> roleList = user.getRoleList(); if (roleList == null || roleList.isEmpty()) { return ExtJSResponse.successRes(); } userRoleList = new ArrayList<UserRole>(roleList.size()); for (Integer roleId : roleList) { UserRole userRole = new UserRole(); userRole.setUserId(user.getId()); userRole.setRoleId(roleId); userRole.setCreator(currentUserId); userRoleList.add(userRole); } userRoleMapper.insertBatch(userRoleList); return ExtJSResponse.successRes(); }