diff --git a/continew-common/pom.xml b/continew-common/pom.xml
index 374387a3..46e495e7 100644
--- a/continew-common/pom.xml
+++ b/continew-common/pom.xml
@@ -180,4 +180,4 @@
continew-starter-extension-tenant-mp
-
\ No newline at end of file
+
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 6a70cf5e..8a6a0941 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,6 +16,7 @@
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;
@@ -50,6 +51,7 @@ import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.Set;
+import java.util.stream.Collectors;
/**
* 角色业务实现
@@ -135,7 +137,13 @@ public class RoleServiceImpl extends BaseServiceImpl dict(RoleQuery query, SortQuery sortQuery) {
- query.setExcludeRoleCodes(RoleCodeEnum.getSuperRoleCodes());
+ 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));
return super.dict(query, sortQuery);
}
diff --git a/pom.xml b/pom.xml
index 6ebe0813..ebc8c684 100644
--- a/pom.xml
+++ b/pom.xml
@@ -114,6 +114,12 @@
org.apache.maven.plugins
maven-compiler-plugin
+
+
+ org.projectlombok
+ lombok
+
+
-parameters