From b7e3048e64412d4d889d070b6f173bcad101d08f Mon Sep 17 00:00:00 2001 From: zhangshuai Date: Thu, 5 Sep 2024 15:21:06 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=B0=83=E6=95=B4=E5=90=8C=20workspace?= =?UTF-8?q?=20=E4=B8=8B=20=20user=20=E4=B8=8D=E8=83=BD=E9=87=8D=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WorkspaceMemberServiceImpl.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/geedge/asw/module/workspace/service/impl/WorkspaceMemberServiceImpl.java b/src/main/java/net/geedge/asw/module/workspace/service/impl/WorkspaceMemberServiceImpl.java index d2f8b51..2612375 100644 --- a/src/main/java/net/geedge/asw/module/workspace/service/impl/WorkspaceMemberServiceImpl.java +++ b/src/main/java/net/geedge/asw/module/workspace/service/impl/WorkspaceMemberServiceImpl.java @@ -59,9 +59,14 @@ public class WorkspaceMemberServiceImpl extends ServiceImpl x.getUserId()).distinct().count(); - if (count != memberList.size()) { - throw new ASWException(RCode.WORKSPACE_MEMBER_USER_ID_REPEAT); + + List userIdList = memberList.stream().map(x -> x.getUserId()).toList(); + List memberEntityList = workspaceMemberService.list(new LambdaQueryWrapper().eq(WorkspaceMemberEntity::getWorkspaceId, workspaceId)); + if (T.CollectionUtil.isNotEmpty(memberList)){ + memberEntityList = memberEntityList.stream().filter(x -> userIdList.contains(x.getUserId())).toList(); + if (T.CollectionUtil.isNotEmpty(memberEntityList)) { + throw new ASWException(RCode.WORKSPACE_MEMBER_USER_ID_REPEAT); + } } List userIds = userService.list().stream().map(x -> x.getId()).toList(); List roleIds = roleService.list().stream().map(x -> x.getId()).toList();