Forráskód Böngészése

update 优化数据权限注解切点逻辑,使切点逻辑更清晰

秋辞未寒 11 hónapja
szülő
commit
554152635d

+ 3 - 10
ruoyi-common/ruoyi-common-mybatis/src/main/java/org/dromara/common/mybatis/aspect/DataPermissionDynamicMethodMatcher.java → 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 lombok.extern.slf4j.Slf4j;
 import org.dromara.common.mybatis.annotation.DataPermission;
 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.Method;
 import java.lang.reflect.Proxy;
 import java.lang.reflect.Proxy;
 
 
 /**
 /**
- * 数据权限动态方法匹配器
+ * 数据权限匹配切点
  *
  *
  * @author 秋辞未寒
  * @author 秋辞未寒
  */
  */
 @Slf4j
 @Slf4j
 @SuppressWarnings("all")
 @SuppressWarnings("all")
-public class DataPermissionDynamicMethodMatcher extends DynamicMethodMatcher {
-
-    public DataPermissionDynamicMethodMatcher() {}
+public class DataPermissionPointcut extends StaticMethodMatcherPointcut {
 
 
     @Override
     @Override
     public boolean matches(Method method, Class<?> targetClass) {
     public boolean matches(Method method, Class<?> targetClass) {
@@ -38,9 +36,4 @@ public class DataPermissionDynamicMethodMatcher extends DynamicMethodMatcher {
         return targetClassRef.isAnnotationPresent(DataPermission.class);
         return targetClassRef.isAnnotationPresent(DataPermission.class);
     }
     }
 
 
-    @Override
-    public boolean matches(Method method, Class<?> targetClass, Object... args) {
-        return matches(method, targetClass);
-    }
-
 }
 }

+ 1 - 6
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;
 package org.dromara.common.mybatis.aspect;
 
 
 import org.aopalliance.aop.Advice;
 import org.aopalliance.aop.Advice;
-import org.dromara.common.mybatis.annotation.DataPermission;
 import org.springframework.aop.Pointcut;
 import org.springframework.aop.Pointcut;
 import org.springframework.aop.support.AbstractPointcutAdvisor;
 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() {
     public DataPermissionPointcutAdvisor() {
         this.advice = new DataPermissionAdvice();
         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
     @Override