瀏覽代碼

物流数据添加问题处理

yzc 2 年之前
父節點
當前提交
01a0ac6b01

+ 1 - 0
hx-common/src/main/java/com/fjhx/common/constant/SourceConstant.java

@@ -30,5 +30,6 @@ public interface SourceConstant {
     String COMMON = "common";
 
     String VICTORIATOURIST = "victoriatourist";
+    String KD100 = "kd100";
 
 }

+ 6 - 1
hx-victoriatourist/src/main/java/com/fjhx/victoriatourist/service/logistics/impl/LogisticsInfosServiceImpl.java

@@ -2,9 +2,12 @@ package com.fjhx.victoriatourist.service.logistics.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.dynamic.datasource.annotation.DSTransactional;
+import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.common.constant.SourceConstant;
 import com.fjhx.kd100.entity.company.po.CompanyInfo;
 import com.fjhx.kd100.entity.logistics.po.LogisticsInfo;
 import com.fjhx.kd100.event.Kd100CallbackEvent;
@@ -88,15 +91,17 @@ public class LogisticsInfosServiceImpl extends ServiceImpl<LogisticsInfosMapper,
         return result;
     }
 
-    @Transactional(rollbackFor = Exception.class)
+    @DSTransactional
     @Override
     public void add(LogisticsInfosDto logisticsInfosDto) {
         long logisticsInfosId = IdWorker.getId();
         logisticsInfosDto.setId(logisticsInfosId);
         if (logisticsInfosDto.getIsKd100() == 1) {
             //发起快递100订阅
+            DynamicDataSourceContextHolder.push(SourceConstant.KD100);
             Integer state = KD100Util.monitor(logisticsInfosDto.getLogisticsCompanyCode(), logisticsInfosDto.getCode(), logisticsInfosId, 1, LogisticsInfos.class).getState();
             logisticsInfosDto.setLogisticsStatus(state);
+            DynamicDataSourceContextHolder.poll();
         }
         this.save(logisticsInfosDto);
         LogisticsDetails logisticsDetails = new LogisticsDetails();