From 192cecdc6e28dc55186327ef602d796e97e7f2f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E7=86=8A?= Date: Wed, 25 Dec 2024 16:36:29 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E6=9B=B4=E6=96=B0=E7=A7=9F=E6=88=B7?= =?UTF-8?q?=E5=BF=BD=E7=95=A5=E6=B3=A8=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{TenantDataSourceIgnore.java => TenantIgnore.java} | 2 +- .../tenant/autoconfigure/TenantInterceptor.java | 9 +++++++++ .../handler/datasource/TenantDataSourceAdvisor.java | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) rename continew-starter-extension/continew-starter-extension-tenant/continew-starter-extension-tenant-core/src/main/java/top/continew/starter/extension/tenant/annotation/{TenantDataSourceIgnore.java => TenantIgnore.java} (95%) diff --git a/continew-starter-extension/continew-starter-extension-tenant/continew-starter-extension-tenant-core/src/main/java/top/continew/starter/extension/tenant/annotation/TenantDataSourceIgnore.java b/continew-starter-extension/continew-starter-extension-tenant/continew-starter-extension-tenant-core/src/main/java/top/continew/starter/extension/tenant/annotation/TenantIgnore.java similarity index 95% rename from continew-starter-extension/continew-starter-extension-tenant/continew-starter-extension-tenant-core/src/main/java/top/continew/starter/extension/tenant/annotation/TenantDataSourceIgnore.java rename to continew-starter-extension/continew-starter-extension-tenant/continew-starter-extension-tenant-core/src/main/java/top/continew/starter/extension/tenant/annotation/TenantIgnore.java index ddc6164..93c9db0 100644 --- a/continew-starter-extension/continew-starter-extension-tenant/continew-starter-extension-tenant-core/src/main/java/top/continew/starter/extension/tenant/annotation/TenantDataSourceIgnore.java +++ b/continew-starter-extension/continew-starter-extension-tenant/continew-starter-extension-tenant-core/src/main/java/top/continew/starter/extension/tenant/annotation/TenantIgnore.java @@ -27,5 +27,5 @@ @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Documented -public @interface TenantDataSourceIgnore { +public @interface TenantIgnore { } diff --git a/continew-starter-extension/continew-starter-extension-tenant/continew-starter-extension-tenant-core/src/main/java/top/continew/starter/extension/tenant/autoconfigure/TenantInterceptor.java b/continew-starter-extension/continew-starter-extension-tenant/continew-starter-extension-tenant-core/src/main/java/top/continew/starter/extension/tenant/autoconfigure/TenantInterceptor.java index c0e85aa..2068f0f 100644 --- a/continew-starter-extension/continew-starter-extension-tenant/continew-starter-extension-tenant-core/src/main/java/top/continew/starter/extension/tenant/autoconfigure/TenantInterceptor.java +++ b/continew-starter-extension/continew-starter-extension-tenant/continew-starter-extension-tenant-core/src/main/java/top/continew/starter/extension/tenant/autoconfigure/TenantInterceptor.java @@ -19,7 +19,9 @@ import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import org.springframework.core.Ordered; +import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerInterceptor; +import top.continew.starter.extension.tenant.annotation.TenantIgnore; import top.continew.starter.extension.tenant.config.TenantProvider; import top.continew.starter.extension.tenant.context.TenantContextHolder; @@ -41,6 +43,13 @@ public TenantInterceptor(TenantProperties tenantProperties, TenantProvider tenan @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { + if (handler instanceof HandlerMethod) { + HandlerMethod handlerMethod = (HandlerMethod)handler; + TenantIgnore customAnnotation = handlerMethod.getMethodAnnotation(TenantIgnore.class); + if (customAnnotation != null) { + return true; + } + } String tenantId = request.getHeader(tenantProperties.getTenantIdHeader()); TenantContextHolder.setContext(tenantProvider.getByTenantId(tenantId, true)); return true; diff --git a/continew-starter-extension/continew-starter-extension-tenant/continew-starter-extension-tenant-mp/src/main/java/top/continew/starter/extension/tenant/handler/datasource/TenantDataSourceAdvisor.java b/continew-starter-extension/continew-starter-extension-tenant/continew-starter-extension-tenant-mp/src/main/java/top/continew/starter/extension/tenant/handler/datasource/TenantDataSourceAdvisor.java index 57f3c7c..88b530a 100644 --- a/continew-starter-extension/continew-starter-extension-tenant/continew-starter-extension-tenant-mp/src/main/java/top/continew/starter/extension/tenant/handler/datasource/TenantDataSourceAdvisor.java +++ b/continew-starter-extension/continew-starter-extension-tenant/continew-starter-extension-tenant-mp/src/main/java/top/continew/starter/extension/tenant/handler/datasource/TenantDataSourceAdvisor.java @@ -67,7 +67,7 @@ private Pointcut buildPointcut() { AspectJExpressionPointcut cut = new AspectJExpressionPointcut(); cut.setExpression(""" execution(* *..controller..*(..)) - && !@annotation(top.continew.starter.extension.tenant.annotation.TenantDataSourceIgnore) + && !@annotation(top.continew.starter.extension.tenant.annotation.TenantIgnore) """); return new ComposablePointcut((Pointcut)cut); }