From d02bea85cb27f9fd4db6aeeff829fb2b9167cd2f Mon Sep 17 00:00:00 2001 From: AprilWind <2100166581@qq.com> Date: Fri, 4 Jul 2025 15:54:39 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=B2=97=E4=BD=8D=E4=BF=A1=E6=81=AF=E5=88=A4?= =?UTF-8?q?=E7=A9=BA=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SysUserServiceImpl.java | 42 ++++++++++--------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java index 65f6de280..ae2bd84c6 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java @@ -449,27 +449,29 @@ public class SysUserServiceImpl implements ISysUserService, UserService { * @param clear 清除已存在的关联数据 */ private void insertUserPost(SysUserBo user, boolean clear) { - List postIds = List.of(user.getPostIds()); - if (ArrayUtil.isNotEmpty(postIds)) { - // 判断是否具有此角色的操作权限 - List posts = postMapper.selectPostList( - new LambdaQueryWrapper().in(SysPost::getPostId, postIds)); - if (CollUtil.isEmpty(posts) || posts.size() != postIds.size()) { - throw new ServiceException("没有权限访问岗位的数据"); - } - if (clear) { - // 删除用户与岗位关联 - userPostMapper.delete(new LambdaQueryWrapper().eq(SysUserPost::getUserId, user.getUserId())); - } - // 新增用户与岗位管理 - List list = StreamUtils.toList(postIds, postId -> { - SysUserPost up = new SysUserPost(); - up.setUserId(user.getUserId()); - up.setPostId(postId); - return up; - }); - userPostMapper.insertBatch(list); + Long[] postIdArr = user.getPostIds(); + if (ArrayUtil.isEmpty(postIdArr)) { + return; } + List postIds = Arrays.asList(postIdArr); + // 判断是否具有此角色的操作权限 + List posts = postMapper.selectPostList( + new LambdaQueryWrapper().in(SysPost::getPostId, postIds)); + if (CollUtil.isEmpty(posts) || posts.size() != postIds.size()) { + throw new ServiceException("没有权限访问岗位的数据"); + } + if (clear) { + // 删除用户与岗位关联 + userPostMapper.delete(new LambdaQueryWrapper().eq(SysUserPost::getUserId, user.getUserId())); + } + // 新增用户与岗位管理 + List list = StreamUtils.toList(postIds, postId -> { + SysUserPost up = new SysUserPost(); + up.setUserId(user.getUserId()); + up.setPostId(postId); + return up; + }); + userPostMapper.insertBatch(list); } /**