Browse Source

Merge branch 'develop-kjf' into develop

* develop-kjf:
  股东大盘分红规则已完善,已添加定时任务模块 修复了部分bug

# Conflicts:
#	kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mq/RabbitLkbQueueListener.java
mac 2 years ago
parent
commit
b2aa652a3c
20 changed files with 210 additions and 80 deletions
  1. 5 1
      kxs-product/kxs-product-api/src/main/java/com/kxs/product/api/vo/kxsapp/shop/ShopGoodsDetailVO.java
  2. 1 1
      kxs-product/kxs-product-biz/src/main/resources/mapper/KxsShopGoodsSkuMapper.xml
  3. 4 0
      kxs-quartz/pom.xml
  4. 38 0
      kxs-quartz/src/main/java/com/kxs/daemon/quartz/task/StatBeanTask.java
  5. 10 10
      kxs-quartz/src/main/java/com/kxs/daemon/quartz/task/UserBeanTask.java
  6. 12 4
      kxs-stat/kxs-stat-api/src/main/java/com/kxs/stat/api/feign/RemoteKxsStatService.java
  7. 16 3
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/controller/KxsStatController.java
  8. 4 0
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsUserTradeMapper.java
  9. 5 0
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/KxsUserTradeService.java
  10. 7 0
      kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/impl/KxsUserTradeServiceImpl.java
  11. 3 0
      kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsUserTradeMapper.xml
  12. 3 1
      kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/dto/kxsapp/IntegralStatDTO.java
  13. 0 12
      kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/dto/kxsapp/PrizePoolSynchronizationDTO.java
  14. 30 0
      kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/emun/ShdGradingEnum.java
  15. 8 0
      kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/feign/RemoteKxsUserService.java
  16. 5 0
      kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/vo/kxsapp/user/UserInfoVO.java
  17. 1 1
      kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/controller/kxsapp/KxsUserController.java
  18. 2 2
      kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/controller/kxsapp/ShareholderController.java
  19. 8 9
      kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/service/impl/KxsShdScoreServiceImpl.java
  20. 48 36
      kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/service/impl/KxsShdTradeAmtServiceImpl.java

+ 5 - 1
kxs-product/kxs-product-api/src/main/java/com/kxs/product/api/vo/kxsapp/shop/ShopGoodsDetailVO.java

@@ -72,7 +72,11 @@ public class ShopGoodsDetailVO implements Serializable {
     @Schema(description = "限购数量")
     private Integer limitCount;
 
-
+    /**
+     * 商品类型 0实物商品 1虚拟物品
+     */
+    @Schema(description = "商品类型 0实物商品 1虚拟物品")
+    private Integer goodsType;
     /**
      * 起购数量
      */

+ 1 - 1
kxs-product/kxs-product-biz/src/main/resources/mapper/KxsShopGoodsSkuMapper.xml

@@ -22,7 +22,7 @@
         select * from kxs_shop_goods_sku
         <where>
             del_flag = 0
-            and goods_id = #{goodsId}
+            and good_id = #{goodsId}
         </where>
     </select>
 

+ 4 - 0
kxs-quartz/pom.xml

@@ -76,6 +76,10 @@
             <groupId>com.kxs</groupId>
             <artifactId>kxs-user-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.kxs</groupId>
+            <artifactId>kxs-stat-api</artifactId>
+        </dependency>
     </dependencies>
 
     <build>

+ 38 - 0
kxs-quartz/src/main/java/com/kxs/daemon/quartz/task/StatBeanTask.java

@@ -0,0 +1,38 @@
+package com.kxs.daemon.quartz.task;
+
+import com.kxs.common.core.constant.SecurityConstants;
+import com.kxs.daemon.quartz.constants.SkyQuartzEnum;
+import com.kxs.stat.api.feign.RemoteKxsStatService;
+import com.kxs.user.api.feign.RemoteKxsUserService;
+import lombok.RequiredArgsConstructor;
+import lombok.SneakyThrows;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import java.time.LocalDateTime;
+
+/**
+ * 用户模块 Bean 任务
+ *
+ * @author 没秃顶的码农
+ * @date 2024-03-21
+ */
+@Slf4j
+@Component("statjob")
+@RequiredArgsConstructor
+public class StatBeanTask {
+
+
+    private final RemoteKxsStatService remoteKxsStatService;
+    /**
+     * 股东大盘分红积分计算任务
+     *
+     *
+     */
+    @SneakyThrows
+    public String prizePoolSynchronization(String para) {
+        remoteKxsStatService.getUserTradeList(SecurityConstants.FROM_IN);
+        log.info("股东大盘分红积分计算任务:{},输入参数{}", LocalDateTime.now(), para);
+        return SkyQuartzEnum.JOB_LOG_STATUS_SUCCESS.getType();
+    }
+}

+ 10 - 10
kxs-quartz/src/main/java/com/kxs/daemon/quartz/task/UserBeanTask.java

@@ -51,16 +51,16 @@ public class UserBeanTask {
         log.info("用户欠款扣除定时任务:{},输入参数{}", LocalDateTime.now(), para);
         return SkyQuartzEnum.JOB_LOG_STATUS_SUCCESS.getType();
     }
-//    /**
-//     *  股东大盘分红积分汇算
-//     *  扫描用户真实职级表,根据直属用户职级汇算成积分
-//     */
-//    @SneakyThrows
-//    public String integralStat(String para) {
-//        remoteKxsUserService.integralStat(SecurityConstants.FROM_IN);
-//        log.info("股东大盘分红积分汇算:{},输入参数{}", LocalDateTime.now(), para);
-//        return SkyQuartzEnum.JOB_LOG_STATUS_SUCCESS.getType();
-//    }
+    /**
+     *  奖池同步交易额
+     *  同步老系统交易额汇算奖金池
+     */
+    @SneakyThrows
+    public String prizePoolSynchronization(String para) {
+        remoteKxsUserService.prizePoolSynchronization(SecurityConstants.FROM_IN);
+        log.info("股东大盘分红奖池同步交易额:{},输入参数{}", LocalDateTime.now(), para);
+        return SkyQuartzEnum.JOB_LOG_STATUS_SUCCESS.getType();
+    }
 //    /**
 //     *  股东大盘分红职级汇算
 //     *  扫描个人交易记录总表  计算用户真实职级

+ 12 - 4
kxs-stat/kxs-stat-api/src/main/java/com/kxs/stat/api/feign/RemoteKxsStatService.java

@@ -10,6 +10,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.service.annotation.GetExchange;
 import org.springframework.web.service.annotation.PostExchange;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -19,15 +20,22 @@ import java.util.List;
 public interface RemoteKxsStatService {
 
 	/**
-	 * 用户真实职级汇算 每日执行
-     * 扫描用户交易记录总表  计算用户实际职级
+	 * 股东大盘分红积分计算任务
 	 *
 	 * @param from    调用标志
 	 *
 	 */
-	@GetExchange("/stat/userRealLevel")
-    void userRealLevel(@RequestHeader(SecurityConstants.FROM) String from);
+	@GetExchange("/stat/getUserTradeList")
+    void getUserTradeList(@RequestHeader(SecurityConstants.FROM) String from);
 
+	/**
+	 * 股东大盘分红积分计算任务
+	 *
+	 * @param from    调用标志
+	 *
+	 */
+	@GetExchange("/stat/getStatAmount")
+	BigDecimal getStatAmount(@RequestParam("month") String month,@RequestHeader(SecurityConstants.FROM) String from);
 
 
 }

+ 16 - 3
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/controller/KxsStatController.java

@@ -6,8 +6,11 @@ import com.kxs.stat.biz.service.KxsUserTradeService;
 import lombok.RequiredArgsConstructor;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.math.BigDecimal;
+
 /**
  * 用户表(KxsSecurityUser)表控制层
  *
@@ -24,10 +27,20 @@ public class KxsStatController {
     /**
      * 股东大盘分红积分计算任务
      */
-    @Inner(value = false)
-    @GetMapping("/shdUserTradeTotalList")
-    public void userRealLevel() {
+    @Inner
+    @GetMapping("/getUserTradeList")
+    public void getUserTradeList() {
         kxsUserTradeService.getUserTradeList();
     }
+
+
+    /**
+     * 获取交易统计数据
+     */
+    @Inner
+    @GetMapping("/getStatAmount")
+    public BigDecimal getStatAmount(@RequestParam("month") String month) {
+        return kxsUserTradeService.getStatAmount(month);
+    }
 }
 

+ 4 - 0
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/mapper/KxsUserTradeMapper.java

@@ -7,6 +7,8 @@ import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.cursor.Cursor;
 
+import java.math.BigDecimal;
+
 /**
  * 个人交易统计总表(KxsUserTrade)表数据库访问层
  *
@@ -43,5 +45,7 @@ public interface KxsUserTradeMapper extends BaseMapper<KxsUserTrade> {
     Cursor<ShdTradeAmtVO> getTempShdTableList();
 
     void insertTempShdTableData(ShdTradeAmtVO shdTradeAmtVO);
+
+    BigDecimal getStatAmount(String tableName);
 }
 

+ 5 - 0
kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/KxsUserTradeService.java

@@ -3,6 +3,7 @@ package com.kxs.stat.biz.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.kxs.stat.api.model.KxsUserTrade;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 /**
@@ -17,6 +18,10 @@ public interface KxsUserTradeService extends IService<KxsUserTrade> {
      * 股东大盘分红积分计算任务
      */
     void getUserTradeList();
+    /**
+     * 获取交易统计数据
+     */
+    BigDecimal getStatAmount(String month);
 
 }
 

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

@@ -132,6 +132,13 @@ public class KxsUserTradeServiceImpl extends ServiceImpl<KxsUserTradeMapper, Kxs
         });
     }
 
+    @Override
+    public BigDecimal getStatAmount(String month) {
+        //拼接表名
+        String tableName = PREFIX_TABLE_NAME + month;
+        return baseMapper.getStatAmount(tableName);
+    }
+
 
     public void remoteUserShdStat(List<ShdTradeAmtVO> userTradeList) {
         List<IntegralStatDTO> params = new ArrayList<>();

+ 3 - 0
kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsUserTradeMapper.xml

@@ -69,6 +69,9 @@
     <select id="getTempShdTableList" resultType="com.kxs.stat.api.vo.ShdTradeAmtVO" fetchSize="1000">
         select * from kxs_user_trade_temp
     </select>
+    <select id="getStatAmount" resultType="java.math.BigDecimal">
+        select sum(pro_debit_trade_amt + pro_direct_trade_amt) from ${tableName}
+    </select>
     <insert id="insertTempShdTableData">
         INSERT INTO kxs_user_trade_temp
         <trim prefix="(" suffix=")" suffixOverrides=",">

+ 3 - 1
kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/dto/kxsapp/IntegralStatDTO.java

@@ -3,6 +3,8 @@ package com.kxs.user.api.dto.kxsapp;
 import lombok.Builder;
 import lombok.Data;
 
+import java.io.Serial;
+import java.io.Serializable;
 import java.math.BigDecimal;
 
 /**
@@ -13,7 +15,7 @@ import java.math.BigDecimal;
  */
 @Data
 @Builder
-public class IntegralStatDTO {
+public class IntegralStatDTO implements Serializable {
     /**
      * 总金额
      */

+ 0 - 12
kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/dto/kxsapp/PrizePoolSynchronizationDTO.java

@@ -1,12 +0,0 @@
-package com.kxs.user.api.dto.kxsapp;
-
-import lombok.Data;
-
-import java.math.BigDecimal;
-
-@Data
-public class PrizePoolSynchronizationDTO {
-    private BigDecimal TotalPosAmt; //POS总交易额
-    private BigDecimal MpAmtwd; //来客吧码牌交易总额
-    private BigDecimal SimAmtwd; //广电卡活动交易总额
-}

+ 30 - 0
kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/emun/ShdGradingEnum.java

@@ -0,0 +1,30 @@
+package com.kxs.user.api.emun;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+import java.math.BigDecimal;
+
+/**
+ * @BelongsProject: ap-server
+ * @Author: Pota1ovO
+ * @CreateTime: 2023-08-06  11:40
+ * @Description: 股东大盘分红 分级
+ * @Version: 1.0
+ */
+@Getter
+@AllArgsConstructor
+public enum ShdGradingEnum {
+    /* -----------以下为公共通用的状态码 -----------*/
+    LEVEL_FRIST("初级",new BigDecimal(3000000)),
+    LEVEL_CENTER("中级",new BigDecimal(8000000)),
+    LEVEL_HIGH("高级",new BigDecimal(15000000)),
+
+    ;
+
+
+    //状态码
+    private final String level;
+    //状态码码描述
+    private final BigDecimal transactions;
+}

+ 8 - 0
kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/feign/RemoteKxsUserService.java

@@ -162,6 +162,14 @@ public interface RemoteKxsUserService {
 	@GetExchange("/shareholder/integralStat")
 	void integralStat(@RequestBody List<IntegralStatDTO> integralStatDTOS,@RequestHeader(SecurityConstants.FROM) String from);
 
+	/**
+	 * 奖池同步交易额
+	 *
+	 * @return {@link R}
+	 */
+	@GetExchange("/shareholder/prizePoolSynchronization")
+	void prizePoolSynchronization(@RequestHeader(SecurityConstants.FROM) String from);
+
 	/**
 	 * 修改用户真实职级表
 	 *

+ 5 - 0
kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/vo/kxsapp/user/UserInfoVO.java

@@ -56,6 +56,11 @@ public class UserInfoVO implements Serializable {
     @Schema(description = "用户邀请码")
     private String userCode;
 
+    /**
+     * 隐藏推荐关系0默认 1隐藏
+     */
+    @Schema(description = "隐藏推荐关系0默认 1隐藏")
+    private Integer hiddenLevel;
 
     /**
      * 地址

+ 1 - 1
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/controller/kxsapp/KxsUserController.java

@@ -104,7 +104,7 @@ public class KxsUserController {
      */
     @GetMapping("/info")
     public R info() {
-        return R.ok(kxsUserService.info());
+        return R.ok(kxsUserService. info());
     }
 
 

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

@@ -83,7 +83,7 @@ public class ShareholderController {
      * 股东大盘分红-统计积分
      * 每日计算
      */
-//    @Inner
+    @Inner
     @GetMapping("/integralStat")
     public void integralStat(@RequestBody List<IntegralStatDTO> integralStatDTOS) {
         kxsShdScoreService.integralStat(integralStatDTOS);
@@ -92,7 +92,7 @@ public class ShareholderController {
     /**
      * 股东大盘分红-奖池同步交易额
      */
-//    @Inner
+    @Inner
     @GetMapping("/prizePoolSynchronization")
     public void prizePoolSynchronization() {
             kxsShdTradeAmtService.prizePoolSynchronization();

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

@@ -5,8 +5,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 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.KxsUser;
-import com.kxs.user.api.model.KxsUserRealLevel;
 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;
@@ -18,7 +18,6 @@ import com.kxs.user.biz.service.KxsShdScoreService;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 
-import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.List;
@@ -78,7 +77,7 @@ public class KxsShdScoreServiceImpl extends ServiceImpl<KxsShdScoreMapper, KxsSh
         String month = now.format(formatter);
         for (IntegralStatDTO integralStatDTO : integralStatDTOS) {
             //当交易额大于300W则进入下一步
-            if (integralStatDTO.getTotalAmount().compareTo(new BigDecimal(3000000)) >= 0){
+            if (integralStatDTO.getTotalAmount().compareTo(ShdGradingEnum.LEVEL_FRIST.getTransactions()) >= 0){
                 //获取上级用户
                 KxsUser kxsUser = kxsUserMapper.getParenUser(integralStatDTO.getUserId());
                 if (kxsUser != null){
@@ -90,15 +89,15 @@ public class KxsShdScoreServiceImpl extends ServiceImpl<KxsShdScoreMapper, KxsSh
                         kxsShdScore.setCreateTime(now);
                         kxsShdScore.setDelFlag("0");
                         kxsShdScore.setUserId(Long.valueOf(kxsUser.getId()));
-                        if (integralStatDTO.getTotalAmount().compareTo(new BigDecimal(3000000)) >= 0){
+                        if (integralStatDTO.getTotalAmount().compareTo(ShdGradingEnum.LEVEL_FRIST.getTransactions()) >= 0){
                             kxsShdScore.setFirstScore(1);
                         }
-                        if (integralStatDTO.getTotalAmount().compareTo(new BigDecimal(8000000)) >= 0){
+                        if (integralStatDTO.getTotalAmount().compareTo(ShdGradingEnum.LEVEL_CENTER.getTransactions()) >= 0){
                             kxsShdScore.setCenterScore(1);
                         }else {
                             kxsShdScore.setCenterScore(0);
                         }
-                        if (integralStatDTO.getTotalAmount().compareTo(new BigDecimal(15000000)) >= 0){
+                        if (integralStatDTO.getTotalAmount().compareTo(ShdGradingEnum.LEVEL_HIGH.getTransactions()) >= 0){
                             kxsShdScore.setHighScore(1);
                         }else {
                             kxsShdScore.setHighScore(0);
@@ -108,13 +107,13 @@ public class KxsShdScoreServiceImpl extends ServiceImpl<KxsShdScoreMapper, KxsSh
                         kxsShdScoreMapper.insert(kxsShdScore);
                     }else {
                         //存在数据则根据条件增加
-                        if (integralStatDTO.getTotalAmount().compareTo(new BigDecimal(3000000)) >= 0){
+                        if (integralStatDTO.getTotalAmount().compareTo(ShdGradingEnum.LEVEL_FRIST.getTransactions()) >= 0){
                             kxsShdScore.setFirstScore(kxsShdScore.getFirstScore() + 1);
                         }
-                        if (integralStatDTO.getTotalAmount().compareTo(new BigDecimal(8000000)) >= 0){
+                        if (integralStatDTO.getTotalAmount().compareTo(ShdGradingEnum.LEVEL_CENTER.getTransactions()) >= 0){
                             kxsShdScore.setCenterScore(kxsShdScore.getCenterScore() + 1);
                         }
-                        if (integralStatDTO.getTotalAmount().compareTo(new BigDecimal(15000000)) >= 0){
+                        if (integralStatDTO.getTotalAmount().compareTo(ShdGradingEnum.LEVEL_HIGH.getTransactions()) >= 0){
                             kxsShdScore.setHighScore(kxsShdScore.getHighScore() + 1);
                         }
                         kxsShdScore.setUpdateTime(now);

+ 48 - 36
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/service/impl/KxsShdTradeAmtServiceImpl.java

@@ -2,14 +2,13 @@ package com.kxs.user.biz.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.toolkit.BeanUtils;
 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.util.AssertUtil;
 import com.kxs.common.core.util.R;
+import com.kxs.stat.api.feign.RemoteKxsStatService;
 import com.kxs.system.api.feign.RemoteOldService;
-import com.kxs.user.api.dto.kxsapp.PrizePoolSynchronizationDTO;
 import com.kxs.user.api.vo.kxsapp.shareholder.ShareholderGetShareholderAmountVO;
 import com.kxs.user.biz.mapper.KxsShdTradeAmtMapper;
 import com.kxs.user.api.model.KxsShdTradeAmt;
@@ -22,6 +21,7 @@ import java.math.RoundingMode;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.HashMap;
+import java.util.Map;
 
 /**
  * 股东大盘分红交易表(KxsShdTradeAmt)表服务实现类
@@ -34,6 +34,7 @@ import java.util.HashMap;
 public class KxsShdTradeAmtServiceImpl extends ServiceImpl<KxsShdTradeAmtMapper, KxsShdTradeAmt> implements KxsShdTradeAmtService {
     private final KxsShdTradeAmtMapper kxsShdTradeAmtMapper;
     private final RemoteOldService remoteOldService;
+    private final RemoteKxsStatService remoteKxsStatService;
 
     @Override
     public Object getShareholderAmount(String tradeMonth) {
@@ -42,8 +43,8 @@ public class KxsShdTradeAmtServiceImpl extends ServiceImpl<KxsShdTradeAmtMapper,
         tradeMonth = tradeMonth.split("-")[0] + tradeMonth.split("-")[1];
         KxsShdTradeAmt kxsShdTradeAmt = kxsShdTradeAmtMapper.selectOne(Wrappers.<KxsShdTradeAmt>query().lambda().eq(KxsShdTradeAmt::getTradeMonth, tradeMonth));
         ShareholderGetShareholderAmountVO shareholderGetShareholderAmountVO = new ShareholderGetShareholderAmountVO();
-        if (kxsShdTradeAmt != null){
-            BeanUtil.copyProperties(kxsShdTradeAmt,shareholderGetShareholderAmountVO);
+        if (kxsShdTradeAmt != null) {
+            BeanUtil.copyProperties(kxsShdTradeAmt, shareholderGetShareholderAmountVO);
         }
         return shareholderGetShareholderAmountVO;
     }
@@ -53,37 +54,48 @@ public class KxsShdTradeAmtServiceImpl extends ServiceImpl<KxsShdTradeAmtMapper,
         LocalDateTime now = LocalDateTime.now();
         DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMM");
         String month = now.format(formatter);
-        HashMap<String, Object> param = new HashMap<>();
-        param.put("UserId",1);
-        param.put("TradeMonthOrDate",month);
-        param.put("Kind","team");
-        R result = remoteOldService.GetUserTradeAmout(param);
-        if(result.getStatus() == 1){
-            PrizePoolSynchronizationDTO data = (PrizePoolSynchronizationDTO)result.getData();
-            BigDecimal totalPosAmt = data.getTotalPosAmt();
-            BigDecimal bonusPool = totalPosAmt.multiply(new BigDecimal("1.5")).divide(new BigDecimal("10000"), 2, RoundingMode.HALF_UP);//总奖金池  * 1.5 / 10000
-            BigDecimal bonus = bonusPool.divide(new BigDecimal("3"), 2, RoundingMode.HALF_UP);//高中低奖金池计算规则 总奖金池 / 3
-            KxsShdTradeAmt kxsShdTradeAmt = kxsShdTradeAmtMapper.selectOne(Wrappers.<KxsShdTradeAmt>query().lambda().eq(KxsShdTradeAmt::getTradeMonth, month));
-            if (kxsShdTradeAmt == null){
-                kxsShdTradeAmt = new KxsShdTradeAmt();
-                kxsShdTradeAmt.setCreateTime(LocalDateTime.now());
-                kxsShdTradeAmt.setDelFlag("0");
-                kxsShdTradeAmt.setTradeAmt(totalPosAmt);//有效交易额
-                kxsShdTradeAmt.setTradeMonth(month);//月份
-                kxsShdTradeAmt.setBonusPool(bonusPool);//总奖池
-                kxsShdTradeAmt.setFirstBonus(bonus);//初级奖池
-                kxsShdTradeAmt.setCenterBonus(bonus);//中级奖池
-                kxsShdTradeAmt.setHighBonus(bonus);//高级奖池
-                kxsShdTradeAmtMapper.insert(kxsShdTradeAmt);
-            }else {
-                kxsShdTradeAmt.setTradeAmt(totalPosAmt);//有效交易额
-                kxsShdTradeAmt.setTradeMonth(month);//月份
-                kxsShdTradeAmt.setBonusPool(bonusPool);//总奖池
-                kxsShdTradeAmt.setFirstBonus(bonus);//初级奖池
-                kxsShdTradeAmt.setCenterBonus(bonus);//中级奖池
-                kxsShdTradeAmt.setHighBonus(bonus);//高级奖池
-                kxsShdTradeAmtMapper.updateById(kxsShdTradeAmt);
-            }
+
+        //调用老系统 已弃用
+//        HashMap<String, Object> param = new HashMap<>();
+//        HashMap<String, Object> data = new HashMap<>();
+//        data.put("UserId",1);
+//        data.put("TradeMonthOrDate",month);
+//        data.put("Kind","team");
+//        param.put("value",JSON.toJSONString(data));
+////        String param = "{UserId:1,TradeMonthOrDate:"+ month +",Kind:team}";
+//        R result = remoteOldService.GetUserTradeAmout(param);
+//        if(result.getStatus() == 1){
+//            Map<String,Object> resultData = (Map<String, Object>) result.getData();
+//            BigDecimal totalPosAmt = BigDecimal.valueOf((Double) resultData.get("TotalPosAmt"));
+//        }
+
+        BigDecimal statAmount = remoteKxsStatService.getStatAmount(month, SecurityConstants.FROM_IN);
+        //有效交易额  稳定期交易额 * 1.5
+        BigDecimal totalAmount = statAmount.multiply(new BigDecimal("1.5"));
+        //累计奖金池   总交易额 * 万分之1.5  保留俩位小数
+        BigDecimal bonusPool = totalAmount.multiply(new BigDecimal("1.5")).divide(new BigDecimal("10000"), 2, RoundingMode.HALF_UP);
+        //高中低奖金池计算规则 总奖金池 / 3
+        BigDecimal bonus = bonusPool.divide(new BigDecimal("3"), 2, RoundingMode.HALF_UP);
+        KxsShdTradeAmt kxsShdTradeAmt = kxsShdTradeAmtMapper.selectOne(Wrappers.<KxsShdTradeAmt>query().lambda().eq(KxsShdTradeAmt::getTradeMonth, month));
+        if (kxsShdTradeAmt == null) {
+            kxsShdTradeAmt = new KxsShdTradeAmt();
+            kxsShdTradeAmt.setCreateTime(LocalDateTime.now());
+            kxsShdTradeAmt.setDelFlag("0");
+            kxsShdTradeAmt.setTradeAmt(totalAmount);//有效交易额
+            kxsShdTradeAmt.setTradeMonth(month);//月份
+            kxsShdTradeAmt.setBonusPool(bonusPool);//总奖池
+            kxsShdTradeAmt.setFirstBonus(bonus);//初级奖池
+            kxsShdTradeAmt.setCenterBonus(bonus);//中级奖池
+            kxsShdTradeAmt.setHighBonus(bonus);//高级奖池
+            kxsShdTradeAmtMapper.insert(kxsShdTradeAmt);
+        } else {
+            kxsShdTradeAmt.setTradeAmt(totalAmount);//有效交易额
+            kxsShdTradeAmt.setTradeMonth(month);//月份
+            kxsShdTradeAmt.setBonusPool(bonusPool);//总奖池
+            kxsShdTradeAmt.setFirstBonus(bonus);//初级奖池
+            kxsShdTradeAmt.setCenterBonus(bonus);//中级奖池
+            kxsShdTradeAmt.setHighBonus(bonus);//高级奖池
+            kxsShdTradeAmtMapper.updateById(kxsShdTradeAmt);
         }
     }
 }