فهرست منبع

广电注销数据同步

mac 2 سال پیش
والد
کامیت
4d2ce9b758

+ 5 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/controller/DtsController.java

@@ -102,6 +102,7 @@ public class DtsController {
     private final KxsUserTradeAfterService kxsUserTradeAfterService;
     private final KxsUserActTradeService kxsUserActTradeService;
     private final KxsMerchantTradeService kxsMerchantTradeService;
+    private final KxsUserLogoutTradeService kxsUserLogoutTradeService;
 
     @Value("${spring.profiles.active}")
     private String active;
@@ -375,6 +376,10 @@ public class DtsController {
             if ("PosMerchantTradeSummay".equals(dmlData.getTableName())) {
                 kxsMerchantTradeService.changeData(dmlData);
             }
+            //广电注销统计表
+            if ("UserSimActSummary".equals(dmlData.getTableName())) {
+                kxsUserLogoutTradeService.changeData(dmlData);
+            }
 
 
 

+ 19 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/mapper/stat/KxsUserLogoutTradeMapper.java

@@ -0,0 +1,19 @@
+package com.kxs.transfer.api.mapper.stat;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kxs.stat.api.model.KxsUserLogoutTrade;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 创客广电注销统计表(KxsUserLogoutTrade)表数据库访问层
+ *
+ * @author 系统
+ * @since 2024-05-13 11:35:06
+ */
+@Mapper
+@DS("stat")
+public interface KxsUserLogoutTradeMapper extends BaseMapper<KxsUserLogoutTrade> {
+
+}
+

+ 0 - 1
kxs-transfer/src/main/java/com/kxs/transfer/api/service/stat/KxsMerchantTradeService.java

@@ -63,7 +63,6 @@ public class KxsMerchantTradeService extends ServiceImpl<KxsMerchantTradeMapper,
                 .eq(KxsMerchantTrade::getTradeMonth, merchantTrade.getTradeMonth())
                 .eq(KxsMerchantTrade::getTradeDate, merchantTrade.getTradeDate()));
         if(kxsUserActTrade == null){
-            merchantTrade.setId(id);
             baseMapper.insert(merchantTrade);
         }else{
             merchantTrade.setId(kxsUserActTrade.getId());

+ 65 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/service/stat/KxsUserLogoutTradeService.java

@@ -0,0 +1,65 @@
+package com.kxs.transfer.api.service.stat;
+
+import com.aliyun.dts.subscribe.clients.record.OperationType;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kxs.stat.api.model.KxsUserLogoutTrade;
+import com.kxs.transfer.api.mapper.stat.KxsUserLogoutTradeMapper;
+import com.kxs.transfer.api.model.table.DMLData;
+import com.kxs.transfer.api.model.table.FieldData;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 创客广电注销统计表(KxsUserLogoutTrade)表服务实现类
+ *
+ * @author 系统
+ * @since 2024-05-13 11:35:06
+ */
+@Service("kxsUserLogoutTradeService")
+public class KxsUserLogoutTradeService extends ServiceImpl<KxsUserLogoutTradeMapper, KxsUserLogoutTrade>  {
+
+    public void changeData(DMLData dmlData) {
+
+        //修改的字段值
+        Map<String, Object> validFieldDataMap = dmlData.getValidFieldDataMap();
+        //全部字段值
+        Map<String, FieldData> fieldDataMap = dmlData.getFieldDataMap();
+        //修改的字段
+        List<String> changeFieldList = dmlData.getChangeFieldList();
+        //操作的主键
+        int id = Integer.parseInt(dmlData.getId());
+
+        KxsUserLogoutTrade logoutTrade = new KxsUserLogoutTrade();
+
+        OperationType operation = dmlData.getOperation();
+
+        if(operation.equals(OperationType.DELETE)){
+            baseMapper.deleteById(id);
+            return;
+        }
+        if (fieldDataMap.get("UserId").getValue() != null) {
+            logoutTrade.setUserId(Integer.valueOf(fieldDataMap.get("UserId").getValue().toString()));
+        }
+        if (fieldDataMap.get("Kind").getValue() != null) {
+            logoutTrade.setTotalType(Integer.valueOf(fieldDataMap.get("Kind").getValue().toString()));
+        }
+        if (fieldDataMap.get("ActCount").getValue() != null) {
+            logoutTrade.setLogoutNum(Integer.valueOf(fieldDataMap.get("ActCount").getValue().toString()));
+        }
+
+
+        KxsUserLogoutTrade kxsUserLogoutTrade = baseMapper.selectOne(Wrappers.<KxsUserLogoutTrade>lambdaQuery()
+                .eq(KxsUserLogoutTrade::getUserId, logoutTrade.getUserId())
+                .eq(KxsUserLogoutTrade::getTotalType, logoutTrade.getTotalType()));
+        if(kxsUserLogoutTrade == null){
+            baseMapper.insert(logoutTrade);
+        }else{
+            logoutTrade.setId(kxsUserLogoutTrade.getId());
+            baseMapper.updateById(logoutTrade);
+        }
+    }
+}
+