From fe33646ee6e2d1e57f2b51812e94983a0e9efb04 Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期日, 14 十二月 2025 16:51:28 +0800
Subject: [PATCH] feat: 修复统计
---
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