diff --git a/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/RoleUserReq.java b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/RoleUserReq.java index 9ad359d8..7357a877 100644 --- a/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/RoleUserReq.java +++ b/tyr-api/src/main/java/cn/axzo/tyr/client/model/roleuser/req/RoleUserReq.java @@ -57,6 +57,13 @@ public class RoleUserReq { */ private Set updateRoleIds; + /** + * 是否合并当前已存在的角色 + * 适用于角色更新或者角色新增 + * 默认true + */ + private boolean mergeExistsRoles = true; + /** * 该请求是否是权限回收 diff --git a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/RoleUserService.java b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/RoleUserService.java index b288e2f3..ecfe7f97 100644 --- a/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/RoleUserService.java +++ b/tyr-server/src/main/java/cn/axzo/tyr/server/service/impl/RoleUserService.java @@ -88,8 +88,10 @@ public class RoleUserService implements SaasRoleUserService { } roleUserRelationDao.deleteByUser(workspaceModel, notAdminRole); } - //合并 新的角色和老的角色 - updateRoleIds.addAll(notAdminRole); + if(req.isMergeExistsRoles()){ + //合并新的角色和老的角色 + updateRoleIds.addAll(notAdminRole); + } // 清空所有角色 if (CollectionUtil.isEmpty(updateRoleIds)) { return;