From 3c21758abb550c8447fd3552e718440081b1ff49 Mon Sep 17 00:00:00 2001 From: furongxin <419481438@qq.com> Date: Sat, 21 Sep 2024 12:48:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=94=A8=E6=88=B7=E5=AF=BC?= =?UTF-8?q?=E5=85=A5=E5=8A=9F=E8=83=BD=EF=BC=8C=E6=94=AF=E6=8C=81=E6=89=B9?= =?UTF-8?q?=E9=87=8F=E5=B2=97=E4=BD=8D=E5=85=B3=E8=81=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 优化了用户导入服务,新增了在创建或更新用户时批量设置岗位关联的能力。现在会在用户导入时,将用户岗位信息批量插入到`user_post`关联表中,提升了效率并减少了数据库操作的次数。 --- .../system/service/user/AdminUserServiceImpl.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java index b2da396b..844adf55 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java @@ -593,6 +593,8 @@ public class AdminUserServiceImpl implements AdminUserService { throw exception(USER_IMPORT_LIST_IS_EMPTY); } UserImportRespVO respVO = UserImportRespVO.builder().createUsernames(new ArrayList<>()).updateUsernames(new ArrayList<>()).failureUsernames(new LinkedHashMap<>()).build(); + + List userPostDOS = new ArrayList<>(); importUsers.forEach(importUser -> { //校验,判断是否有不符合的原因 try { @@ -635,6 +637,10 @@ public class AdminUserServiceImpl implements AdminUserService { if (existUser == null) { userMapper.insert(updateUser.setPassword(encodePassword(userInitPassword))); // 设置默认密码 + // 设置 user_post关联表 + userPostDOS.addAll(convertList(updateUser.getPostIds(), + postId -> new UserPostDO().setUserId(updateUser.getId()).setPostId(postId))); + respVO.getCreateUsernames().add(importUser.getNickname()); return; } @@ -648,8 +654,15 @@ public class AdminUserServiceImpl implements AdminUserService { updateUser.setId(existUser.getId()); userMapper.updateById(updateUser); + // 更新用户岗位关联表 + updateUserPost(new UserSaveReqVO().setId(existUser.getId()), new AdminUserDO().setPostIds(updateUser.getPostIds())); respVO.getUpdateUsernames().add(importUser.getNickname()); }); + + // 插入user_post + if (CollectionUtil.isNotEmpty(userPostDOS)) { + userPostMapper.insertBatch(userPostDOS); + } return respVO; }