From 4b699cd34c729f36a6ad4bb9ddcc0520c4bf3e61 Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期三, 29 五月 2024 14:39:46 +0800 Subject: [PATCH] 限制用户操作数据权限范围 --- src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java | 28 +++++++++++++++++++--------- 1 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java b/src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java index 6d5d51a..fcb1784 100644 --- a/src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java +++ b/src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java @@ -28,6 +28,7 @@ import com.ruoyi.project.system.mapper.SysUserPostMapper; import com.ruoyi.project.system.mapper.SysUserRoleMapper; import com.ruoyi.project.system.service.ISysConfigService; +import com.ruoyi.project.system.service.ISysDeptService; import com.ruoyi.project.system.service.ISysUserService; /** @@ -57,6 +58,9 @@ @Autowired private ISysConfigService configService; + + @Autowired + private ISysDeptService deptService; @Autowired protected Validator validator; @@ -161,14 +165,15 @@ /** * 鏍¢獙鐢ㄦ埛鍚嶇О鏄惁鍞竴 * - * @param userName 鐢ㄦ埛鍚嶇О + * @param user 鐢ㄦ埛淇℃伅 * @return 缁撴灉 */ @Override - public String checkUserNameUnique(String userName) + public boolean checkUserNameUnique(SysUser user) { - int count = userMapper.checkUserNameUnique(userName); - if (count > 0) + Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); + SysUser info = userMapper.checkUserNameUnique(user.getUserName()); + if (StringUtils.isNotNull(info) && info.getUserId().longValue() != userId.longValue()) { return UserConstants.NOT_UNIQUE; } @@ -182,7 +187,7 @@ * @return */ @Override - public String checkPhoneUnique(SysUser user) + public boolean checkPhoneUnique(SysUser user) { Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); SysUser info = userMapper.checkPhoneUnique(user.getPhonenumber()); @@ -200,7 +205,7 @@ * @return */ @Override - public String checkEmailUnique(SysUser user) + public boolean checkEmailUnique(SysUser user) { Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId(); SysUser info = userMapper.checkEmailUnique(user.getEmail()); @@ -488,7 +493,6 @@ int failureNum = 0; StringBuilder successMsg = new StringBuilder(); StringBuilder failureMsg = new StringBuilder(); - String password = configService.selectConfigByKey("sys.user.initPassword"); for (SysUser user : userList) { try @@ -498,17 +502,23 @@ if (StringUtils.isNull(u)) { BeanValidators.validateWithException(validator, user); + deptService.checkDeptDataScope(user.getDeptId()); + String password = configService.selectConfigByKey("sys.user.initPassword"); user.setPassword(SecurityUtils.encryptPassword(password)); user.setCreateBy(operName); - this.insertUser(user); + userMapper.insertUser(user); successNum++; successMsg.append("<br/>" + successNum + "銆佽处鍙� " + user.getUserName() + " 瀵煎叆鎴愬姛"); } else if (isUpdateSupport) { BeanValidators.validateWithException(validator, user); + checkUserAllowed(u); + checkUserDataScope(u.getUserId()); + deptService.checkDeptDataScope(user.getDeptId()); + user.setUserId(u.getUserId()); user.setUpdateBy(operName); - this.updateUser(user); + userMapper.updateUser(user); successNum++; successMsg.append("<br/>" + successNum + "銆佽处鍙� " + user.getUserName() + " 鏇存柊鎴愬姛"); } -- Gitblit v1.9.3