diff --git a/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/DeptServiceImpl.java b/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/DeptServiceImpl.java index aacd0235..37a74e0e 100644 --- a/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/DeptServiceImpl.java +++ b/continew-admin-system/src/main/java/top/charles7c/cnadmin/system/service/impl/DeptServiceImpl.java @@ -82,14 +82,14 @@ public class DeptServiceImpl extends BaseServiceImpl oldRoleIdList = - userRoleService.listRoleIdByUserId(id).stream().sorted().collect(Collectors.toList()); - List newRoleIdList = request.getRoleIds().stream().sorted().collect(Collectors.toList()); - CheckUtils.throwIf(!CollUtil.isEqualList(newRoleIdList, oldRoleIdList), "[{}] 是系统内置用户,不允许变更所属角色", + CheckUtils.throwIfEqual(DisEnableStatusEnum.DISABLE, request.getStatus(), "[{}] 是系统内置用户,不允许禁用", oldUser.getNickname()); + Collection disjunctionRoleIds = + CollUtil.disjunction(request.getRoleIds(), userRoleService.listRoleIdByUserId(id)); + CheckUtils.throwIfNotEmpty(disjunctionRoleIds, "[{}] 是系统内置用户,不允许变更所属角色", oldUser.getNickname()); } // 更新信息