summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzhangshuai <[email protected]>2024-09-05 14:34:54 +0800
committerzhangshuai <[email protected]>2024-09-05 14:34:54 +0800
commit6bed4ad7956074f02ce08973b9c775702cdc11fe (patch)
tree0aa0954fe4a72c3e09c161b0d7955c0fc47799b7
parent77c62ca3178c56cd50559bd9025e3b46a09c0c6a (diff)
fix: 调整同 workspace 下 user 不能重复
-rw-r--r--src/main/java/net/geedge/asw/common/util/RCode.java1
-rw-r--r--src/main/java/net/geedge/asw/module/workspace/service/impl/WorkspaceMemberServiceImpl.java4
-rw-r--r--src/main/resources/db/migration/R__AZ_sys_i18n.sql2
3 files changed, 7 insertions, 0 deletions
diff --git a/src/main/java/net/geedge/asw/common/util/RCode.java b/src/main/java/net/geedge/asw/common/util/RCode.java
index 4af43ae..6a9404e 100644
--- a/src/main/java/net/geedge/asw/common/util/RCode.java
+++ b/src/main/java/net/geedge/asw/common/util/RCode.java
@@ -75,6 +75,7 @@ public enum RCode {
WORKSPACE_VISIBILITY_ERROR(401008, "workspace visibility error"),
WORKSPACE_BUILT_IN(401009, "Built-in workspace cannot be update"),
WORKSPACE_NOT_EXIST(401010, "Workspace does not exist"),
+ WORKSPACE_MEMBER_USER_ID_REPEAT(401011, "Workspace member user repeat"),
//PCAP
PCAP_UPLOAD_WEB_SHARK_ERROR(501001, "web shark upload pcap error"),
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 04c0605..d2f8b51 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,6 +59,10 @@ public class WorkspaceMemberServiceImpl extends ServiceImpl<WorkspaceMemberDao,
if (T.StrUtil.equalsIgnoreCase(workspaceId, "1")) {
throw new ASWException(RCode.WORKSPACE_BUILT_IN);
}
+ long count = memberList.stream().map(x -> x.getUserId()).distinct().count();
+ if (count != memberList.size()) {
+ throw new ASWException(RCode.WORKSPACE_MEMBER_USER_ID_REPEAT);
+ }
List<String> userIds = userService.list().stream().map(x -> x.getId()).toList();
List<String> roleIds = roleService.list().stream().map(x -> x.getId()).toList();
for (WorkspaceMemberEntity workspace : memberList) {
diff --git a/src/main/resources/db/migration/R__AZ_sys_i18n.sql b/src/main/resources/db/migration/R__AZ_sys_i18n.sql
index 95ce275..b77ed6d 100644
--- a/src/main/resources/db/migration/R__AZ_sys_i18n.sql
+++ b/src/main/resources/db/migration/R__AZ_sys_i18n.sql
@@ -127,5 +127,7 @@ INSERT INTO `sys_i18n`(`id`, `name`, `code`, `value`, `lang`, `remark`, `update_
INSERT INTO `sys_i18n`(`id`, `name`, `code`, `value`, `lang`, `remark`, `update_user_id`, `update_timestamp`) VALUES (211, '601002', 'ENVIRONMENT_NOT_EXIST', '环境不存在', 'zh', '', 'admin', 1724030366000);
INSERT INTO `sys_i18n`(`id`, `name`, `code`, `value`, `lang`, `remark`, `update_user_id`, `update_timestamp`) VALUES (213, '201017', 'APP_IMPORT_FILE_FORMAT_ERROR', 'application import file format error', 'en', '', 'admin', 1724030366000);
INSERT INTO `sys_i18n`(`id`, `name`, `code`, `value`, `lang`, `remark`, `update_user_id`, `update_timestamp`) VALUES (215, '201017', 'APP_IMPORT_FILE_FORMAT_ERROR', '导入文件格式错误', 'zh', '', 'admin', 1724030366000);
+INSERT INTO `sys_i18n`(`id`, `name`, `code`, `value`, `lang`, `remark`, `update_user_id`, `update_timestamp`) VALUES (217, '401011', 'WORKSPACE_MEMBER_USER_ID_REPEAT', 'Workspace member user repeat', 'en', '', 'admin', 1724030366000);
+INSERT INTO `sys_i18n`(`id`, `name`, `code`, `value`, `lang`, `remark`, `update_user_id`, `update_timestamp`) VALUES (219, '401011', 'WORKSPACE_MEMBER_USER_ID_REPEAT', '工作空间用户重复', 'zh', '', 'admin', 1724030366000);
SET FOREIGN_KEY_CHECKS = 1;