From 3f97d19381449b09898a9462e9289904696736c4 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期三, 15 十二月 2021 13:29:54 +0800
Subject: [PATCH] update [重磅更新] 重构分页 简化使用
---
ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java | 31 +++++++++++++++++++++++++++++--
1 files changed, 29 insertions(+), 2 deletions(-)
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java
index 55ec845..0b1c898 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java
@@ -6,21 +6,35 @@
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Pointcut;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.springframework.core.annotation.AnnotationUtils;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
+
+import java.util.Objects;
/**
* 澶氭暟鎹簮澶勭悊
*
* @author Lion Li
+ * @deprecated 3.6.0 绉婚櫎 浣跨敤鍘熺敓鏂规硶澶勭悊 鍔熻兘鏇村叏
*/
@Aspect
@Order(-500)
@Component
+@Deprecated
public class DataSourceAspect {
- @Around("@annotation(dataSource) || @within(dataSource)")
- public Object around(ProceedingJoinPoint point, DataSource dataSource) throws Throwable {
+ @Pointcut("@annotation(com.ruoyi.common.annotation.DataSource)"
+ + "|| @within(com.ruoyi.common.annotation.DataSource)")
+ public void dsPointCut() {
+ }
+
+ @Around("dsPointCut()")
+ public Object around(ProceedingJoinPoint point) throws Throwable {
+ DataSource dataSource = getDataSource(point);
+
if (StringUtils.isNotNull(dataSource)) {
DynamicDataSourceContextHolder.poll();
String source = dataSource.value().getSource();
@@ -35,4 +49,17 @@
}
}
+ /**
+ * 鑾峰彇闇�瑕佸垏鎹㈢殑鏁版嵁婧�
+ */
+ public DataSource getDataSource(ProceedingJoinPoint point) {
+ MethodSignature signature = (MethodSignature) point.getSignature();
+ DataSource dataSource = AnnotationUtils.findAnnotation(signature.getMethod(), DataSource.class);
+ if (Objects.nonNull(dataSource)) {
+ return dataSource;
+ }
+
+ return AnnotationUtils.findAnnotation(signature.getDeclaringType(), DataSource.class);
+ }
+
}
--
Gitblit v1.9.3