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

Merge branch 'develop' into test-transfer

* develop:
  助力宝交易额统计
  股东大盘分红算法核定,定版
mac 2 лет назад
Родитель
Сommit
8766e784aa

+ 108 - 0
kxs-stat/kxs-stat-api/src/main/java/com/kxs/stat/api/model/KxsZlbTrade.java

@@ -0,0 +1,108 @@
+package com.kxs.stat.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;
+
+/**
+ * 助力宝交易额统计(KxsZlbTrade)表实体类
+ *
+ * @author 系统
+ * @since 2024-05-13 18:02:06
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class KxsZlbTrade extends Model<KxsZlbTrade> 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 String delFlag;
+
+
+    /**
+     * 版本
+     */
+    @Schema(description = "版本")
+    private Integer version;
+
+
+    /**
+     * 交易日
+     */
+    @Schema(description = "交易日")
+    private Integer tradeDate;
+
+
+    /**
+     * 交易月
+     */
+    @Schema(description = "交易月")
+    private Integer tradeMonth;
+
+
+    /**
+     * 用户ID
+     */
+    @Schema(description = "用户ID")
+    private Integer userId;
+
+
+    /**
+     * 交易额
+     */
+    @Schema(description = "交易额")
+    private BigDecimal tradeAmt;
+
+
+    /**
+     * 统计类型 0个人 1团队
+     */
+    @Schema(description = "统计类型 0个人 1团队")
+    private Integer totalType;
+
+
+
+
+}
+

+ 17 - 0
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsZlbTradeMapper.java

@@ -0,0 +1,17 @@
+package com.kxs.stat.biz.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kxs.stat.api.model.KxsZlbTrade;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 助力宝交易额统计(KxsZlbTrade)表数据库访问层
+ *
+ * @author 系统
+ * @since 2024-05-13 18:02:06
+ */
+@Mapper
+public interface KxsZlbTradeMapper extends BaseMapper<KxsZlbTrade> {
+
+}
+

+ 15 - 0
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/KxsZlbTradeService.java

@@ -0,0 +1,15 @@
+package com.kxs.stat.biz.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.kxs.stat.api.model.KxsZlbTrade;
+
+/**
+ * 助力宝交易额统计(KxsZlbTrade)表服务接口
+ *
+ * @author 系统
+ * @since 2024-05-13 18:02:06
+ */
+public interface KxsZlbTradeService extends IService<KxsZlbTrade> {
+
+}
+

+ 1 - 1
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/impl/KxsUserTradeServiceImpl.java

@@ -77,7 +77,7 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
 //        String tableName = PREFIX_TABLE_NAME + thisMoth;
         String tempTableName = PREFIX_TABLE_NAME_TEMP + thisMoth;
 
-        int batchSize = 100;
+        int batchSize = 20;
         TransactionTemplate template = new TransactionTemplate(platformTransactionManager);
         template.execute(status -> {
             //创建临时表

+ 19 - 0
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/impl/KxsZlbTradeServiceImpl.java

@@ -0,0 +1,19 @@
+package com.kxs.stat.biz.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kxs.stat.biz.mapper.KxsZlbTradeMapper;
+import com.kxs.stat.api.model.KxsZlbTrade;
+import com.kxs.stat.biz.service.KxsZlbTradeService;
+import org.springframework.stereotype.Service;
+
+/**
+ * 助力宝交易额统计(KxsZlbTrade)表服务实现类
+ *
+ * @author 系统
+ * @since 2024-05-13 18:02:06
+ */
+@Service("kxsZlbTradeService")
+public class KxsZlbTradeServiceImpl extends ServiceImpl<KxsZlbTradeMapper, KxsZlbTrade> implements KxsZlbTradeService {
+
+}
+

+ 19 - 0
kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsZlbTradeMapper.xml

@@ -0,0 +1,19 @@
+<?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.stat.biz.mapper.KxsZlbTradeMapper">
+
+    <resultMap type="com.kxs.stat.api.model.KxsZlbTrade" id="KxsZlbTradeMap">
+        <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="trade_date" property="tradeDate" />
+        <result column="trade_month" property="tradeMonth" />
+        <result column="user_id" property="userId" />
+        <result column="trade_amt" property="tradeAmt" />
+        <result column="total_type" property="totalType" />
+
+    </resultMap>
+
+</mapper>

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

@@ -104,6 +104,7 @@ public class DtsController {
     private final KxsMerchantTradeService kxsMerchantTradeService;
     private final KxsUserLogoutTradeService kxsUserLogoutTradeService;
     private final KxsUserGdTradeService kxsUserGdTradeService;
+    private final KxsZlbTradeService kxsZlbTradeService;
 
     @Value("${spring.profiles.active}")
     private String active;
@@ -385,6 +386,9 @@ public class DtsController {
             if ("SimCardDaySummary".equals(dmlData.getTableName())) {
                 kxsUserGdTradeService.changeData(dmlData);
             }
+            if ("HelpProfitUserTradeSummay".equals(dmlData.getTableName())) {
+                kxsZlbTradeService.changeData(dmlData);
+            }
 
 
 

+ 19 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/mapper/stat/KxsZlbTradeMapper.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.KxsZlbTrade;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 助力宝交易额统计(KxsZlbTrade)表数据库访问层
+ *
+ * @author 系统
+ * @since 2024-05-13 18:02:06
+ */
+@Mapper
+@DS("stat")
+public interface KxsZlbTradeMapper extends BaseMapper<KxsZlbTrade> {
+
+}
+

+ 3 - 3
kxs-transfer/src/main/java/com/kxs/transfer/api/service/stat/KxsUserGdTradeService.java

@@ -71,15 +71,15 @@ public class KxsUserGdTradeService extends ServiceImpl<KxsUserGdTradeMapper, Kxs
 
 
 
-        KxsUserGdTrade kxsUserLogoutTrade = baseMapper.selectOne(Wrappers.<KxsUserGdTrade>lambdaQuery()
+        KxsUserGdTrade kxsUserGdTrade = baseMapper.selectOne(Wrappers.<KxsUserGdTrade>lambdaQuery()
                 .eq(KxsUserGdTrade::getUserId, userGdTrade.getUserId())
                 .eq(KxsUserGdTrade::getTotalType, userGdTrade.getTotalType())
                 .eq(KxsUserGdTrade::getTradeMonth, userGdTrade.getTradeMonth())
                 .eq(KxsUserGdTrade::getTradeDate, userGdTrade.getTradeDate()));
-        if(kxsUserLogoutTrade == null){
+        if(kxsUserGdTrade == null){
             baseMapper.insert(userGdTrade);
         }else{
-            userGdTrade.setId(kxsUserLogoutTrade.getId());
+            userGdTrade.setId(kxsUserGdTrade.getId());
             baseMapper.updateById(userGdTrade);
         }
     }

+ 82 - 0
kxs-transfer/src/main/java/com/kxs/transfer/api/service/stat/KxsZlbTradeService.java

@@ -0,0 +1,82 @@
+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.KxsUserGdTrade;
+import com.kxs.stat.api.model.KxsZlbTrade;
+import com.kxs.transfer.api.mapper.stat.KxsZlbTradeMapper;
+import com.kxs.transfer.api.model.table.DMLData;
+import com.kxs.transfer.api.model.table.FieldData;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 助力宝交易额统计(KxsZlbTrade)表服务实现类
+ *
+ * @author 系统
+ * @since 2024-05-13 18:02:06
+ */
+@Service("kxsZlbTradeService")
+public class KxsZlbTradeService extends ServiceImpl<KxsZlbTradeMapper, KxsZlbTrade> {
+
+    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());
+
+        KxsZlbTrade zlbTrade = new KxsZlbTrade();
+
+        OperationType operation = dmlData.getOperation();
+
+        if(operation.equals(OperationType.DELETE)){
+            baseMapper.deleteById(id);
+            return;
+        }
+        if (fieldDataMap.get("UserId").getValue() != null) {
+            zlbTrade.setUserId(Integer.valueOf(fieldDataMap.get("UserId").getValue().toString()));
+        }
+        if (fieldDataMap.get("TradeMonth").getValue() != null) {
+            zlbTrade.setTradeMonth(Integer.valueOf(fieldDataMap.get("TradeMonth").getValue().toString()));
+        }
+        if (fieldDataMap.get("TradeDate").getValue() != null) {
+            zlbTrade.setTradeDate(Integer.valueOf(fieldDataMap.get("TradeDate").getValue().toString()));
+        }
+        if (fieldDataMap.get("SeoTitle").getValue() != null) {
+            String seoTitle = fieldDataMap.get("SeoTitle").getValue().toString();
+            if ("self".equals(seoTitle)) {
+                zlbTrade.setTotalType(0);
+            } else {
+                zlbTrade.setTotalType(1);
+            }
+        }
+        if (fieldDataMap.get("TradeAmount").getValue() != null) {
+            zlbTrade.setTradeAmt(new BigDecimal(fieldDataMap.get("TradeAmount").getValue().toString()));
+        }
+
+
+
+
+        KxsZlbTrade kxsZlbTrade = baseMapper.selectOne(Wrappers.<KxsZlbTrade>lambdaQuery()
+                .eq(KxsZlbTrade::getUserId, zlbTrade.getUserId())
+                .eq(KxsZlbTrade::getTotalType, zlbTrade.getTotalType())
+                .eq(KxsZlbTrade::getTradeMonth, zlbTrade.getTradeMonth())
+                .eq(KxsZlbTrade::getTradeDate, zlbTrade.getTradeDate()));
+        if(kxsZlbTrade == null){
+            baseMapper.insert(zlbTrade);
+        }else{
+            zlbTrade.setId(kxsZlbTrade.getId());
+            baseMapper.updateById(zlbTrade);
+        }
+    }
+}
+

+ 4 - 15
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/controller/kxsapp/ShareholderController.java

@@ -1,29 +1,18 @@
 package com.kxs.user.biz.controller.kxsapp;
 
-import cn.hutool.http.HttpRequest;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.kxs.common.core.util.R;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.kxs.common.core.util.R;
 import com.kxs.common.security.annotation.Inner;
-import com.kxs.system.api.feign.RemoteOldService;
 import com.kxs.user.api.dto.kxsapp.IntegralStatDTO;
 import com.kxs.user.api.model.KxsShdScore;
 import com.kxs.user.api.model.KxsUserRealLevel;
+import com.kxs.user.biz.service.KxsShdScoreService;
+import com.kxs.user.biz.service.KxsShdTradeAmtService;
 import com.kxs.user.biz.service.KxsUserRealLevelService;
+import lombok.RequiredArgsConstructor;
 import org.springdoc.core.annotations.ParameterObject;
-
-import com.kxs.user.biz.service.KxsShdTradeAmtService;
-import com.kxs.user.biz.service.KxsShdScoreService;
-
 import org.springframework.web.bind.annotation.*;
 
-import lombok.RequiredArgsConstructor;
-
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
-import java.util.HashMap;
 import java.util.List;
 
 /**

+ 61 - 61
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/service/impl/KxsShdScoreServiceImpl.java

@@ -9,12 +9,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.kxs.common.security.util.SecurityUtils;
 import com.kxs.user.api.dto.kxsapp.IntegralStatDTO;
 import com.kxs.user.api.emun.ShdGradingEnum;
+import com.kxs.user.api.model.KxsShdScore;
 import com.kxs.user.api.model.KxsUser;
 import com.kxs.user.api.vo.kxsapp.shareholder.ShareholderGetMyStandardsAllVO;
 import com.kxs.user.api.vo.kxsapp.shareholder.ShareholderGetMyStandardsVO;
 import com.kxs.user.api.vo.kxsapp.subGetShareholderUserList.UserScoreListVO;
 import com.kxs.user.biz.mapper.KxsShdScoreMapper;
-import com.kxs.user.api.model.KxsShdScore;
 import com.kxs.user.biz.mapper.KxsUserMapper;
 import com.kxs.user.biz.mapper.KxsUserRealLevelMapper;
 import com.kxs.user.biz.service.KxsShdScoreService;
@@ -23,7 +23,6 @@ import org.springframework.stereotype.Service;
 
 import java.time.LocalDate;
 import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
 import java.util.List;
 
 /**
@@ -87,66 +86,67 @@ public class KxsShdScoreServiceImpl extends ServiceImpl<KxsShdScoreMapper, KxsSh
             if (StrUtil.isBlank(month)){
                 month = LocalDateTimeUtil.format(LocalDate.now(), DatePattern.SIMPLE_MONTH_PATTERN);
             }
-            //当交易额大于300W则进入下一步
-            if (integralStatDTO.getTotalAmount().compareTo(ShdGradingEnum.LEVEL_FRIST.getTransactions()) >= 0){
-                //获取上级用户
-                KxsUser kxsUser = kxsUserMapper.getParenUser(integralStatDTO.getUserId());
-                KxsUser sonKxsUser = kxsUserMapper.selectById(integralStatDTO.getUserId());
-                if (kxsUser != null && sonKxsUser != null && sonKxsUser.getStatus() != 0){
-                    //查询记录
-                    KxsShdScore kxsShdScore = kxsShdScoreMapper.selectOne(Wrappers.<KxsShdScore>query().lambda().eq(KxsShdScore::getUserId, kxsUser.getId()).eq(KxsShdScore::getMonth, month));
-                    //版本号对比
-                    if (kxsShdScore == null || !kxsShdScore.getVersion().equals(integralStatDTO.getVersion())){
-                        //记录不存在则构造数据
-                        if (kxsShdScore == null){
-                            kxsShdScore = new KxsShdScore();
-                        }
-                        kxsShdScore.setCreateTime(now);
-                        kxsShdScore.setDelFlag("0");
-                        kxsShdScore.setUserId(Long.valueOf(kxsUser.getId()));
-                        kxsShdScore.setUsername(kxsUser.getUsername());
-                        kxsShdScore.setUserCode(kxsUser.getUserCode());
-                        kxsShdScore.setVersion(integralStatDTO.getVersion());//版本号
-                        if (integralStatDTO.getTotalAmount().compareTo(ShdGradingEnum.LEVEL_FRIST.getTransactions()) >= 0){
-                            kxsShdScore.setFirstScore(1);
-                        }else {
-                            kxsShdScore.setFirstScore(0);
-                        }
-                        if (integralStatDTO.getTotalAmount().compareTo(ShdGradingEnum.LEVEL_CENTER.getTransactions()) >= 0){
-                            kxsShdScore.setCenterScore(1);
-                        }else {
-                            kxsShdScore.setCenterScore(0);
-                        }
-                        if (integralStatDTO.getTotalAmount().compareTo(ShdGradingEnum.LEVEL_HIGH.getTransactions()) >= 0){
-                            kxsShdScore.setHighScore(1);
-                        }else {
-                            kxsShdScore.setHighScore(0);
-                        }
-
-                        kxsShdScore.setMonth(month);
-                        if(kxsShdScore.getId() == null){
-                            kxsShdScoreMapper.insert(kxsShdScore);
-                        }else{
-                            kxsShdScoreMapper.updateById(kxsShdScore);
-                        }
-                    }else {
-
-                        //存在数据则根据条件增加
-                        if (integralStatDTO.getTotalAmount().compareTo(ShdGradingEnum.LEVEL_FRIST.getTransactions()) >= 0){
-                            
-                            kxsShdScore.setFirstScore(kxsShdScore.getFirstScore() + 1);
-                        }
-                        if (integralStatDTO.getTotalAmount().compareTo(ShdGradingEnum.LEVEL_CENTER.getTransactions()) >= 0){
-                            kxsShdScore.setCenterScore(kxsShdScore.getCenterScore() + 1);
-                        }
-                        if (integralStatDTO.getTotalAmount().compareTo(ShdGradingEnum.LEVEL_HIGH.getTransactions()) >= 0){
-                            kxsShdScore.setHighScore(kxsShdScore.getHighScore() + 1);
-                        }
-                        kxsShdScore.setUpdateTime(now);
-                        kxsShdScore.setVersion(integralStatDTO.getVersion());
-                        kxsShdScoreMapper.updateById(kxsShdScore);
-                    }
+            KxsUser sonKxsUser = kxsUserMapper.selectById(integralStatDTO.getUserId());
+            if(sonKxsUser == null || sonKxsUser.getStatus() != 1){
+                continue;
+            }
+            //获取上级用户
+            KxsUser kxsUser = kxsUserMapper.getParenUser(integralStatDTO.getUserId());
+            if(kxsUser == null){
+                continue;
+            }
+            //查询记录
+            KxsShdScore kxsShdScore = kxsShdScoreMapper.selectOne(Wrappers.<KxsShdScore>query().lambda().eq(KxsShdScore::getUserId, kxsUser.getId()).eq(KxsShdScore::getMonth, month));
+            //版本号对比
+            if (kxsShdScore == null || !kxsShdScore.getVersion().equals(integralStatDTO.getVersion())){
+                //记录不存在则构造数据
+                if (kxsShdScore == null){
+                    kxsShdScore = new KxsShdScore();
+                }
+                kxsShdScore.setCreateTime(now);
+                kxsShdScore.setDelFlag("0");
+                kxsShdScore.setUserId(Long.valueOf(kxsUser.getId()));
+                kxsShdScore.setUsername(kxsUser.getUsername());
+                kxsShdScore.setUserCode(kxsUser.getUserCode());
+                kxsShdScore.setVersion(integralStatDTO.getVersion());//版本号
+                if (integralStatDTO.getTotalAmount().compareTo(ShdGradingEnum.LEVEL_FRIST.getTransactions()) >= 0){
+                    kxsShdScore.setFirstScore(1);
+                }else {
+                    kxsShdScore.setFirstScore(0);
+                }
+                if (integralStatDTO.getTotalAmount().compareTo(ShdGradingEnum.LEVEL_CENTER.getTransactions()) >= 0){
+                    kxsShdScore.setCenterScore(1);
+                }else {
+                    kxsShdScore.setCenterScore(0);
+                }
+                if (integralStatDTO.getTotalAmount().compareTo(ShdGradingEnum.LEVEL_HIGH.getTransactions()) >= 0){
+                    kxsShdScore.setHighScore(1);
+                }else {
+                    kxsShdScore.setHighScore(0);
+                }
+
+                kxsShdScore.setMonth(month);
+                if(kxsShdScore.getId() == null){
+                    kxsShdScoreMapper.insert(kxsShdScore);
+                }else{
+                    kxsShdScoreMapper.updateById(kxsShdScore);
+                }
+            }else {
+
+                //存在数据则根据条件增加
+                if (integralStatDTO.getTotalAmount().compareTo(ShdGradingEnum.LEVEL_FRIST.getTransactions()) >= 0){
+
+                    kxsShdScore.setFirstScore(kxsShdScore.getFirstScore() + 1);
+                }
+                if (integralStatDTO.getTotalAmount().compareTo(ShdGradingEnum.LEVEL_CENTER.getTransactions()) >= 0){
+                    kxsShdScore.setCenterScore(kxsShdScore.getCenterScore() + 1);
+                }
+                if (integralStatDTO.getTotalAmount().compareTo(ShdGradingEnum.LEVEL_HIGH.getTransactions()) >= 0){
+                    kxsShdScore.setHighScore(kxsShdScore.getHighScore() + 1);
                 }
+                kxsShdScore.setUpdateTime(now);
+                kxsShdScore.setVersion(integralStatDTO.getVersion());
+                kxsShdScoreMapper.updateById(kxsShdScore);
             }
         }
 //        //初级积分