From 6bc73414d92d7ad42fabaf6d667a8d1c45e8b644 Mon Sep 17 00:00:00 2001 From: Timi Date: Wed, 12 Aug 2026 11:06:48 +0800 Subject: [PATCH] remove @RequireGaoRole --- .../java/com/imyeyu/api/config/WebConfig.java | 3 -- .../gao/annotation/RequireGaoRole.java | 29 ----------- .../annotation/RequireGaoRoleInterceptor.java | 50 ------------------- .../gao/controller/GaoRoleController.java | 6 +-- .../GaoStoreBusinessDayController.java | 2 - .../gao/controller/GaoStoreController.java | 7 --- .../gao/controller/GaoUserController.java | 2 - 7 files changed, 3 insertions(+), 96 deletions(-) delete mode 100644 src/main/java/com/imyeyu/api/modules/gao/annotation/RequireGaoRole.java delete mode 100644 src/main/java/com/imyeyu/api/modules/gao/annotation/RequireGaoRoleInterceptor.java diff --git a/src/main/java/com/imyeyu/api/config/WebConfig.java b/src/main/java/com/imyeyu/api/config/WebConfig.java index 6be5503..dbf545c 100644 --- a/src/main/java/com/imyeyu/api/config/WebConfig.java +++ b/src/main/java/com/imyeyu/api/config/WebConfig.java @@ -10,7 +10,6 @@ import com.imyeyu.api.annotation.EnableSettingInterceptor; import com.imyeyu.api.annotation.RequestRateLimitInterceptor; import com.imyeyu.api.annotation.RequireCorePermissionInterceptor; import com.imyeyu.api.modules.gao.annotation.RequireGaoPermissionInterceptor; -import com.imyeyu.api.modules.gao.annotation.RequireGaoRoleInterceptor; import com.imyeyu.api.modules.journal.util.JournalAPIInterceptor; import com.imyeyu.api.modules.system.util.SystemAPIInterceptor; import com.imyeyu.spring.annotation.RequestBodyValueArgumentResolver; @@ -42,7 +41,6 @@ public class WebConfig implements WebMvcConfigurer { private final SystemAPIInterceptor systemAPIInterceptor; private final JournalAPIInterceptor journalAPIInterceptor; private final EnableSettingInterceptor enableSettingInterceptor; - private final RequireGaoRoleInterceptor requireGaoRoleInterceptor; private final RequestRateLimitInterceptor requestRateLimitInterceptor; private final RequireGaoPermissionInterceptor requireGaoPermissionInterceptor; private final RequireCorePermissionInterceptor requireCorePermissionInterceptor; @@ -58,7 +56,6 @@ public class WebConfig implements WebMvcConfigurer { registry.addInterceptor(journalAPIInterceptor).addPathPatterns(JournalAPIInterceptor.PATH); registry.addInterceptor(enableSettingInterceptor).addPathPatterns("/**"); registry.addInterceptor(requireCorePermissionInterceptor).addPathPatterns("/**"); - registry.addInterceptor(requireGaoRoleInterceptor).addPathPatterns("/**"); registry.addInterceptor(requireGaoPermissionInterceptor).addPathPatterns("/**"); registry.addInterceptor(requestRateLimitInterceptor).addPathPatterns("/**"); } diff --git a/src/main/java/com/imyeyu/api/modules/gao/annotation/RequireGaoRole.java b/src/main/java/com/imyeyu/api/modules/gao/annotation/RequireGaoRole.java deleted file mode 100644 index 2f12945..0000000 --- a/src/main/java/com/imyeyu/api/modules/gao/annotation/RequireGaoRole.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.imyeyu.api.modules.gao.annotation; - -import com.imyeyu.api.bean.RoleMatchMode; -import com.imyeyu.api.modules.gao.bean.GaoRoleCode; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/// -/// 要求 GAO 模块角色 -/// -/// @author Codex -/// @since 2026-07-26 -@Target({ElementType.METHOD, ElementType.TYPE}) -@Retention(RetentionPolicy.RUNTIME) -public @interface RequireGaoRole { - - /// 所需角色 - /// - /// @return 角色列表 - GaoRoleCode[] value(); - - /// 匹配模式 - /// - /// @return 匹配模式 - RoleMatchMode mode() default RoleMatchMode.ALL; -} diff --git a/src/main/java/com/imyeyu/api/modules/gao/annotation/RequireGaoRoleInterceptor.java b/src/main/java/com/imyeyu/api/modules/gao/annotation/RequireGaoRoleInterceptor.java deleted file mode 100644 index 4d24acc..0000000 --- a/src/main/java/com/imyeyu/api/modules/gao/annotation/RequireGaoRoleInterceptor.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.imyeyu.api.modules.gao.annotation; - -import com.imyeyu.api.bean.ModuleCode; -import com.imyeyu.api.bean.RoleMatchMode; -import com.imyeyu.api.modules.gao.bean.GaoRoleCode; -import com.imyeyu.api.modules.user.service.RoleChecker; -import com.imyeyu.java.TimiJava; -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; -import org.springframework.lang.NonNull; -import org.springframework.core.annotation.AnnotatedElementUtils; -import org.springframework.stereotype.Component; -import org.springframework.web.method.HandlerMethod; -import org.springframework.web.servlet.HandlerInterceptor; - -/// -/// GAO 角色注解处理器 -/// -/// @author Codex -/// @since 2026-07-27 -@Component -public class RequireGaoRoleInterceptor implements HandlerInterceptor { - - private final RoleChecker roleChecker; - - public RequireGaoRoleInterceptor(RoleChecker roleChecker) { - this.roleChecker = roleChecker; - } - - @Override - public boolean preHandle(@NonNull HttpServletRequest req, @NonNull HttpServletResponse resp, @NonNull Object handler) { - if (!(handler instanceof HandlerMethod handlerMethod)) { - return true; - } - RequireGaoRole annotation = handlerMethod.getMethodAnnotation(RequireGaoRole.class); - if (annotation == null) { - annotation = AnnotatedElementUtils.findMergedAnnotation(handlerMethod.getBeanType(), RequireGaoRole.class); - } - if (annotation == null || TimiJava.isEmpty(annotation.value())) { - return true; - } - String[] roleCodeList = java.util.Arrays.stream(annotation.value()).map(GaoRoleCode::name).toArray(String[]::new); - if (annotation.mode() == RoleMatchMode.ANY) { - roleChecker.checkAny(ModuleCode.GAO, roleCodeList); - } else { - roleChecker.checkAll(ModuleCode.GAO, roleCodeList); - } - return true; - } -} diff --git a/src/main/java/com/imyeyu/api/modules/gao/controller/GaoRoleController.java b/src/main/java/com/imyeyu/api/modules/gao/controller/GaoRoleController.java index c9a1839..5cc71b6 100644 --- a/src/main/java/com/imyeyu/api/modules/gao/controller/GaoRoleController.java +++ b/src/main/java/com/imyeyu/api/modules/gao/controller/GaoRoleController.java @@ -1,8 +1,8 @@ package com.imyeyu.api.modules.gao.controller; +import com.imyeyu.api.annotation.RequireCorePermission; +import com.imyeyu.api.bean.CorePermissionCode; import com.imyeyu.api.bean.ModuleCode; -import com.imyeyu.api.modules.gao.annotation.RequireGaoRole; -import com.imyeyu.api.modules.gao.bean.GaoRoleCode; import com.imyeyu.api.modules.user.entity.Role; import com.imyeyu.api.modules.user.service.AuthorizationScopeService; import com.imyeyu.api.modules.user.service.UserLoginService; @@ -20,7 +20,6 @@ import java.util.List; /// @author 夜雨 /// @since 2026-07-28 14:15 @RestController -@RequireGaoRole(GaoRoleCode.STORE_MANAGER) @RequiredArgsConstructor @RequestMapping("/gao/role") public class GaoRoleController { @@ -30,6 +29,7 @@ public class GaoRoleController { @AOPLog @RequestRateLimit + @RequireCorePermission(CorePermissionCode.ROLE_READ) @PostMapping("/available/list") public List availableList() { return authorizationScopeService.listGrantableRole(userLoginService.getRequireLoginUserId(), ModuleCode.GAO); diff --git a/src/main/java/com/imyeyu/api/modules/gao/controller/GaoStoreBusinessDayController.java b/src/main/java/com/imyeyu/api/modules/gao/controller/GaoStoreBusinessDayController.java index 75d549d..68d29cf 100644 --- a/src/main/java/com/imyeyu/api/modules/gao/controller/GaoStoreBusinessDayController.java +++ b/src/main/java/com/imyeyu/api/modules/gao/controller/GaoStoreBusinessDayController.java @@ -1,9 +1,7 @@ package com.imyeyu.api.modules.gao.controller; import com.imyeyu.api.modules.gao.annotation.RequireGaoPermission; -import com.imyeyu.api.modules.gao.annotation.RequireGaoRole; import com.imyeyu.api.modules.gao.bean.GaoPermissionCode; -import com.imyeyu.api.modules.gao.bean.GaoRoleCode; import com.imyeyu.api.modules.gao.entity.GaoStoreBusinessDay; import com.imyeyu.api.modules.gao.service.GaoStoreBusinessDayService; import com.imyeyu.spring.annotation.AOPLog; diff --git a/src/main/java/com/imyeyu/api/modules/gao/controller/GaoStoreController.java b/src/main/java/com/imyeyu/api/modules/gao/controller/GaoStoreController.java index 21b0d7e..e01b8ab 100644 --- a/src/main/java/com/imyeyu/api/modules/gao/controller/GaoStoreController.java +++ b/src/main/java/com/imyeyu/api/modules/gao/controller/GaoStoreController.java @@ -1,9 +1,7 @@ package com.imyeyu.api.modules.gao.controller; import com.imyeyu.api.modules.gao.annotation.RequireGaoPermission; -import com.imyeyu.api.modules.gao.annotation.RequireGaoRole; import com.imyeyu.api.modules.gao.bean.GaoPermissionCode; -import com.imyeyu.api.modules.gao.bean.GaoRoleCode; import com.imyeyu.api.modules.gao.entity.GaoStore; import com.imyeyu.api.modules.gao.service.GaoStoreService; import com.imyeyu.api.modules.user.service.UserLoginService; @@ -39,7 +37,6 @@ public class GaoStoreController { private final UserLoginService userLoginService; @AOPLog - @RequireGaoRole(GaoRoleCode.GLOBAL_MANAGER) @RequestRateLimit @RequireGaoPermission(GaoPermissionCode.STORE_READ) @PostMapping("/list") @@ -48,7 +45,6 @@ public class GaoStoreController { } @AOPLog - @RequireGaoRole(GaoRoleCode.STORE_MANAGER) @RequestRateLimit @RequireGaoPermission(GaoPermissionCode.STORE_READ) @PostMapping("/detail") @@ -66,7 +62,6 @@ public class GaoStoreController { } @AOPLog - @RequireGaoRole(GaoRoleCode.STORE_MANAGER) @RequestRateLimit @RequireGaoPermission(GaoPermissionCode.STORE_UPDATE) @PostMapping("/update") @@ -75,7 +70,6 @@ public class GaoStoreController { } @AOPLog - @RequireGaoRole(GaoRoleCode.GLOBAL_MANAGER) @RequestRateLimit @RequireGaoPermission(GaoPermissionCode.STORE_DELETE) @PostMapping("/delete") @@ -84,7 +78,6 @@ public class GaoStoreController { } @AOPLog - @RequireGaoRole(GaoRoleCode.GLOBAL_MANAGER) @RequestRateLimit @RequireGaoPermission(GaoPermissionCode.STORE_UPDATE) @PostMapping("/sort") diff --git a/src/main/java/com/imyeyu/api/modules/gao/controller/GaoUserController.java b/src/main/java/com/imyeyu/api/modules/gao/controller/GaoUserController.java index 0452932..f045ea8 100644 --- a/src/main/java/com/imyeyu/api/modules/gao/controller/GaoUserController.java +++ b/src/main/java/com/imyeyu/api/modules/gao/controller/GaoUserController.java @@ -5,7 +5,6 @@ import com.imyeyu.api.bean.ModuleCode; import com.imyeyu.api.modules.common.entity.Attachment; import com.imyeyu.api.modules.common.service.AttachmentService; import com.imyeyu.api.modules.gao.annotation.RequireGaoPermission; -import com.imyeyu.api.modules.gao.annotation.RequireGaoRole; import com.imyeyu.api.modules.gao.bean.GaoPermissionCode; import com.imyeyu.api.modules.gao.bean.GaoRoleCode; import com.imyeyu.api.modules.gao.entity.GaoUser; @@ -117,7 +116,6 @@ public class GaoUserController { @AOPLog @RequestRateLimit - @RequireGaoRole(GaoRoleCode.GLOBAL_MANAGER) @RequireGaoPermission(GaoPermissionCode.USER_UPDATE) @PostMapping("/transfer/store") @JsonView(ResponseView.Public.class)