From ed19109e80a10fd4def53bae13a59f8a917c8fa1 Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期三, 28 九月 2022 16:49:21 +0800 Subject: [PATCH] 导入更新用户数据前校验数据权限 --- src/main/java/com/ruoyi/project/system/service/impl/SysUserServiceImpl.java | 48 +++++++++++++++--------------------------------- 1 files changed, 15 insertions(+), 33 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 8fad21c..0fbd6be 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 @@ -161,14 +161,15 @@ /** * 鏍¢獙鐢ㄦ埛鍚嶇О鏄惁鍞竴 * - * @param userName 鐢ㄦ埛鍚嶇О + * @param user 鐢ㄦ埛淇℃伅 * @return 缁撴灉 */ @Override - public String checkUserNameUnique(String userName) + public String 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; } @@ -381,23 +382,7 @@ */ public void insertUserRole(SysUser user) { - Long[] roles = user.getRoleIds(); - if (StringUtils.isNotNull(roles)) - { - // 鏂板鐢ㄦ埛涓庤鑹茬鐞� - List<SysUserRole> list = new ArrayList<SysUserRole>(); - for (Long roleId : roles) - { - SysUserRole ur = new SysUserRole(); - ur.setUserId(user.getUserId()); - ur.setRoleId(roleId); - list.add(ur); - } - if (list.size() > 0) - { - userRoleMapper.batchUserRole(list); - } - } + this.insertUserRole(user.getUserId(), user.getRoleIds()); } /** @@ -408,10 +393,10 @@ public void insertUserPost(SysUser user) { Long[] posts = user.getPostIds(); - if (StringUtils.isNotNull(posts)) + if (StringUtils.isNotEmpty(posts)) { // 鏂板鐢ㄦ埛涓庡矖浣嶇鐞� - List<SysUserPost> list = new ArrayList<SysUserPost>(); + List<SysUserPost> list = new ArrayList<SysUserPost>(posts.length); for (Long postId : posts) { SysUserPost up = new SysUserPost(); @@ -419,10 +404,7 @@ up.setPostId(postId); list.add(up); } - if (list.size() > 0) - { - userPostMapper.batchUserPost(list); - } + userPostMapper.batchUserPost(list); } } @@ -434,10 +416,10 @@ */ public void insertUserRole(Long userId, Long[] roleIds) { - if (StringUtils.isNotNull(roleIds)) + if (StringUtils.isNotEmpty(roleIds)) { // 鏂板鐢ㄦ埛涓庤鑹茬鐞� - List<SysUserRole> list = new ArrayList<SysUserRole>(); + List<SysUserRole> list = new ArrayList<SysUserRole>(roleIds.length); for (Long roleId : roleIds) { SysUserRole ur = new SysUserRole(); @@ -445,10 +427,7 @@ ur.setRoleId(roleId); list.add(ur); } - if (list.size() > 0) - { - userRoleMapper.batchUserRole(list); - } + userRoleMapper.batchUserRole(list); } } @@ -482,6 +461,7 @@ for (Long userId : userIds) { checkUserAllowed(new SysUser(userId)); + checkUserDataScope(userId); } // 鍒犻櫎鐢ㄦ埛涓庤鑹插叧鑱� userRoleMapper.deleteUserRole(userIds); @@ -519,6 +499,8 @@ if (StringUtils.isNull(u)) { BeanValidators.validateWithException(validator, user); + checkUserAllowed(user); + checkUserDataScope(user.getUserId()); user.setPassword(SecurityUtils.encryptPassword(password)); user.setCreateBy(operName); this.insertUser(user); -- Gitblit v1.9.3