diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/aspect/DataPermissionDynamicMethodMatcher.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/aspect/DataPermissionPointcut.java similarity index 81% rename from ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/aspect/DataPermissionDynamicMethodMatcher.java rename to ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/aspect/DataPermissionPointcut.java index db1271bbb..4b7d945a3 100644 --- a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/aspect/DataPermissionDynamicMethodMatcher.java +++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/aspect/DataPermissionPointcut.java @@ -2,21 +2,19 @@ package org.dromara.common.mybatis.aspect; import lombok.extern.slf4j.Slf4j; import org.dromara.common.mybatis.annotation.DataPermission; -import org.springframework.aop.support.DynamicMethodMatcher; +import org.springframework.aop.support.StaticMethodMatcherPointcut; import java.lang.reflect.Method; import java.lang.reflect.Proxy; /** - * 数据权限动态方法匹配器 + * 数据权限匹配切点 * * @author 秋辞未寒 */ @Slf4j @SuppressWarnings("all") -public class DataPermissionDynamicMethodMatcher extends DynamicMethodMatcher { - - public DataPermissionDynamicMethodMatcher() {} +public class DataPermissionPointcut extends StaticMethodMatcherPointcut { @Override public boolean matches(Method method, Class targetClass) { @@ -38,9 +36,4 @@ public class DataPermissionDynamicMethodMatcher extends DynamicMethodMatcher { return targetClassRef.isAnnotationPresent(DataPermission.class); } - @Override - public boolean matches(Method method, Class targetClass, Object... args) { - return matches(method, targetClass); - } - } diff --git a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/aspect/DataPermissionPointcutAdvisor.java b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/aspect/DataPermissionPointcutAdvisor.java index 14dfed1df..351288ce4 100644 --- a/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/aspect/DataPermissionPointcutAdvisor.java +++ b/ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/aspect/DataPermissionPointcutAdvisor.java @@ -1,11 +1,8 @@ package org.dromara.common.mybatis.aspect; import org.aopalliance.aop.Advice; -import org.dromara.common.mybatis.annotation.DataPermission; import org.springframework.aop.Pointcut; import org.springframework.aop.support.AbstractPointcutAdvisor; -import org.springframework.aop.support.ComposablePointcut; -import org.springframework.aop.support.annotation.AnnotationMatchingPointcut; /** * 数据权限注解切面定义 @@ -20,9 +17,7 @@ public class DataPermissionPointcutAdvisor extends AbstractPointcutAdvisor { public DataPermissionPointcutAdvisor() { this.advice = new DataPermissionAdvice(); - AnnotationMatchingPointcut matchingPointcut = new AnnotationMatchingPointcut(DataPermission.class, true); - DataPermissionDynamicMethodMatcher matcher = new DataPermissionDynamicMethodMatcher(); - this.pointcut = new ComposablePointcut(matcher).union(matchingPointcut); + this.pointcut = new DataPermissionPointcut(); } @Override