From 7c6ff5de779476a50c26182d9c5075cf7b3a2394 Mon Sep 17 00:00:00 2001 From: linzhijie <19970921lzj> Date: 星期一, 16 八月 2021 16:29:41 +0800 Subject: [PATCH] 1、事中提示语权限开关优化 2、分配用户搜索优化 --- src/main/java/com/ots/project/system/user/controller/UserController.java | 38 +++++++++--- src/main/java/com/ots/project/system/user/mapper/UserMapper.java | 4 + src/main/java/com/ots/project/system/role/mapper/RoleMapper.java | 4 + src/main/java/com/ots/project/system/user/service/IUserService.java | 3 + src/main/java/com/ots/project/system/user/mapper/UserRoleMapper.java | 2 src/main/java/com/ots/project/system/user/service/UserServiceImpl.java | 108 ++++++++++++++++++++++++------------ 6 files changed, 114 insertions(+), 45 deletions(-) diff --git a/src/main/java/com/ots/project/system/role/mapper/RoleMapper.java b/src/main/java/com/ots/project/system/role/mapper/RoleMapper.java index 44f5764..2fff5db 100644 --- a/src/main/java/com/ots/project/system/role/mapper/RoleMapper.java +++ b/src/main/java/com/ots/project/system/role/mapper/RoleMapper.java @@ -1,5 +1,7 @@ package com.ots.project.system.role.mapper; import com.ots.project.system.role.domain.Role; +import org.apache.ibatis.annotations.Param; + import java.util.List; public interface RoleMapper { @@ -21,4 +23,6 @@ public Role checkRoleNameUnique(String roleName); public Role checkRoleKeyUnique(String roleKey); + + Role selectByRoleKey(@Param("roleKey")String roleKey); } diff --git a/src/main/java/com/ots/project/system/user/controller/UserController.java b/src/main/java/com/ots/project/system/user/controller/UserController.java index 19ece51..e8cbe44 100644 --- a/src/main/java/com/ots/project/system/user/controller/UserController.java +++ b/src/main/java/com/ots/project/system/user/controller/UserController.java @@ -1,4 +1,5 @@ package com.ots.project.system.user.controller; + import com.ots.common.constant.UserConstants; import com.ots.common.enums.UserTypeEnum; import com.ots.common.utils.StringUtils; @@ -20,6 +21,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; + import java.util.List; @Controller @@ -32,25 +34,29 @@ private IRoleService roleService; @Autowired private IPostService postService; + @RequiresPermissions("system:user:view") @GetMapping() public String user() { return prefix + "/user"; } + @RequiresPermissions("system:user:manager:view") @GetMapping("/manager") public String manager() { return prefix + "/usermanager"; } + @RequiresPermissions("system:user:list") @PostMapping("/list") @ResponseBody public TableDataInfo list(User user) { startPage(); - user.setUserType(UserTypeEnum.SYS_USER.getUserType()); + user.setUserType(UserTypeEnum.SYS_USER.getUserType()); List<User> list = userService.selectUserList(user); return getDataTable(list); } + @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.EXPORT) @RequiresPermissions("system:user:export") @PostMapping("/export") @@ -60,6 +66,7 @@ ExcelUtil<User> util = new ExcelUtil<User>(User.class); return util.exportExcel(list, "鐢ㄦ埛鏁版嵁"); } + @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.IMPORT) @RequiresPermissions("system:user:import") @PostMapping("/importData") @@ -70,6 +77,7 @@ String message = userService.importUser(userList, updateSupport); return AjaxResult.success(message); } + @RequiresPermissions("system:user:view") @GetMapping("/importTemplate") @ResponseBody @@ -77,14 +85,14 @@ ExcelUtil<User> util = new ExcelUtil<User>(User.class); return util.importTemplateExcel("鐢ㄦ埛鏁版嵁"); } - + @GetMapping("/add") public String add(ModelMap mmap) { mmap.put("roles", roleService.selectRoleAll()); mmap.put("posts", postService.selectPostAll()); return prefix + "/add"; } - + @RequiresPermissions("system:user:add") @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.INSERT) @PostMapping("/add") @@ -99,7 +107,7 @@ } return toAjax(userService.insertUser(user)); } - + @GetMapping("/edit/{userId}") public String edit(@PathVariable("userId") Long userId, ModelMap mmap) { mmap.put("user", userService.selectUserById(userId)); @@ -107,7 +115,7 @@ mmap.put("posts", postService.selectPostsByUserId(userId)); return prefix + "/edit"; } - + @RequiresPermissions("system:user:edit") @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.UPDATE) @PostMapping("/edit") @@ -122,6 +130,7 @@ } return toAjax(userService.updateUser(user)); } + @RequiresPermissions("system:user:resetPwd") @Log(title = "閲嶇疆瀵嗙爜", businessType = BusinessType.UPDATE) @GetMapping("/resetPwd/{userId}") @@ -129,6 +138,7 @@ mmap.put("user", userService.selectUserById(userId)); return prefix + "/resetPwd"; } + @RequiresPermissions("system:user:resetPwd") @Log(title = "閲嶇疆瀵嗙爜", businessType = BusinessType.UPDATE) @PostMapping("/resetPwd") @@ -142,6 +152,7 @@ } return error(); } + @RequiresPermissions("system:user:remove") @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.DELETE) @PostMapping("/remove") @@ -153,25 +164,25 @@ return error(e.getMessage()); } } - + @PostMapping("/checkLoginNameUnique") @ResponseBody public String checkLoginNameUnique(User user) { return userService.checkLoginNameUnique(user.getLoginName()); } - + @PostMapping("/checkPhoneUnique") @ResponseBody public String checkPhoneUnique(User user) { return userService.checkPhoneUnique(user); } - + @PostMapping("/checkEmailUnique") @ResponseBody public String checkEmailUnique(User user) { return userService.checkEmailUnique(user); } - + @Log(title = "鐢ㄦ埛绠$悊", businessType = BusinessType.UPDATE) @RequiresPermissions("system:user:edit") @PostMapping("/changeStatus") @@ -179,4 +190,13 @@ public AjaxResult changeStatus(User user) { return toAjax(userService.changeStatus(user)); } + + @Log(title = "浜嬩腑鎻愮ず璇巿鏉�", businessType = BusinessType.UPDATE) + @RequiresPermissions("system:user:hint:auth") + @GetMapping("/changeHintStatus") + @ResponseBody + public AjaxResult changeHintStatus(String userId,Integer type) { + //type 0鍙栨秷鎺堟潈 1鎺堟潈 + return toAjax(userService.changeHintStatus(userId,type)); + } } diff --git a/src/main/java/com/ots/project/system/user/mapper/UserMapper.java b/src/main/java/com/ots/project/system/user/mapper/UserMapper.java index 42f17a4..0c1f3ec 100644 --- a/src/main/java/com/ots/project/system/user/mapper/UserMapper.java +++ b/src/main/java/com/ots/project/system/user/mapper/UserMapper.java @@ -1,6 +1,8 @@ package com.ots.project.system.user.mapper; import com.ots.project.system.user.domain.User; import org.apache.ibatis.annotations.Options; +import org.apache.ibatis.annotations.Param; + import java.util.List; public interface UserMapper { @@ -33,4 +35,6 @@ User checkPhoneUnique(String phonenumber); User checkEmailUnique(String email); + + int updateHintState(@Param("userId")String userId,@Param("type") Integer type); } diff --git a/src/main/java/com/ots/project/system/user/mapper/UserRoleMapper.java b/src/main/java/com/ots/project/system/user/mapper/UserRoleMapper.java index 6dfd82a..2d67f60 100644 --- a/src/main/java/com/ots/project/system/user/mapper/UserRoleMapper.java +++ b/src/main/java/com/ots/project/system/user/mapper/UserRoleMapper.java @@ -1,4 +1,5 @@ package com.ots.project.system.user.mapper; +import com.ots.project.system.role.domain.Role; import com.ots.project.system.user.domain.UserRole; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -16,4 +17,5 @@ public int deleteUserRoleInfo(UserRole userRole); public int deleteUserRoleInfos(@Param("roleId") Long roleId, @Param("userIds") Long[] userIds); + } diff --git a/src/main/java/com/ots/project/system/user/service/IUserService.java b/src/main/java/com/ots/project/system/user/service/IUserService.java index d526c86..f44c767 100644 --- a/src/main/java/com/ots/project/system/user/service/IUserService.java +++ b/src/main/java/com/ots/project/system/user/service/IUserService.java @@ -44,4 +44,7 @@ String importUser(List<User> userList, Boolean isUpdateSupport); int changeStatus(User user); + + int changeHintStatus(String userId, Integer type); + } diff --git a/src/main/java/com/ots/project/system/user/service/UserServiceImpl.java b/src/main/java/com/ots/project/system/user/service/UserServiceImpl.java index 3ec9fbe..503473c 100644 --- a/src/main/java/com/ots/project/system/user/service/UserServiceImpl.java +++ b/src/main/java/com/ots/project/system/user/service/UserServiceImpl.java @@ -1,4 +1,5 @@ package com.ots.project.system.user.service; + import com.ots.common.constant.UserConstants; import com.ots.common.exception.BusinessException; import com.ots.common.utils.StringUtils; @@ -22,6 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; + import java.util.ArrayList; import java.util.List; @@ -42,57 +44,58 @@ private IConfigService configService; @Autowired private PasswordService passwordService; - + @Override @DataScope(deptAlias = "d", userAlias = "u") public List<User> selectUserList(User user) { - + return userMapper.selectUserList(user); } + public List<User> selectUserList2(User user) { - + return userMapper.selectUserList(user); } - + @DataScope(deptAlias = "d", userAlias = "u") public List<User> selectAllocatedList(User user) { return userMapper.selectAllocatedList(user); } - + @DataScope(deptAlias = "d", userAlias = "u") public List<User> selectUnallocatedList(User user) { return userMapper.selectUnallocatedList(user); } - + @Override public User selectUserByLoginName(String userName) { return userMapper.selectUserByLoginName(userName); } - + @Override public User selectUserByPhoneNumber(String phoneNumber) { return userMapper.selectUserByPhoneNumber(phoneNumber); } - + @Override public User selectUserByEmail(String email) { return userMapper.selectUserByEmail(email); } - + @Override public User selectUserById(Long userId) { return userMapper.selectUserById(userId); } - + @Override public int deleteUserById(Long userId) { - + userRoleMapper.deleteUserRoleByUserId(userId); - + userPostMapper.deleteUserPostByUserId(userId); return userMapper.deleteUserById(userId); } - + @Override public int deleteUserByIds(String ids) throws BusinessException { Long[] userIds = Convert.toLongArray(ids); @@ -103,54 +106,54 @@ } return userMapper.deleteUserByIds(userIds); } - + @Override @Transactional public int insertUser(User user) { user.randomSalt(); user.setPassword(passwordService.encryptPassword(user.getLoginName(), user.getPassword(), user.getSalt())); user.setCreateBy(ShiroUtils.getLoginName()); - + int rows = userMapper.insertUser(user); - + insertUserPost(user); - + insertUserRole(user); return rows; } - + @Override @Transactional public int updateUser(User user) { Long userId = user.getUserId(); user.setUpdateBy(ShiroUtils.getLoginName()); - + userRoleMapper.deleteUserRoleByUserId(userId); - + insertUserRole(user); - + userPostMapper.deleteUserPostByUserId(userId); - + insertUserPost(user); return userMapper.updateUser(user); } - + @Override public int updateUserInfo(User user) { return userMapper.updateUser(user); } - + @Override public int resetUserPwd(User user) { user.randomSalt(); user.setPassword(passwordService.encryptPassword(user.getLoginName(), user.getPassword(), user.getSalt())); return updateUserInfo(user); } - + public void insertUserRole(User user) { Long[] roles = user.getRoleIds(); if (StringUtils.isNotNull(roles)) { - + List<UserRole> list = new ArrayList<UserRole>(); for (Long roleId : user.getRoleIds()) { UserRole ur = new UserRole(); @@ -163,11 +166,11 @@ } } } - + public void insertUserPost(User user) { Long[] posts = user.getPostIds(); if (StringUtils.isNotNull(posts)) { - + List<UserPost> list = new ArrayList<UserPost>(); for (Long postId : user.getPostIds()) { UserPost up = new UserPost(); @@ -180,7 +183,7 @@ } } } - + @Override public String checkLoginNameUnique(String loginName) { int count = userMapper.checkLoginNameUnique(loginName); @@ -189,7 +192,7 @@ } return UserConstants.USER_NAME_UNIQUE; } - + @Override public String checkPhoneUnique(User user) { Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); @@ -199,7 +202,7 @@ } return UserConstants.USER_PHONE_UNIQUE; } - + @Override public String checkEmailUnique(User user) { Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); @@ -209,7 +212,7 @@ } return UserConstants.USER_EMAIL_UNIQUE; } - + @Override public String selectUserRoleGroup(Long userId) { List<Role> list = roleMapper.selectRolesByUserId(userId); @@ -222,7 +225,7 @@ } return idsStr.toString(); } - + @Override public String selectUserPostGroup(Long userId) { List<Post> list = postMapper.selectPostsByUserId(userId); @@ -235,7 +238,7 @@ } return idsStr.toString(); } - + @Override public String importUser(List<User> userList, Boolean isUpdateSupport) { if (StringUtils.isNull(userList) || userList.size() == 0) { @@ -249,7 +252,7 @@ String password = configService.selectConfigByKey("sys.user.initPassword"); for (User user : userList) { try { - + User u = userMapper.selectUserByLoginName(user.getLoginName()); if (StringUtils.isNull(u)) { user.setPassword(password); @@ -281,7 +284,7 @@ } return successMsg.toString(); } - + @Override public int changeStatus(User user) { if (User.isAdmin(user.getUserId())) { @@ -289,4 +292,37 @@ } return userMapper.updateUser(user); } + + @Override + public int changeHintStatus(String userId, Integer type) { + // type 0鍙栨秷鎺堟潈 1鎺堟潈 + if(type == 0){ + //鏌ヨ浜嬩腑鎻愮ず璇鐞嗗憳 + Role role = roleMapper.selectByRoleKey("hint_common"); + if(role != null && StringUtils.isNotEmpty(userId)){ + //鏇存柊浜嬩腑鎻愮ず璇姸鎬� + userMapper.updateHintState(userId,type); + + UserRole userRole = new UserRole(); + userRole.setRoleId(role.getRoleId()); + userRole.setUserId(Long.valueOf(userId)); + return userRoleMapper.deleteUserRoleInfo(userRole); + } + }else if(type == 1){ + //鏌ヨ浜嬩腑鎻愮ず璇鐞嗗憳 + Role role = roleMapper.selectByRoleKey("hint_common"); + List<UserRole> list = new ArrayList<UserRole>(); + if(role != null && StringUtils.isNotEmpty(userId)){ + //鏇存柊浜嬩腑鎻愮ず璇姸鎬� + userMapper.updateHintState(userId,type); + + UserRole ur = new UserRole(); + ur.setUserId(Long.valueOf(userId)); + ur.setRoleId(role.getRoleId()); + list.add(ur); + return userRoleMapper.batchUserRole(list); + } + } + return 0; + } } -- Gitblit v1.9.1