Просмотр исходного кода

盟主和运营中心合并表

mac 2 лет назад
Родитель
Сommit
660bd70616

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

@@ -71,6 +71,7 @@ public class DtsController {
     private final KxsBankChangeLogService kxsBankChangeLogService;
     private final KxsUserByStageService kxsUserByStageService;
     private final KxsLeaderAmountLogService kxsLeaderAmountLogService;
+    private final KxsLeaderAccountLogService kxsLeaderAccountLogService;
     private final KxsUserReRealService kxsUserReRealService;
     private final KxsUserPresetBeforeService kxsUserPresetBeforeService;
 
@@ -202,18 +203,30 @@ public class DtsController {
             //盟主金额变动记录表
             if ("LeaderReserveRecord".equals(dmlData.getTableName())) {
                 kxsLeaderAmountLogService.changeData(dmlData);
+                //盟主运营中心合并的新表
+                kxsLeaderAccountLogService.changeData(dmlData);
+            }
+            //盟主可提现金额变动记录表
+            if ("LeaderAccountRecord".equals(dmlData.getTableName())) {
+                kxsLeaderAccountLogService.change2Data(dmlData);
             }
             //合伙人表
             if ("OperatorRankWhite".equals(dmlData.getTableName())) {
                 kxsPartnerService.changeData(dmlData);
+                //盟主表
+                kxsLeaderService.changeLeaderData(dmlData);
             }
             //合伙人账户 -> 合伙人表
             if ("UserAccount".equals(dmlData.getTableName()) && "KxsOpServer".equals(dmlData.getDatabaseName())) {
                 kxsPartnerService.changeAccountData(dmlData);
+
+                kxsLeaderService.changeAccountData(dmlData);
             }
             //合伙人账户余额变动记录表
             if ("AmountRecordNew".equals(dmlData.getTableName()) && "KxsOpServer".equals(dmlData.getDatabaseName())) {
                 kxsPartnerService.changeAccountLogData(dmlData);
+                //盟主金额变动记录
+                kxsLeaderAccountLogService.changePartnerData(dmlData);
             }
             //用户结算卡变更记录
             if ("SettlementCardChangeRecord".equals(dmlData.getTableName())) {

+ 17 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/mapper/user/KxsLeaderAccountLogMapper.java

@@ -0,0 +1,17 @@
+package com.kxs.transfer.api.mapper.user;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kxs.user.api.model.KxsLeaderAccountLog;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 盟主金额变动记录(KxsLeaderAccountLog)表数据库访问层
+ *
+ * @author 系统
+ * @since 2024-06-26 14:12:11
+ */
+@Mapper
+public interface KxsLeaderAccountLogMapper extends BaseMapper<KxsLeaderAccountLog> {
+
+}
+

+ 338 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/service/user/KxsLeaderAccountLogService.java

@@ -0,0 +1,338 @@
+package com.kxs.transfer.api.service.user;
+
+import cn.hutool.core.date.DatePattern;
+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.common.core.util.TotalDateUtil;
+import com.kxs.transfer.api.mapper.user.KxsChangeTypeKindMapper;
+import com.kxs.transfer.api.mapper.user.KxsLeaderAccountLogMapper;
+import com.kxs.transfer.api.model.table.DMLData;
+import com.kxs.transfer.api.model.table.FieldData;
+import com.kxs.user.api.model.KxsChangeTypeKind;
+import com.kxs.user.api.model.KxsLeaderAccountLog;
+import com.kxs.user.api.model.KxsLeaderAmountLog;
+import com.kxs.user.api.model.KxsPartnerAmountLog;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 盟主金额变动记录(KxsLeaderAccountLog)表服务实现类
+ *
+ * @author 系统
+ * @since 2024-06-26 14:12:12
+ */
+@Service("kxsLeaderAccountLogService")
+@RequiredArgsConstructor
+public class KxsLeaderAccountLogService extends ServiceImpl<KxsLeaderAccountLogMapper, KxsLeaderAccountLog>{
+
+    private final KxsChangeTypeKindMapper kxsChangeTypeKindMapper;
+
+    public void changeData(DMLData dmlData) {
+        //修改的字段值
+        Map<String, Object> validFieldDataMap = dmlData.getValidFieldDataMap();
+        //修改的字段
+        List<String> changeFieldList = dmlData.getChangeFieldList();
+        //操作的主键
+        int id = Integer.parseInt(dmlData.getId());
+
+        KxsLeaderAccountLog leaderAccountLog = new KxsLeaderAccountLog();
+
+        //操作类型
+        OperationType operation = dmlData.getOperation();
+        if (operation.equals(OperationType.DELETE) || operation.equals(OperationType.UPDATE)) {
+            return;
+        }
+        for (String field : changeFieldList) {
+
+            switch (field) {
+                case "UserId":
+                    leaderAccountLog.setUserId(Integer.parseInt(validFieldDataMap.get(field).toString()));
+                    break;
+                case "SourceUserId":
+                    leaderAccountLog.setSourceUserId(Integer.parseInt(validFieldDataMap.get(field).toString()));
+                    break;
+                case "Sort":
+                    leaderAccountLog.setChangeType(1);
+                    break;
+                case "ChangeType":
+                    int type = Integer.parseInt(validFieldDataMap.get(field).toString());
+                    if(type == 1){
+                        leaderAccountLog.setKind(KindTypeEnum.SUB.getType());
+                    } else {
+                        leaderAccountLog.setKind(KindTypeEnum.ADD.getType());
+                    }
+                    break;
+                case "ChangeAmt":
+                    leaderAccountLog.setAmount(new BigDecimal(validFieldDataMap.get(field).toString()));
+                    break;
+                case "TradeMonth":
+                    leaderAccountLog.setTradeMonth(Integer.parseInt(validFieldDataMap.get(field).toString()));
+                    break;
+                case "TradeDate":
+                    leaderAccountLog.setTradeDate(Integer.parseInt(validFieldDataMap.get(field).toString()));
+                    break;
+                case "OrderId":
+                    leaderAccountLog.setDataId(Integer.parseInt(validFieldDataMap.get(field).toString()));
+                    break;
+                case "BeforeAmt":
+                    leaderAccountLog.setBeforeAmount(new BigDecimal(validFieldDataMap.get(field).toString()));
+                    break;
+                case "AfterAmt":
+                    leaderAccountLog.setAfterAmount(new BigDecimal(validFieldDataMap.get(field).toString()));
+                    break;
+                case "Remark":
+                    leaderAccountLog.setRemark(validFieldDataMap.get(field).toString());
+                    break;
+                case "SeoKeyword":
+                    leaderAccountLog.setVariationCause(validFieldDataMap.get(field).toString());
+                    break;
+                case "CreateDate":
+                    leaderAccountLog.setCreateTime(LocalDateTimeUtil.parse(validFieldDataMap.get(field).toString(), DatePattern.NORM_DATETIME_PATTERN));
+                    break;
+                case "UpdateDate":
+                    leaderAccountLog.setUpdateTime(LocalDateTimeUtil.parse(validFieldDataMap.get(field).toString(), DatePattern.NORM_DATETIME_PATTERN));
+                    break;
+            }
+        }
+
+        if(operation.equals(OperationType.INSERT)){
+
+            // 插入数据
+            baseMapper.insert(leaderAccountLog);
+        }
+    }
+
+    public void change2Data(DMLData dmlData) {
+        //修改的字段值
+        Map<String, Object> validFieldDataMap = dmlData.getValidFieldDataMap();
+        //修改的字段
+        List<String> changeFieldList = dmlData.getChangeFieldList();
+        Map<String, FieldData> fieldDataMap = dmlData.getFieldDataMap();
+        //操作的主键
+        int id = Integer.parseInt(dmlData.getId());
+        List<KxsChangeTypeKind> kxsChangeTypeKinds = kxsChangeTypeKindMapper.selectList(Wrappers.<KxsChangeTypeKind>lambdaQuery().eq(KxsChangeTypeKind::getKind, 1));
+        List<Integer> adds = kxsChangeTypeKinds.stream().map(KxsChangeTypeKind::getId).toList();
+
+        KxsLeaderAccountLog leaderAccountLog = new KxsLeaderAccountLog();
+        leaderAccountLog.setChangeType(0);
+        //操作类型
+        OperationType operation = dmlData.getOperation();
+        if (operation.equals(OperationType.DELETE) || operation.equals(OperationType.UPDATE)) {
+            return;
+        }
+        for (String field : changeFieldList) {
+
+            switch (field) {
+                case "UserId":
+                    leaderAccountLog.setUserId(Integer.parseInt(validFieldDataMap.get(field).toString()));
+                    break;
+                case "ChangeType":
+                    int type = Integer.parseInt(validFieldDataMap.get(field).toString());
+                    if (adds.contains(type)) {
+                        leaderAccountLog.setKind(KindTypeEnum.ADD.getType());
+                    }else{
+                        leaderAccountLog.setKind(KindTypeEnum.SUB.getType());
+                    }
+                    leaderAccountLog.setVariationType(type);
+                    break;
+                case "ChangeAmount":
+                    leaderAccountLog.setAmount(new BigDecimal(validFieldDataMap.get(field).toString()));
+                    break;
+                case "BeforeBalanceAmount":
+                    leaderAccountLog.setBeforeAmount(new BigDecimal(validFieldDataMap.get(field).toString()));
+                    break;
+                case "AfterBalanceAmount":
+                    leaderAccountLog.setAfterAmount(new BigDecimal(validFieldDataMap.get(field).toString()));
+                    break;
+                case "SeoDescription":
+                    leaderAccountLog.setRemark(validFieldDataMap.get(field).toString());
+                    break;
+                case "CreateDate":
+                    LocalDateTime parse = LocalDateTimeUtil.parse(validFieldDataMap.get(field).toString(), DatePattern.NORM_DATETIME_PATTERN);
+                    Integer tradeMonth = TotalDateUtil.getMonthNumber(parse.toLocalDate());
+                    Integer tradeDate = TotalDateUtil.getDateNumber(parse.toLocalDate());
+                    leaderAccountLog.setTradeMonth(tradeMonth);
+                    leaderAccountLog.setTradeDate(tradeDate);
+                    leaderAccountLog.setCreateTime(parse);
+                    break;
+                case "UpdateDate":
+                    leaderAccountLog.setUpdateTime(LocalDateTimeUtil.parse(validFieldDataMap.get(field).toString(), DatePattern.NORM_DATETIME_PATTERN));
+                    break;
+            }
+        }
+
+        if(operation.equals(OperationType.INSERT)){
+
+            // 插入数据
+            baseMapper.insert(leaderAccountLog);
+        }
+    }
+
+    public void changePartnerData(DMLData dmlData) {
+        //修改的字段值
+        Map<String, Object> validFieldDataMap = dmlData.getValidFieldDataMap();
+        //修改的字段
+        List<String> changeFieldList = dmlData.getChangeFieldList();
+        Map<String, FieldData> fieldDataMap = dmlData.getFieldDataMap();
+        //操作的主键
+        int id = Integer.parseInt(dmlData.getId());
+
+
+        //操作类型
+        OperationType operation = dmlData.getOperation();
+        if (operation.equals(OperationType.DELETE) || operation.equals(OperationType.UPDATE)) {
+            return;
+        }
+        int operateType = 1;
+        if (fieldDataMap.get("OperateType").getValue() != null) {
+            operateType = Integer.parseInt(fieldDataMap.get("OperateType").getValue().toString());
+        }
+        //储蓄金变动
+        if (operateType == 0) {
+            KxsLeaderAccountLog leaderAccountLog = new KxsLeaderAccountLog();
+            KxsLeaderAccountLog leaderAccountLog1 = new KxsLeaderAccountLog();
+            leaderAccountLog1.setChangeType(1);
+            leaderAccountLog1.setKind(KindTypeEnum.SUB.getType());
+
+            for (String field : changeFieldList) {
+
+                switch (field) {
+                    case "UserId":
+                        leaderAccountLog1.setUserId(Integer.parseInt(validFieldDataMap.get(field).toString()));
+                        break;
+                    case "UseTotalAmt":
+                        leaderAccountLog1.setAmount(new BigDecimal(validFieldDataMap.get(field).toString()));
+                        break;
+                    case "AfterTotalAmt":
+                        leaderAccountLog1.setAfterAmount(new BigDecimal(validFieldDataMap.get(field).toString()));
+                        break;
+                    case "DataId":
+                        leaderAccountLog1.setDataId(Integer.parseInt(validFieldDataMap.get(field).toString()));
+                        break;
+                    case "ChangeTypeId":
+                        leaderAccountLog1.setVariationType(Integer.parseInt(validFieldDataMap.get(field).toString()));
+                        break;
+                    case "Remark":
+                        leaderAccountLog1.setRemark(validFieldDataMap.get(field).toString());
+                        break;
+                    case "CreateDate":
+                        LocalDateTime parse = LocalDateTimeUtil.parse(validFieldDataMap.get(field).toString(), DatePattern.NORM_DATETIME_PATTERN);
+                        Integer tradeMonth = TotalDateUtil.getMonthNumber(parse.toLocalDate());
+                        Integer tradeDate = TotalDateUtil.getDateNumber(parse.toLocalDate());
+                        leaderAccountLog1.setTradeMonth(tradeMonth);
+                        leaderAccountLog1.setTradeDate(tradeDate);
+                        leaderAccountLog1.setCreateTime(parse);
+                        break;
+                    case "UpdateDate":
+                        leaderAccountLog1.setUpdateTime(LocalDateTimeUtil.parse(validFieldDataMap.get(field).toString(), DatePattern.NORM_DATETIME_PATTERN));
+                        break;
+                }
+            }
+            if (operation.equals(OperationType.INSERT)) {
+                // 插入数据
+                baseMapper.insert(leaderAccountLog1);
+            }
+
+            leaderAccountLog.setChangeType(0);
+            leaderAccountLog1.setKind(KindTypeEnum.ADD.getType());
+            for (String field : changeFieldList) {
+
+                switch (field) {
+                    case "UserId":
+                        leaderAccountLog.setUserId(Integer.parseInt(validFieldDataMap.get(field).toString()));
+                        break;
+                    case "UseValidForGetAmount":
+                        leaderAccountLog.setAmount(new BigDecimal(validFieldDataMap.get(field).toString()));
+                        break;
+                    case "AfterValidForGetAmount":
+                        leaderAccountLog.setAfterAmount(new BigDecimal(validFieldDataMap.get(field).toString()));
+                        break;
+                    case "DataId":
+                        leaderAccountLog.setDataId(Integer.parseInt(validFieldDataMap.get(field).toString()));
+                        break;
+                    case "ChangeTypeId":
+                        leaderAccountLog.setVariationType(Integer.parseInt(validFieldDataMap.get(field).toString()));
+                        break;
+                    case "Remark":
+                        leaderAccountLog.setRemark(validFieldDataMap.get(field).toString());
+                        break;
+                    case "CreateDate":
+                        LocalDateTime parse = LocalDateTimeUtil.parse(validFieldDataMap.get(field).toString(), DatePattern.NORM_DATETIME_PATTERN);
+                        Integer tradeMonth = TotalDateUtil.getMonthNumber(parse.toLocalDate());
+                        Integer tradeDate = TotalDateUtil.getDateNumber(parse.toLocalDate());
+                        leaderAccountLog.setTradeMonth(tradeMonth);
+                        leaderAccountLog.setTradeDate(tradeDate);
+                        leaderAccountLog.setCreateTime(parse);
+                        break;
+                    case "UpdateDate":
+                        leaderAccountLog.setUpdateTime(LocalDateTimeUtil.parse(validFieldDataMap.get(field).toString(), DatePattern.NORM_DATETIME_PATTERN));
+                        break;
+                }
+            }
+            if (operation.equals(OperationType.INSERT)) {
+                // 插入数据
+                baseMapper.insert(leaderAccountLog);
+            }
+        } else {
+
+            KxsLeaderAccountLog leaderAccountLog = new KxsLeaderAccountLog();
+
+            for (String field : changeFieldList) {
+
+                switch (field) {
+                    case "UserId":
+                        leaderAccountLog.setUserId(Integer.parseInt(validFieldDataMap.get(field).toString()));
+                        break;
+                    case "UseValidForGetAmount":
+                        leaderAccountLog.setAmount(new BigDecimal(validFieldDataMap.get(field).toString()));
+                        break;
+                    case "AfterValidForGetAmount":
+                        leaderAccountLog.setAfterAmount(new BigDecimal(validFieldDataMap.get(field).toString()));
+                        break;
+                    case "DataId":
+                        leaderAccountLog.setDataId(Integer.parseInt(validFieldDataMap.get(field).toString()));
+                        break;
+                    case "ChangeTypeId":
+                        leaderAccountLog.setVariationType(Integer.parseInt(validFieldDataMap.get(field).toString()));
+                        break;
+                    case "Remark":
+                        leaderAccountLog.setRemark(validFieldDataMap.get(field).toString());
+                        break;
+                    case "OperateType":
+                        int type = Integer.parseInt(validFieldDataMap.get(field).toString());
+                        if (type == 1) {
+                            leaderAccountLog.setKind(KindTypeEnum.ADD.getType());
+                        } else {
+                            leaderAccountLog.setKind(KindTypeEnum.SUB.getType());
+                        }
+                        break;
+                    case "CreateDate":
+                        LocalDateTime parse = LocalDateTimeUtil.parse(validFieldDataMap.get(field).toString(), DatePattern.NORM_DATETIME_PATTERN);
+                        Integer tradeMonth = TotalDateUtil.getMonthNumber(parse.toLocalDate());
+                        Integer tradeDate = TotalDateUtil.getDateNumber(parse.toLocalDate());
+                        leaderAccountLog.setTradeMonth(tradeMonth);
+                        leaderAccountLog.setTradeDate(tradeDate);
+                        leaderAccountLog.setCreateTime(parse);
+                        break;
+                    case "UpdateDate":
+                        leaderAccountLog.setUpdateTime(LocalDateTimeUtil.parse(validFieldDataMap.get(field).toString(), DatePattern.NORM_DATETIME_PATTERN));
+                        break;
+                }
+            }
+
+            if (operation.equals(OperationType.INSERT)) {
+                // 插入数据
+                baseMapper.insert(leaderAccountLog);
+            }
+        }
+    }
+}
+

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

@@ -13,5 +13,7 @@ import com.kxs.user.api.model.KxsLeaderAmountLog;
 public interface KxsLeaderAmountLogService extends IService<KxsLeaderAmountLog> {
 
     void changeData(DMLData dmlData);
+
+    void changeAccountLogData(DMLData dmlData);
 }
 

+ 4 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/service/user/KxsLeaderService.java

@@ -13,5 +13,9 @@ import com.kxs.user.api.model.KxsLeader;
 public interface KxsLeaderService extends IService<KxsLeader> {
 
     void changeData(DMLData dmlData);
+
+    void changeLeaderData(DMLData dmlData);
+
+    void changeAccountData(DMLData dmlData);
 }
 

+ 6 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/service/user/impl/KxsLeaderAmountLogServiceImpl.java

@@ -102,5 +102,11 @@ public class KxsLeaderAmountLogServiceImpl extends ServiceImpl<KxsLeaderAmountLo
             }
         }
     }
+
+    @Override
+    public void changeAccountLogData(DMLData dmlData) {
+
+
+    }
 }
 

+ 84 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/service/user/impl/KxsLeaderServiceImpl.java

@@ -5,11 +5,17 @@ import cn.hutool.core.date.LocalDateTimeUtil;
 import com.aliyun.dts.subscribe.clients.record.OperationType;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.kxs.transfer.api.mapper.user.KxsLeaderMapper;
+import com.kxs.transfer.api.mapper.user.KxsUserAmountMapper;
 import com.kxs.transfer.api.model.table.DMLData;
 import com.kxs.transfer.api.service.user.KxsLeaderService;
 import com.kxs.user.api.model.KxsLeader;
+import com.kxs.user.api.model.KxsPartner;
+import com.kxs.user.api.model.KxsUserAmount;
+import lombok.RequiredArgsConstructor;
+import org.apache.commons.lang3.ObjectUtils;
 import org.springframework.stereotype.Service;
 
+import java.math.BigDecimal;
 import java.util.List;
 import java.util.Map;
 
@@ -20,8 +26,10 @@ import java.util.Map;
  * @since 2024-02-22 15:39:26
  */
 @Service("kxsLeaderService")
+@RequiredArgsConstructor
 public class KxsLeaderServiceImpl extends ServiceImpl<KxsLeaderMapper, KxsLeader> implements KxsLeaderService {
 
+    private final KxsUserAmountMapper kxsUserAmountMapper;
     @Override
     public void changeData(DMLData dmlData) {
         //修改的字段值
@@ -83,5 +91,81 @@ public class KxsLeaderServiceImpl extends ServiceImpl<KxsLeaderMapper, KxsLeader
             }
         }
     }
+
+    @Override
+    public void changeLeaderData(DMLData dmlData) {
+        //修改的字段值
+        Map<String, Object> validFieldDataMap = dmlData.getValidFieldDataMap();
+        //修改的字段
+        List<String> changeFieldList = dmlData.getChangeFieldList();
+        //操作的主键
+        int id = Integer.parseInt(dmlData.getId());
+
+        KxsLeader leader = new KxsLeader();
+        leader.setId(id);
+
+        //操作类型
+        OperationType operation = dmlData.getOperation();
+
+        if(operation.equals(OperationType.DELETE)){
+            baseMapper.deleteById(leader.getId());
+            return;
+        }
+        for (String field : changeFieldList) {
+
+            switch (field) {
+                case "UserId":
+                    leader.setUserId(Integer.parseInt(validFieldDataMap.get(field).toString()));
+                    break;
+                case "Rank":
+                    leader.setLeaderLevel(Integer.parseInt(validFieldDataMap.get(field).toString()));
+                    break;
+                case "CreateDate":
+                    leader.setCreateTime(LocalDateTimeUtil.parse(validFieldDataMap.get(field).toString(), DatePattern.NORM_DATETIME_PATTERN));
+                    break;
+                case "UpdateDate":
+                    leader.setExpiredDate(LocalDateTimeUtil.parse(validFieldDataMap.get(field).toString(), DatePattern.NORM_DATETIME_PATTERN));
+                    break;
+            }
+        }
+        KxsLeader kxsLeader = baseMapper.selectById(leader.getId());
+        if(kxsLeader != null){
+            baseMapper.updateById(leader);
+        }
+    }
+
+    @Override
+    public void changeAccountData(DMLData dmlData) {
+        //修改的字段值
+        Map<String, Object> validFieldDataMap = dmlData.getValidFieldDataMap();
+        //修改的字段
+        List<String> changeFieldList = dmlData.getChangeFieldList();
+        //操作的主键
+        int id = Integer.parseInt(dmlData.getId());
+
+        KxsLeader leader = new KxsLeader();
+        leader.setId(id);
+
+        KxsUserAmount userAmount = kxsUserAmountMapper.selectById(id);
+        if(userAmount == null ){
+            return;
+        }
+        for (String field : changeFieldList) {
+
+            switch (field) {
+                case "UserId":
+                    userAmount.setUserId(Integer.parseInt(validFieldDataMap.get(field).toString()));
+                    break;
+                case "ValidForGetAmount":
+                    userAmount.setLeaderBalanceAmount(new BigDecimal(validFieldDataMap.get(field).toString()));
+                    break;
+                case "TotalAmt":
+                    userAmount.setLeaderReserve(new BigDecimal(validFieldDataMap.get(field).toString()));
+                    break;
+            }
+        }
+        kxsUserAmountMapper.updateById(userAmount);
+
+    }
 }
 

+ 18 - 17
kxs-transfer/src/main/java/com/kxs/transfer/api/service/user/impl/KxsUserServiceImpl.java

@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.kxs.common.core.constant.SecurityConstants;
 import com.kxs.common.core.constant.enums.ErrorTypeEnum;
+import com.kxs.common.core.constant.enums.LeaderTypeEnum;
 import com.kxs.common.core.exception.GlobalCustomerException;
 import com.kxs.common.core.util.R;
 import com.kxs.product.api.model.KxsMachine;
@@ -49,7 +50,7 @@ public class KxsUserServiceImpl extends ServiceImpl<KxsUserMapper, KxsUser> impl
 
     private final KxsUserBankMapper kxsUserBankMapper;
 
-    private final KxsPartnerMapper kxsPartnerMapper;
+    private final KxsLeaderMapper kxsLeaderMapper;
 
     private final KxsUserAmountMapper kxsUserAmountMapper;
 
@@ -199,39 +200,39 @@ public class KxsUserServiceImpl extends ServiceImpl<KxsUserMapper, KxsUser> impl
                     //合伙人等级改变
                     int userType = Integer.parseInt(fieldDataMap.get(field).toString());
                     if(userType > 0){
-                        KxsPartner kxsPartner = kxsPartnerMapper.selectOne(Wrappers.<KxsPartner>lambdaQuery().eq(KxsPartner::getUserId, userId));
-                        if (kxsPartner == null){
-                            kxsPartner = new KxsPartner();
-                            kxsPartner.setId(Integer.valueOf(userId));
-                            kxsPartner.setUserId(Integer.valueOf(userId));
+                        KxsLeader leader = kxsLeaderMapper.selectOne(Wrappers.<KxsLeader>lambdaQuery().eq(KxsLeader::getUserId, userId));
+                        if (leader == null){
+                            leader = new KxsLeader();
+                            leader.setId(Integer.valueOf(userId));
+                            leader.setUserId(Integer.valueOf(userId));
                             if(userType == 1){
-                                kxsPartner.setPartnerType(0);
+                                leader.setLeaderType(LeaderTypeEnum.OP_LEADER.getType());
                             }
                             if(userType == 2){
-                                kxsPartner.setPartnerType(1);
+                                leader.setLeaderType(LeaderTypeEnum.GOLD_LEADER.getType());
                             }
                             if(userType == 3){
-                                kxsPartner.setPartnerType(2);
+                                leader.setLeaderType(LeaderTypeEnum.DI_LEADER.getType());
                             }
                             if(userType == 4){
-                                kxsPartner.setPartnerType(3);
+                                leader.setLeaderType(LeaderTypeEnum.TC_LEADER.getType());
                             }
-                            kxsPartner.setPartnerLevel(9);
-                            kxsPartnerMapper.insert(kxsPartner);
+                            leader.setLeaderType(9);
+                            kxsLeaderMapper.insert(leader);
                         }else{
                             if(userType == 1){
-                                kxsPartner.setPartnerType(0);
+                                leader.setLeaderType(LeaderTypeEnum.OP_LEADER.getType());
                             }
                             if(userType == 2){
-                                kxsPartner.setPartnerType(1);
+                                leader.setLeaderType(LeaderTypeEnum.GOLD_LEADER.getType());
                             }
                             if(userType == 3){
-                                kxsPartner.setPartnerType(2);
+                                leader.setLeaderType(LeaderTypeEnum.DI_LEADER.getType());
                             }
                             if(userType == 4){
-                                kxsPartner.setPartnerType(3);
+                                leader.setLeaderType(LeaderTypeEnum.TC_LEADER.getType());
                             }
-                            kxsPartnerMapper.updateById(kxsPartner);
+                            kxsLeaderMapper.updateById(leader);
                         }
                     }
                     break;

+ 160 - 0
kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/model/KxsLeaderAccountLog.java

@@ -0,0 +1,160 @@
+package com.kxs.user.api.model;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 盟主金额变动记录(KxsLeaderAccountLog)表实体类
+ *
+ * @author 系统
+ * @since 2024-06-26 14:12:11
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class KxsLeaderAccountLog extends Model<KxsLeaderAccountLog> implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    
+    
+    /**
+     * 主键ID
+     */
+    @Schema(description = "主键ID")
+    @TableId(type = IdType.AUTO)
+    private Integer id;
+
+
+    /**
+     * 新增时间
+     */
+    @TableField(fill = FieldFill.INSERT)
+    @Schema(description = "新增时间")
+    private LocalDateTime createTime;
+
+
+    /**
+     * 更新时间
+     */
+    @TableField(fill = FieldFill.UPDATE)
+    @Schema(description = "更新时间")
+    private LocalDateTime updateTime;
+
+
+    /**
+     * 删除标记,0未删除,1已删除
+     */
+    @Schema(description = "删除标记,0未删除,1已删除")
+    private Integer delFlag;
+
+
+    /**
+     * 版本
+     */
+    @Schema(description = "版本")
+    private Integer version;
+
+
+    /**
+     * 用户ID
+     */
+    @Schema(description = "用户ID")
+    private Integer userId;
+
+
+    /**
+     * 变动前金额
+     */
+    @Schema(description = "变动前金额")
+    private BigDecimal beforeAmount;
+
+
+    /**
+     * 变动后金额
+     */
+    @Schema(description = "变动后金额")
+    private BigDecimal afterAmount;
+
+
+    /**
+     * 操作金额
+     */
+    @Schema(description = "操作金额")
+    private BigDecimal amount;
+
+
+    /**
+     * 金额类型
+     */
+    @Schema(description = "金额类型")
+    private Integer variationType;
+
+
+    /**
+     * 原因
+     */
+    @Schema(description = "原因")
+    private String variationCause;
+
+
+    /**
+     * 日志类型 add新增 sub减少
+     */
+    @Schema(description = "日志类型 add新增 sub减少")
+    private String kind;
+
+
+    /**
+     * 备注
+     */
+    @Schema(description = "备注")
+    private String remark;
+
+
+    /**
+     * 大盟主的用户ID 标记
+     */
+    @Schema(description = "大盟主的用户ID 标记")
+    private Integer sourceUserId;
+
+
+    /**
+     * 变动类型 可提现余额增减=0 储蓄金增减=1
+     */
+    @Schema(description = "变动类型 可提现余额增减=0 储蓄金增减=1")
+    private Integer changeType;
+
+
+    /**
+     * 数据来源Id
+     */
+    @Schema(description = "数据来源Id")
+    private Integer dataId;
+
+    /**
+     * 贸易月
+     */
+    private Integer tradeMonth;
+
+    /**
+     * 交易日期
+     */
+    private Integer tradeDate;
+
+
+
+
+}
+

+ 27 - 0
kxs-user/kxs-user-biz/src/main/resources/mapper/KxsLeaderAccountLogMapper.xml

@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.kxs.user.biz.mapper.KxsLeaderAccountLogMapper">
+
+    <resultMap type="com.kxs.user.api.model.KxsLeaderAccountLog" id="KxsLeaderAccountLogMap">
+        <result column="id" property="id" />
+        <result column="create_time" property="createTime" />
+        <result column="update_time" property="updateTime" />
+        <result column="del_flag" property="delFlag" />
+        <result column="version" property="version" />
+        <result column="user_id" property="userId" />
+        <result column="before_amount" property="beforeAmount" />
+        <result column="after_amount" property="afterAmount" />
+        <result column="amount" property="amount" />
+        <result column="variation_type" property="variationType" />
+        <result column="variation_cause" property="variationCause" />
+        <result column="kind" property="kind" />
+        <result column="remark" property="remark" />
+        <result column="source_user_id" property="sourceUserId" />
+        <result column="change_type" property="changeType" />
+        <result column="data_id" property="dataId" />
+        <result column="trade_month" property="tradeMonth" />
+        <result column="trade_date" property="tradeDate" />
+
+    </resultMap>
+
+</mapper>