From d4ab42ad79027bc6696b524ec4b2b446816d2a08 Mon Sep 17 00:00:00 2001
From: zjh <1084500556@qq.com>
Date: 星期六, 15 二月 2025 18:21:44 +0800
Subject: [PATCH] zjh20250215

---
 ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java      |    4 +-
 ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java |    2 
 ltkj-framework/src/main/java/com/ltkj/framework/aspectj/AsynAspect.java             |   62 +++++++++++++++++++++++++++++++
 3 files changed, 65 insertions(+), 3 deletions(-)

diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
index c489848..3ccc8a5 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/service/TjSysAsyncServiceImpl.java
@@ -584,7 +584,7 @@
     }
 
     @Override
-    @Async("async")
+//    @Async("async")
     public void updateOrdeltile(List<TjOrderDetail> tjOrderDetailList, SysUser sysUser, TjOrder order,TjOrderRemark orderRemark) {
         String deptname="";
         TjProject tjProject = projectService.getById(orderRemark.getProId());
diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java
index 8061883..57154e3 100644
--- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java
+++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/SysDeptController.java
@@ -1409,8 +1409,8 @@
                     one.setType(1);
                     remarkService.updateById(one);
                 }
-                asyncService.updateCheckType(orderRemark.getTjNumber());
-                asyncService.getOrderDetailByProParentId(orderRemark.getTjNumber(), null, String.valueOf(orderRemark.getProId()));
+//                asyncService.updateCheckType(orderRemark.getTjNumber());
+//                asyncService.getOrderDetailByProParentId(orderRemark.getTjNumber(), null, String.valueOf(orderRemark.getProId()));
                 return AjaxResult.success("鎿嶄綔鎴愬姛");
             }
 //            asyncService.updateCheckType(orderRemark.getTjNumber());
diff --git a/ltkj-framework/src/main/java/com/ltkj/framework/aspectj/AsynAspect.java b/ltkj-framework/src/main/java/com/ltkj/framework/aspectj/AsynAspect.java
new file mode 100644
index 0000000..1993ebf
--- /dev/null
+++ b/ltkj-framework/src/main/java/com/ltkj/framework/aspectj/AsynAspect.java
@@ -0,0 +1,62 @@
+package com.ltkj.framework.aspectj;
+
+import com.ltkj.common.annotation.DataSource;
+import com.ltkj.common.utils.StringUtils;
+import com.ltkj.db.DataSourceContextHolder;
+import com.ltkj.framework.datasource.DynamicDataSourceContextHolder;
+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.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.core.annotation.AnnotationUtils;
+import org.springframework.core.annotation.Order;
+import org.springframework.stereotype.Component;
+
+import java.util.Objects;
+
+/**
+ * ClassName: AsynAspect <br/>
+ * Description: <br/>
+ * date: 2025/2/15 18:07<br/>
+ *
+ * @author zjh<br />
+ */
+@Aspect
+@Order(2)
+@Component
+public class AsynAspect {
+
+    protected Logger logger = LoggerFactory.getLogger(getClass());
+
+    @Pointcut("@annotation(org.springframework.scheduling.annotation.Async)"
+            + "|| @within(org.springframework.scheduling.annotation.Async)")
+    public void dsPointCut() {
+
+    }
+
+    @Around("dsPointCut()")
+    public Object around(ProceedingJoinPoint point) throws Throwable {
+        String key = DataSourceContextHolder.getDataSourceKey();
+        logger.info("鎵ц涔嬪墠");
+        logger.info("DataSourceContextHolder ->{}",key);
+        logger.info("DynamicDataSourceContextHolder ->{}", DynamicDataSourceContextHolder.getDataSourceType());
+
+        DynamicDataSourceContextHolder.setDataSourceType(key);
+
+        try {
+            return point.proceed();
+        } finally {
+            logger.info("鎵ц涔嬪悗");
+            logger.info("DataSourceContextHolder ->{}",key);
+            logger.info("DynamicDataSourceContextHolder ->{}",DynamicDataSourceContextHolder.getDataSourceType());
+            // 閿�姣佹暟鎹簮 鍦ㄦ墽琛屾柟娉曚箣鍚�
+            DynamicDataSourceContextHolder.clearDataSourceType();
+            logger.info("鎵ц涔嬪悗 clear涔嬪悗");
+            logger.info("DataSourceContextHolder ->{}",key);
+            logger.info("DynamicDataSourceContextHolder ->{}",DynamicDataSourceContextHolder.getDataSourceType());
+        }
+    }
+}

--
Gitblit v1.8.0