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