From 836ec39fdad422b1a148699a4c5fb8c5b4d395f0 Mon Sep 17 00:00:00 2001
From: zuoxiao <lf_zuo@163.com>
Date: 星期三, 25 六月 2025 11:04:33 +0800
Subject: [PATCH] feat(card): 添加管理类型卡写卡功能并优化卡片相关逻辑- 在 OperateTypeENUM 中添加 SUPPLEMENT 和 MANAGEMENT_CARD_WRITE 枚举值 - 在 SeManagementCard 中添加 cancelTime 和 state 字段 - 更新相关 mapper 和 XML 文件以支持新增字段 - 修改 CardSv 中的回调处理逻辑,支持管理类型卡写卡 - 优化 CreateManagementCardDto 中识别码的示例值
---
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/multiDataSource/DataSourceSingleAspect.java | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 57 insertions(+), 0 deletions(-)
diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/multiDataSource/DataSourceSingleAspect.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/multiDataSource/DataSourceSingleAspect.java
new file mode 100644
index 0000000..1f7c680
--- /dev/null
+++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/multiDataSource/DataSourceSingleAspect.java
@@ -0,0 +1,57 @@
+package com.dy.common.multiDataSource;
+
+
+import com.dy.common.contant.Constant;
+import com.dy.common.springUtil.SpringContextUtil;
+import com.mysql.cj.util.StringUtils;
+import lombok.extern.slf4j.Slf4j;
+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.springframework.core.annotation.Order;
+import org.springframework.stereotype.Component;
+
+import java.lang.reflect.Method;
+import java.util.Objects;
+
+@Slf4j
+@Aspect
+@Order(Constant.AspectOrderDataSource)
+@Component
+public class DataSourceSingleAspect {
+
+ @Pointcut("@annotation(com.dy.common.multiDataSource.DataSourceSingle)")
+ public void dataSourceSinglePointCut() {
+ }
+
+ @Around("dataSourceSinglePointCut()")
+ public Object around(ProceedingJoinPoint point) throws Throwable {
+ MethodSignature signature = (MethodSignature) point.getSignature();
+ Method method = signature.getMethod();
+ DataSourceSingle dataSource = method.getAnnotation(DataSourceSingle.class);
+
+ if (Objects.nonNull(dataSource) && !StringUtils.isNullOrEmpty(dataSource.value())) {
+ //log.info("鏁版嵁婧愭寚瀹氫负" + dataSource.value());
+ //寮哄埗杞垚鏂规硶涓婇厤缃殑鏁版嵁婧愶紝鏇挎崲鎺塂ataSourceContext涓繚瀛樼殑鏁版嵁婧�
+ DataSourceContext.set(dataSource.value());
+ }else{
+ String datasourceName = SpringContextUtil.getApplicationContext().getEnvironment().getProperty("spring.datasource.names") ;
+ if(!StringUtils.isNullOrEmpty(datasourceName)){
+ //log.info("鏍规嵁閰嶇疆鏁版嵁婧愪负" + datasourceName);
+ DataSourceContext.set(datasourceName);
+ }else{
+ log.error("鏁版嵁婧愭湭鎸囧畾");
+ }
+ }
+ try {
+ //log.info("鏁版嵁搴撴搷浣滃紑濮�" + dataSource.value());
+ return point.proceed();
+ } finally {
+ // 閿�姣佹暟鎹簮 鍦ㄦ墽琛屾柟娉曚箣鍚�
+ //log.info("鏁版嵁婧愭搷浣滃畬姣�" + dataSource.value());
+ DataSourceContext.remove();
+ }
+ }
+}
--
Gitblit v1.8.0