diff --git a/continew-system/src/main/java/top/continew/admin/system/service/impl/RoleServiceImpl.java b/continew-system/src/main/java/top/continew/admin/system/service/impl/RoleServiceImpl.java index 8a6a0941..7ff97946 100644 --- a/continew-system/src/main/java/top/continew/admin/system/service/impl/RoleServiceImpl.java +++ b/continew-system/src/main/java/top/continew/admin/system/service/impl/RoleServiceImpl.java @@ -16,7 +16,6 @@ package top.continew.admin.system.service.impl; -import cn.dev33.satoken.stp.StpUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import com.alicp.jetcache.anno.CacheInvalidate; @@ -36,8 +35,8 @@ import top.continew.admin.system.constant.SystemConstants; import top.continew.admin.system.mapper.RoleMapper; import top.continew.admin.system.model.entity.RoleDO; import top.continew.admin.system.model.query.RoleQuery; -import top.continew.admin.system.model.req.RoleReq; import top.continew.admin.system.model.req.RolePermissionUpdateReq; +import top.continew.admin.system.model.req.RoleReq; import top.continew.admin.system.model.resp.MenuResp; import top.continew.admin.system.model.resp.role.RoleDetailResp; import top.continew.admin.system.model.resp.role.RoleResp; @@ -51,7 +50,6 @@ import java.util.Collections; import java.util.List; import java.util.Optional; import java.util.Set; -import java.util.stream.Collectors; /** * 角色业务实现 @@ -137,13 +135,10 @@ public class RoleServiceImpl extends BaseServiceImpl dict(RoleQuery query, SortQuery sortQuery) { - List currentUserRoleCodes = StpUtil.getRoleList(); - final List superRoleCodes = RoleCodeEnum.getSuperRoleCodes(); - // dict查询的时候,需要查询当前用户拥有的角色而不是排除,避免前端显示角色数字而不是角色名称 - final List excludeRoleCodes = superRoleCodes.stream() - .filter(roleCode -> !currentUserRoleCodes.contains(roleCode)) - .collect(Collectors.toList()); - query.setExcludeRoleCodes(CollUtil.defaultIfEmpty(excludeRoleCodes, superRoleCodes)); + boolean isTenantAdmin = UserContextHolder.isTenantAdmin(); + query.setExcludeRoleCodes(isTenantAdmin + ? List.of(RoleCodeEnum.SUPER_ADMIN.getCode()) + : RoleCodeEnum.getSuperRoleCodes()); return super.dict(query, sortQuery); }