From 5d75fcaea0a3774052b7484a4ffe755258502363 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期六, 06 十二月 2025 20:49:11 +0800
Subject: [PATCH] fix:开始执行人员就绪按钮

---
 ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/DataSourceAspect.java |   30 +++++++++++++++++++++++++++---
 1 files changed, 27 insertions(+), 3 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 8c2c9f4..40b9aaa 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
@@ -38,10 +38,21 @@
     public Object around(ProceedingJoinPoint point) throws Throwable
     {
         DataSource dataSource = getDataSource(point);
+        
+        // 璁板綍褰撳墠鏁版嵁婧愶紝鐢ㄤ簬鍒ゆ柇鏄惁闇�瑕佹仮澶�
+        String oldDataSourceType = DynamicDataSourceContextHolder.getDataSourceType();
+        boolean isNewDataSource = false;
 
         if (StringUtils.isNotNull(dataSource))
         {
-            DynamicDataSourceContextHolder.setDataSourceType(dataSource.value().name());
+            String newDataSourceType = dataSource.value().name();
+            // 鍙湁褰撴暟鎹簮鍙戠敓鍙樺寲鏃舵墠璁剧疆鏂扮殑鏁版嵁婧�
+            if (!newDataSourceType.equals(oldDataSourceType))
+            {
+                DynamicDataSourceContextHolder.setDataSourceType(newDataSourceType);
+                isNewDataSource = true;
+                //logger.debug("鍒囨崲鏁版嵁婧�: {} -> {}", oldDataSourceType, newDataSourceType);
+            }
         }
 
         try
@@ -50,8 +61,21 @@
         }
         finally
         {
-            // 閿�姣佹暟鎹簮 鍦ㄦ墽琛屾柟娉曚箣鍚�
-            DynamicDataSourceContextHolder.clearDataSourceType();
+            // 鍙湁褰撴湰娆¤皟鐢ㄦ敼鍙樹簡鏁版嵁婧愭椂锛屾墠闇�瑕佹仮澶�
+            if (isNewDataSource)
+            {
+                // 鎭㈠鍒颁箣鍓嶇殑鏁版嵁婧�
+                if (StringUtils.isNotEmpty(oldDataSourceType))
+                {
+                    DynamicDataSourceContextHolder.setDataSourceType(oldDataSourceType);
+                    //logger.debug("鎭㈠鏁版嵁婧�: {}", oldDataSourceType);
+                }
+                else
+                {
+                    DynamicDataSourceContextHolder.clearDataSourceType();
+                    //logger.debug("娓呴櫎鏁版嵁婧愶紝鎭㈠鍒伴粯璁ゆ暟鎹簮");
+                }
+            }
         }
     }
 

--
Gitblit v1.9.1