Explorar o código

同步合伙人金额变动记录表

mac %!s(int64=2) %!d(string=hai) anos
pai
achega
6850655fc0

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

@@ -170,6 +170,10 @@ public class DtsController {
             if ("UserAccount".equals(dmlData.getTableName()) && "KxsOpServer".equals(dmlData.getDatabaseName())) {
                 kxsPartnerService.changeAccountData(dmlData);
             }
+            //合伙人账户余额变动记录表
+            if ("AmountRecordNew".equals(dmlData.getTableName()) && "KxsOpServer".equals(dmlData.getDatabaseName())) {
+                kxsPartnerService.changeAccountLogData(dmlData);
+            }
             //用户结算卡变更记录
             if ("SettlementCardChangeRecord".equals(dmlData.getTableName())) {
                 kxsBankChangeLogService.changeData(dmlData);

+ 2 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/service/user/KxsPartnerService.java

@@ -15,5 +15,7 @@ public interface KxsPartnerService extends IService<KxsPartner> {
     void changeData(DMLData dmlData);
 
     void changeAccountData(DMLData dmlData);
+
+    void changeAccountLogData(DMLData dmlData);
 }
 

+ 97 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/service/user/impl/KxsPartnerServiceImpl.java

@@ -5,11 +5,16 @@ import cn.hutool.core.date.LocalDateTimeUtil;
 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.common.core.constant.enums.KindTypeEnum;
+import com.kxs.transfer.api.mapper.user.KxsPartnerAmountLogMapper;
 import com.kxs.transfer.api.mapper.user.KxsPartnerMapper;
 import com.kxs.transfer.api.model.table.DMLData;
 import com.kxs.transfer.api.service.user.KxsPartnerService;
+import com.kxs.user.api.model.KxsBankChangeLog;
 import com.kxs.user.api.model.KxsLeaderAmountLog;
 import com.kxs.user.api.model.KxsPartner;
+import com.kxs.user.api.model.KxsPartnerAmountLog;
+import lombok.RequiredArgsConstructor;
 import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.stereotype.Service;
 
@@ -24,8 +29,11 @@ import java.util.Map;
  * @since 2024-02-22 15:39:26
  */
 @Service("kxsPartnerService")
+@RequiredArgsConstructor
 public class KxsPartnerServiceImpl extends ServiceImpl<KxsPartnerMapper, KxsPartner> implements KxsPartnerService {
 
+    private final KxsPartnerAmountLogMapper kxsPartnerAmountLogMapper;
+
     @Override
     public void changeData(DMLData dmlData) {
         //修改的字段值
@@ -115,5 +123,94 @@ public class KxsPartnerServiceImpl extends ServiceImpl<KxsPartnerMapper, KxsPart
             baseMapper.updateById(partner);
         }
     }
+
+    @Override
+    public void changeAccountLogData(DMLData dmlData) {
+        //修改的字段值
+        Map<String, Object> validFieldDataMap = dmlData.getValidFieldDataMap();
+        //修改的字段
+        List<String> changeFieldList = dmlData.getChangeFieldList();
+        //操作的主键
+        int id = Integer.parseInt(dmlData.getId());
+
+        KxsPartnerAmountLog partnerAmountLog = new KxsPartnerAmountLog();
+        partnerAmountLog.setId(id);
+
+        //操作类型
+        OperationType operation = dmlData.getOperation();
+        for (String field : changeFieldList) {
+
+            switch (field) {
+                case "UserId":
+                    partnerAmountLog.setUserId(Integer.parseInt(validFieldDataMap.get(field).toString()));
+                    break;
+                case "UseAmount":
+                    partnerAmountLog.setAmount(new BigDecimal(validFieldDataMap.get(field).toString()));
+                    break;
+                case "BeforeAmount":
+                    partnerAmountLog.setBeforeAmount(new BigDecimal(validFieldDataMap.get(field).toString()));
+                    break;
+                case "AfterAmount":
+                    partnerAmountLog.setAfterAmount(new BigDecimal(validFieldDataMap.get(field).toString()));
+                    break;
+                case "AfterTotalAmt":
+                    partnerAmountLog.setAfterTotalAmount(new BigDecimal(validFieldDataMap.get(field).toString()));
+                    break;
+                case "AfterValidForGetAmount":
+                    partnerAmountLog.setAfterWithdrawalAmount(new BigDecimal(validFieldDataMap.get(field).toString()));
+                    break;
+                case "AfterValidAmount":
+                    partnerAmountLog.setAfterStoreAmount(new BigDecimal(validFieldDataMap.get(field).toString()));
+                    break;
+                case "UseValidAmount":
+                    partnerAmountLog.setUseStoreAmount(new BigDecimal(validFieldDataMap.get(field).toString()));
+                    break;
+                case "UseTotalAmt":
+                    partnerAmountLog.setUseTotalAmt(new BigDecimal(validFieldDataMap.get(field).toString()));
+                    break;
+                case "UseValidForGetAmount":
+                    partnerAmountLog.setUseWithdrawalAmount(new BigDecimal(validFieldDataMap.get(field).toString()));
+                    break;
+                case "Remark":
+                    partnerAmountLog.setRemark(validFieldDataMap.get(field).toString());
+                    break;
+                case "ChangeTypeId":
+                    partnerAmountLog.setChangeType(Integer.valueOf(validFieldDataMap.get(field).toString()));
+                    break;
+                case "OperateType":
+                    int type = Integer.parseInt(validFieldDataMap.get(field).toString());
+                    if(type == 0){
+                        partnerAmountLog.setKind(KindTypeEnum.ADD.getType());
+                    } else if (type == 1) {
+                        partnerAmountLog.setKind(KindTypeEnum.ADD.getType());
+                    }else{
+                        partnerAmountLog.setKind(KindTypeEnum.SUB.getType());
+                    }
+                    break;
+                case "CreateDate":
+                    partnerAmountLog.setCreateTime(LocalDateTimeUtil.parse(validFieldDataMap.get(field).toString(), DatePattern.NORM_DATETIME_PATTERN));
+                    break;
+                case "UpdateDate":
+                    partnerAmountLog.setUpdateTime(LocalDateTimeUtil.parse(validFieldDataMap.get(field).toString(), DatePattern.NORM_DATETIME_PATTERN));
+                    break;
+            }
+        }
+
+        if(operation.equals(OperationType.UPDATE)){
+
+            // 更新数据
+            kxsPartnerAmountLogMapper.updateById(partnerAmountLog);
+        }
+        if(operation.equals(OperationType.INSERT)){
+
+            KxsPartnerAmountLog kxsPartnerAmountLog = kxsPartnerAmountLogMapper.selectById(id);
+            if (kxsPartnerAmountLog != null){
+                kxsPartnerAmountLogMapper.updateById(partnerAmountLog);
+            }else{
+                // 插入数据
+                kxsPartnerAmountLogMapper.insert(partnerAmountLog);
+            }
+        }
+    }
 }
 

+ 13 - 0
kxs-transfer/src/main/resources/import.txt

@@ -247,6 +247,19 @@ select a.Id as id, a.UserId as user_id, a.CreateDate as create_time, a.UpdateDat
 BeforeCardNo as before_card_no, AfterCardNo as after_card_no
 FROM SettlementCardChangeRecord a
 
+--分期表同步
+SELECT a.Id as id, a.UserId as user_id, a.CreateDate as create_time, a.UpdateDate as update_time, case `Status` when -1 then 1 ELSE 0 end del_flag, case  when `Status` = 0 and QueryCount = 0 then 0 when `Status` = 1 and TimeNumber = QueryCount then 2 ELSE 1 end status,
+SeoTitle as create_by, SeoKeyword as stage_sn, TotalAmount as stage_amount, TimeNumber as number, StartDate as deduct_start_time, Remark as remark, ChargeAmount as deduct_amount
+FROM ToChargeByStage a WHERE status > -1
+
+-- 分期扣款明细
+SET @row_number = 0;
+SELECT a.Id as id, a.CreateDate as create_time, a.UpdateDate as update_time, case `Status` when -1 then 1 ELSE 0 end del_flag, `Status` as status,
+(@row_number:= IF(@last_field1 = ParentId, @row_number + 1, 1)) AS this_number,
+ @last_field1 := ParentId,
+SeoTitle as create_by, Remark as remark, ParentId as stage_id, ChargeAmount as amount, StartDate as deduct_time
+FROM ToChargeBackRecordSub a WHERE status > -1
+ORDER BY Id, ParentId
 
 
 

+ 8 - 2
kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/model/KxsPartnerAmountLog.java

@@ -141,7 +141,7 @@ public class KxsPartnerAmountLog extends Model<KxsPartnerAmountLog> implements S
      * 使用可提现额度
      */
     @Schema(description = "使用可提现额度")
-    private BigDecimal useWithdrawalMount;
+    private BigDecimal useWithdrawalAmount;
 
 
     /**
@@ -155,7 +155,13 @@ public class KxsPartnerAmountLog extends Model<KxsPartnerAmountLog> implements S
      * 使用后可提现额度
      */
     @Schema(description = "使用后可提现额度")
-    private BigDecimal afterWithdrawalMount;
+    private BigDecimal afterWithdrawalAmount;
+
+    /**
+     * 使用后可提现额度
+     */
+    @Schema(description = "使用后可提现额度")
+    private BigDecimal afterTotalAmount;
 
 
     /**

+ 5 - 1
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/service/impl/KxsTotalDebtServiceImpl.java

@@ -119,8 +119,10 @@ public class KxsTotalDebtServiceImpl extends ServiceImpl<KxsTotalDebtMapper, Kxs
             KxsPartnerAmountLog kxsPartnerAmountLog = new KxsPartnerAmountLog();
             kxsPartnerAmountLog.setUserId(kxsTotalDebt.getUserId());
             kxsPartnerAmountLog.setBeforeAmount(NumberUtil.add(kxsPartner.getWithdrawalAmount(),partnerDeductAmount));
+            kxsPartnerAmountLog.setAfterAmount(kxsPartner.getWithdrawalAmount());
             kxsPartnerAmountLog.setAmount(partnerDeductAmount);
-            kxsPartnerAmountLog.setAfterWithdrawalMount(kxsPartner.getWithdrawalAmount());
+            kxsPartnerAmountLog.setAfterWithdrawalAmount(kxsPartner.getWithdrawalAmount());
+            kxsPartnerAmountLog.setUseWithdrawalAmount(partnerDeductAmount);
             kxsPartnerAmountLog.setKind(KindTypeEnum.SUB.getType());
             kxsPartnerAmountLog.setRemark("预借款项还款");
             kxsPartnerAmountLog.setVariationType(UserVariationTypeEnum.PARTNER_WITHDRAW_BALANCE.getType());
@@ -178,6 +180,8 @@ public class KxsTotalDebtServiceImpl extends ServiceImpl<KxsTotalDebtMapper, Kxs
             KxsLeaderAmountLog kxsLeaderAmountLog = new KxsLeaderAmountLog();
             kxsLeaderAmountLog.setUserId(kxsTotalDebt.getUserId());
             kxsLeaderAmountLog.setRemark("预借款项还款");
+            kxsLeaderAmountLog.setBeforeAmount(NumberUtil.add(userAmount.getLeaderBalanceAmount(), leaderDeductAmount));
+            kxsLeaderAmountLog.setAfterAmount(userAmount.getLeaderBalanceAmount());
             kxsLeaderAmountLog.setBeforeWithdrawalAmount(NumberUtil.add(userAmount.getLeaderBalanceAmount(), leaderDeductAmount));
             kxsLeaderAmountLog.setAfterWithdrawalAmount(userAmount.getLeaderBalanceAmount());
             kxsLeaderAmountLog.setAmount(leaderDeductAmount);

+ 2 - 2
kxs-user/kxs-user-biz/src/main/resources/mapper/KxsPartnerAmountLogMapper.xml

@@ -18,9 +18,9 @@
         <result column="remark" property="remark" />
         <result column="use_store_amount" property="useStoreAmount" />
         <result column="use_total_amt" property="useTotalAmt" />
-        <result column="use_withdrawal_mount" property="useWithdrawalMount" />
+        <result column="use_withdrawal_amount" property="useWithdrawalAmount" />
         <result column="after_store_amount" property="afterStoreAmount" />
-        <result column="after_withdrawal_mount" property="afterWithdrawalMount" />
+        <result column="after_withdrawal_amount" property="afterWithdrawalAmount" />
         <result column="change_type" property="changeType" />
 
     </resultMap>