From 427ad4b08a70fcf5aacdc3ede3e4ff6eda7e98fe Mon Sep 17 00:00:00 2001 From: irving Date: Sat, 1 Nov 2025 13:28:19 -0400 Subject: [PATCH] allow admin to by pass clerk list filtering --- .../impl/PlayPersonnelGroupInfoServiceImpl.java | 2 +- .../java/com/starry/common/enums/TenantRoleEnum.java | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/play-admin/src/main/java/com/starry/admin/modules/personnel/service/impl/PlayPersonnelGroupInfoServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/personnel/service/impl/PlayPersonnelGroupInfoServiceImpl.java index d851b52..3391a6f 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/personnel/service/impl/PlayPersonnelGroupInfoServiceImpl.java +++ b/play-admin/src/main/java/com/starry/admin/modules/personnel/service/impl/PlayPersonnelGroupInfoServiceImpl.java @@ -135,7 +135,7 @@ public class PlayPersonnelGroupInfoServiceImpl List idList; Set roleKeys = loginUser != null && loginUser.getRoles() != null ? loginUser.getRoles() : Collections.emptySet(); - boolean hasOperatorRole = TenantRoleEnum.contains(roleKeys, TenantRoleEnum.OPERATOR); + boolean hasOperatorRole = TenantRoleEnum.hasOperatorPrivilege(roleKeys); PlayPersonnelGroupInfoEntity groupInfoEntity = null; if (!hasOperatorRole && loginUser != null) { groupInfoEntity = this.selectByUserId(loginUser.getUserId()); diff --git a/play-common/src/main/java/com/starry/common/enums/TenantRoleEnum.java b/play-common/src/main/java/com/starry/common/enums/TenantRoleEnum.java index b62d23d..a373ae5 100644 --- a/play-common/src/main/java/com/starry/common/enums/TenantRoleEnum.java +++ b/play-common/src/main/java/com/starry/common/enums/TenantRoleEnum.java @@ -14,6 +14,11 @@ public enum TenantRoleEnum { */ OPERATOR("operator"), + /** + * 超级管理员角色,与运营角色享有同等权限。 + */ + ADMIN("admin"), + /** * 组长角色,只能查看所在小组的数据。 */ @@ -50,4 +55,11 @@ public enum TenantRoleEnum { .map(role -> role.toLowerCase(Locale.ROOT)) .anyMatch(role -> role.equals(targetRole.getRoleKey())); } + + /** + * 是否具备运营权限(operator/admin)。 + */ + public static boolean hasOperatorPrivilege(Set roles) { + return contains(roles, OPERATOR) || contains(roles, ADMIN); + } }