xda 3 gadi atpakaļ
vecāks
revīzija
a29e4caec4

+ 13 - 7
src/main/java/com/winhc/repal/service/impl/RepalGroupMemberServiceImpl.java

@@ -180,14 +180,20 @@ public class RepalGroupMemberServiceImpl extends ServiceImpl<RepalGroupMemberMap
         if (Objects.isNull(beanResponse) || CollUtil.isEmpty(beanResponse.getBody())) {
             throw new CommonException(CodeMsg.FAILED, "添加用户失败");
         }
+        List<RepalGroupMember> memberList = this.list(Wrappers.lambdaQuery(RepalGroupMember.class)
+                .in(RepalGroupMember::getUserId, beanResponse.getBody().stream().map(RepalRegUserDTO::getUserId).collect(Collectors.toList()))
+                .eq(RepalGroupMember::getDeleted, DeletedStatusEnum.NORMAL.getCode()));
+        Set<Long> userIdSet = memberList.stream().map(RepalGroupMember::getUserId).collect(Collectors.toSet());
         for (RepalRegUserDTO regUserDTO : beanResponse.getBody()) {
-            RepalGroupMember repalGroupMember = new RepalGroupMember();
-            repalGroupMember.setUserId(regUserDTO.getUserId());
-            repalGroupMember.setRepalGroupId(groupId);
-            repalGroupMember.setMemberUserName(regUserDTO.getUserName());
-            repalGroupMember.setRoleType(role.getRoleType());
-            repalGroupMember.setRoleId(role.getId());
-            this.save(repalGroupMember);
+            if (!userIdSet.contains(regUserDTO.getUserId())) {
+                RepalGroupMember repalGroupMember = new RepalGroupMember();
+                repalGroupMember.setUserId(regUserDTO.getUserId());
+                repalGroupMember.setRepalGroupId(groupId);
+                repalGroupMember.setMemberUserName(regUserDTO.getUserName());
+                repalGroupMember.setRoleType(role.getRoleType());
+                repalGroupMember.setRoleId(role.getId());
+                this.save(repalGroupMember);
+            }
         }
         return true;
     }