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 d527c9d6..915a3877 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 @@ -207,7 +207,10 @@ public class RoleUserService implements SaasRoleUserService { if (CollectionUtils.isEmpty(relations)) { return Collections.emptyList(); } - return relations.stream().map(r -> { + List roleIds = relations.stream().map(SaasRoleUserRelation::getRoleId).collect(Collectors.toList()); + List roles = saasRoleDao.lambdaQuery().in(SaasRole::getId, roleIds).eq(SaasRole::getRoleType, RoleTypeEnum.SUPER_ADMIN.getValue()).eq(SaasRole::getIsDelete, TableIsDeleteEnum.NORMAL.value).list(); + Set superAdminRoleIds = roles.stream().map(SaasRole::getId).collect(Collectors.toSet()); + return relations.stream().filter(r -> superAdminRoleIds.contains(r.getRoleId())).map(r -> { SuperAdminInfoDTO superAdminInfo = new SuperAdminInfoDTO(); superAdminInfo.setWorkspaceId(r.getWorkspaceId()); superAdminInfo.setOuId(r.getOuId());