Эх сурвалжийг харах

update 优化多数据源aop顺序问题

疯狂的狮子li 3 жил өмнө
parent
commit
40bba563d6

+ 18 - 12
ruoyi-common/src/main/java/com/ruoyi/common/enums/DataSourceType.java

@@ -1,19 +1,25 @@
 package com.ruoyi.common.enums;
 
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
 /**
  * 数据源
- * 
- * @author ruoyi
+ *
+ * @author Lion Li
  */
-public enum DataSourceType
-{
-    /**
-     * 主库
-     */
-    MASTER,
+@AllArgsConstructor
+public enum DataSourceType {
+	/**
+	 * 主库
+	 */
+	MASTER("master"),
+
+	/**
+	 * 从库
+	 */
+	SLAVE("slave");
 
-    /**
-     * 从库
-     */
-    SLAVE
+	@Getter
+	private final String source;
 }

+ 4 - 2
ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java

@@ -20,7 +20,7 @@ import java.util.Objects;
  * @author ruoyi
  */
 @Aspect
-@Order(1)
+@Order(-500)
 @Component
 public class DataSourceAspect {
 
@@ -34,7 +34,9 @@ public class DataSourceAspect {
 		DataSource dataSource = getDataSource(point);
 
 		if (Validator.isNotNull(dataSource)) {
-			DynamicDataSourceContextHolder.push(dataSource.value().name());
+			DynamicDataSourceContextHolder.poll();
+			String source = dataSource.value().getSource();
+			DynamicDataSourceContextHolder.push(source);
 		}
 
 		try {