Ver Fonte

Merge branch 'develop-kjf' into develop

* develop-kjf:
  修改股东大盘分红逻辑

# Conflicts:
#	kxs-stat/kxs-stat-api/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
#	kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/controller/KxsStatController.java
#	kxs-stat/kxs-stat-biz/src/main/java/com/kxs/stat/biz/service/impl/KxsUserTradeServiceImpl.java
mac há 2 anos atrás
pai
commit
7dbf4b056a
17 ficheiros alterados com 207 adições e 129 exclusões
  1. 20 20
      kxs-quartz/src/main/java/com/kxs/daemon/quartz/task/UserBeanTask.java
  2. 4 3
      kxs-stat/kxs-stat-api/src/main/java/com/kxs/stat/api/feign/RemoteKxsStatService.java
  3. 1 0
      kxs-stat/kxs-stat-api/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
  4. 1 1
      kxs-stat/kxs-stat-biz/src/main/resources/mapper/KxsUserTradeMapper.xml
  5. 1 1
      kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/feign/RemoteOldService.java
  6. 11 0
      kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/dto/kxsapp/IntegralStatDTO.java
  7. 6 11
      kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/feign/RemoteKxsUserService.java
  8. 3 3
      kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/vo/kxsapp/shareholder/ShareholderGetMyStandardsAllVO.java
  9. 3 3
      kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/vo/kxsapp/shareholder/ShareholderGetMyStandardsVO.java
  10. 8 6
      kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/controller/kxsapp/ShareholderController.java
  11. 7 0
      kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/mapper/KxsUserMapper.java
  12. 3 1
      kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/service/KxsShdScoreService.java
  13. 109 69
      kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/service/impl/KxsShdScoreServiceImpl.java
  14. 1 0
      kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/service/impl/KxsShdTradeAmtServiceImpl.java
  15. 3 1
      kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/service/impl/KxsUserRealLevelServiceImpl.java
  16. 17 10
      kxs-user/kxs-user-biz/src/main/resources/mapper/KxsShdScoreMapper.xml
  17. 9 0
      kxs-user/kxs-user-biz/src/main/resources/mapper/KxsUserMapper.xml

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

@@ -51,24 +51,24 @@ 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 userRealLevel(String para) {
-        remoteKxsUserService.userRealLevel(SecurityConstants.FROM_IN);
-        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 userRealLevel(String para) {
+//        remoteKxsUserService.userRealLevel(SecurityConstants.FROM_IN);
+//        log.info("股东大盘真实职级计算:{},输入参数{}", LocalDateTime.now(), para);
+//        return SkyQuartzEnum.JOB_LOG_STATUS_SUCCESS.getType();
+//    }
 }

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

@@ -19,13 +19,14 @@ import java.util.List;
 public interface RemoteKxsStatService {
 
 	/**
-	 * 获取全部交易额
+	 * 用户真实职级汇算 每日执行
+     * 扫描用户交易记录总表  计算用户实际职级
 	 *
 	 * @param from    调用标志
 	 *
 	 */
-	@GetExchange("/stat/getUserTradeList")
-	R<List<KxsUserTrade>> getUserTradeList(@RequestParam("month") String month, @RequestHeader(SecurityConstants.FROM) String from);
+	@GetExchange("/stat/userRealLevel")
+    void userRealLevel(@RequestHeader(SecurityConstants.FROM) String from);
 
 
 

+ 1 - 0
kxs-stat/kxs-stat-api/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports

@@ -0,0 +1 @@
+com.kxs.stat.api.feign.config.KxsStatFeignClientConfiguration

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

@@ -44,7 +44,7 @@
             sum(help_direct_trade_amt) as helpDirectTradeAmt,
             user_id
         from ${tableName} where del_flag != 1
-        and total_type = 1 group by user_id
+        and total_type = 1 and user_id != 0 group by user_id
     </select>
 
 </mapper>

+ 1 - 1
kxs-system/kxs-system-api/src/main/java/com/kxs/system/api/feign/RemoteOldService.java

@@ -34,6 +34,6 @@ public interface RemoteOldService {
 	 * 奖池同步交易额
 	 * @param param 请求实体
 	 */
-	@GetExchange("/v1/UserTradeDaySummary/GetUserTradeAmout")
+	@GetExchange("/Api/v1/UserTradeDaySummary/GetUserTradeAmout")
 	R GetUserTradeAmout(@RequestParam("value")  Map<String, Object> param);
 }

+ 11 - 0
kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/dto/kxsapp/IntegralStatDTO.java

@@ -0,0 +1,11 @@
+package com.kxs.user.api.dto.kxsapp;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class IntegralStatDTO {
+    private BigDecimal totalAmount;//总金额
+    private Long userId;//用户id
+}

+ 6 - 11
kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/feign/RemoteKxsUserService.java

@@ -3,6 +3,7 @@ package com.kxs.user.api.feign;
 
 import com.kxs.common.core.constant.SecurityConstants;
 import com.kxs.common.core.util.R;
+import com.kxs.user.api.dto.kxsapp.IntegralStatDTO;
 import com.kxs.user.api.model.*;
 import com.kxs.user.api.vo.kxsapp.user.RealUserInfoVO;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -154,26 +155,20 @@ public interface RemoteKxsUserService {
 	R<Boolean> checkPayPwd(@RequestParam("payPwd") String payPwd);
 
 	/**
-	 * 积分汇算  每日执行
+	 * 积分汇算
 	 *
 	 * @return {@link R}
 	 */
 	@GetExchange("/shareholder/integralStat")
-	void integralStat(@RequestHeader(SecurityConstants.FROM) String from);
-	/**
-	 * 真实职级计算  每日执行
-	 *
-	 * @return {@link R}
-	 */
-	@GetExchange("/shareholder/userRealLevel")
-	void userRealLevel(@RequestHeader(SecurityConstants.FROM) String from);
+	void integralStat(@RequestBody List<IntegralStatDTO> integralStatDTOS,@RequestHeader(SecurityConstants.FROM) String from);
+
 	/**
 	 * 修改用户真实职级表
 	 *
 	 * @param from       调用标志
 	 * @return {@link R}<{@link Boolean}>
 	 */
-	@PostExchange("/shareholder/userRealLevel")
-	R<Boolean> updateUserRealLevel(@RequestBody KxsUserRealLevel kxsUserRealLevel, @RequestHeader(SecurityConstants.FROM) String from);
+	@PostExchange("/shareholder/updateUserRealLevel")
+	void updateUserRealLevel(@RequestBody KxsUserRealLevel kxsUserRealLevel, @RequestHeader(SecurityConstants.FROM) String from);
 
 }

+ 3 - 3
kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/vo/kxsapp/shareholder/ShareholderGetMyStandardsAllVO.java

@@ -26,21 +26,21 @@ public class ShareholderGetMyStandardsAllVO implements Serializable {
      * 全国初级股东积分
      */
     @Schema(description = "全国初级股东积分")
-    private Object firstScoreAll;
+    private Integer firstScoreAll;
 
 
     /**
      * 全国中级股东积分
      */
     @Schema(description = "全国中级股东积分")
-    private Object centerScoreAll;
+    private Integer centerScoreAll;
 
 
     /**
      * 全国高级股东积分
      */
     @Schema(description = "全国高级股东积分")
-    private Object highScoreAll;
+    private Integer highScoreAll;
 
 
 

+ 3 - 3
kxs-user/kxs-user-api/src/main/java/com/kxs/user/api/vo/kxsapp/shareholder/ShareholderGetMyStandardsVO.java

@@ -48,21 +48,21 @@ public class ShareholderGetMyStandardsVO implements Serializable {
      * 全国初级股东积分
      */
     @Schema(description = "全国初级股东积分")
-    private Object firstScoreAll = 0;
+    private Integer firstScoreAll = 0;
 
 
     /**
      * 全国中级股东积分
      */
     @Schema(description = "全国中级股东积分")
-    private Object centerScoreAll = 0;
+    private Integer centerScoreAll = 0;
 
 
     /**
      * 全国高级股东积分
      */
     @Schema(description = "全国高级股东积分")
-    private Object highScoreAll = 0;
+    private Integer highScoreAll = 0;
 
 
 

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

@@ -7,6 +7,7 @@ import com.kxs.common.core.util.R;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 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.KxsUserRealLevelService;
@@ -23,6 +24,7 @@ import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.HashMap;
+import java.util.List;
 
 /**
  * 用户相关(Shareholder)控制层
@@ -81,16 +83,16 @@ public class ShareholderController {
      * 股东大盘分红-统计积分
      * 每日计算
      */
-    @Inner
+//    @Inner
     @GetMapping("/integralStat")
-    public void integralStat() {
-        kxsShdScoreService.integralStat();
+    public void integralStat(@RequestBody List<IntegralStatDTO> integralStatDTOS) {
+        kxsShdScoreService.integralStat(integralStatDTOS);
     }
 
     /**
      * 股东大盘分红-奖池同步交易额
      */
-    @Inner
+//    @Inner
     @GetMapping("/prizePoolSynchronization")
     public void prizePoolSynchronization() {
             kxsShdTradeAmtService.prizePoolSynchronization();
@@ -100,8 +102,8 @@ public class ShareholderController {
      * 真实职级计算
      */
     @Inner
-    @GetMapping("/userRealLevel")
-    public void userRealLevel(@RequestBody KxsUserRealLevel kxsUserRealLevel) {
+    @PostMapping("/updateUserRealLevel")
+    public void updateUserRealLevel(@RequestBody KxsUserRealLevel kxsUserRealLevel) {
         kxsUserRealLevelService.userRealLevel(kxsUserRealLevel);
     }
 

+ 7 - 0
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/mapper/KxsUserMapper.java

@@ -30,5 +30,12 @@ public interface KxsUserMapper extends BaseMapper<KxsUser> {
      * @return {@link Integer}
      */
     Integer selectMaxLevel(@Param("userId") Long userId);
+
+    /**
+     * 根据用户id获取上级用户
+     * @param userId
+     * @return
+     */
+    KxsUser getParenUser(Long userId);
 }
 

+ 3 - 1
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/service/KxsShdScoreService.java

@@ -2,9 +2,11 @@ package com.kxs.user.biz.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.kxs.user.api.dto.kxsapp.IntegralStatDTO;
 import com.kxs.user.api.model.KxsShdScore;
 
 import java.math.BigDecimal;
+import java.util.List;
 
 /**
  * 股东大盘分红用户积分表(KxsShdScore)表服务接口
@@ -21,7 +23,7 @@ public interface KxsShdScoreService extends IService<KxsShdScore> {
     /**
      * 积分统计
      */
-    void integralStat();
+    void integralStat( List<IntegralStatDTO> integralStatDTOS);
 
 
 }

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

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 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.model.KxsUser;
 import com.kxs.user.api.model.KxsUserRealLevel;
 import com.kxs.user.api.vo.kxsapp.shareholder.ShareholderGetMyStandardsAllVO;
@@ -34,18 +35,20 @@ public class KxsShdScoreServiceImpl extends ServiceImpl<KxsShdScoreMapper, KxsSh
     private final KxsShdScoreMapper kxsShdScoreMapper;
     private final KxsUserMapper kxsUserMapper;
     private final KxsUserRealLevelMapper kxsUserRealLevelMapper;
+
     @Override
     public Object getMyStandards(String month) {
+        month = month.split("-")[0] + month.split("-")[1];
         Long id = SecurityUtils.getUser().getId();
         KxsUser kxsUser = kxsUserMapper.selectById(id);
         //获取个人积分
-        ShareholderGetMyStandardsVO shareholderGetMyStandardsVO = kxsShdScoreMapper.getMyStandards(month,kxsUser.getUserCode());
-        if (shareholderGetMyStandardsVO == null){
+        ShareholderGetMyStandardsVO shareholderGetMyStandardsVO = kxsShdScoreMapper.getMyStandards(month, kxsUser.getUserCode());
+        if (shareholderGetMyStandardsVO == null) {
             shareholderGetMyStandardsVO = new ShareholderGetMyStandardsVO();
         }
         //获取全国积分
         ShareholderGetMyStandardsAllVO allVO = kxsShdScoreMapper.getMyStandardsAll(month);
-        if (allVO != null){
+        if (allVO != null) {
             shareholderGetMyStandardsVO.setCenterScoreAll(allVO.getCenterScoreAll());
             shareholderGetMyStandardsVO.setFirstScoreAll(allVO.getFirstScoreAll());
             shareholderGetMyStandardsVO.setHighScoreAll(allVO.getHighScoreAll());
@@ -55,12 +58,13 @@ public class KxsShdScoreServiceImpl extends ServiceImpl<KxsShdScoreMapper, KxsSh
 
     @Override
     public Object getShareholderUserList(Page<KxsShdScore> page, String month, Integer type) {
+        month = month.split("-")[0] + month.split("-")[1];
         Page<UserScoreListVO> shareholderHighScoreUserList = kxsShdScoreMapper.getShareholderHighScoreUserList(page, month, type);
         for (UserScoreListVO record : shareholderHighScoreUserList.getRecords()) {
             String userCode = record.getUserCode();
             //获取用户头像
             KxsUser kxsUser = kxsUserMapper.selectOne(Wrappers.<KxsUser>query().lambda().eq(KxsUser::getUserCode, userCode));
-            if (kxsUser != null){
+            if (kxsUser != null) {
                 record.setAvatar(kxsUser.getAvatar());
             }
         }
@@ -68,80 +72,116 @@ public class KxsShdScoreServiceImpl extends ServiceImpl<KxsShdScoreMapper, KxsSh
     }
 
     @Override
-    public void integralStat() {
-        //初级积分
-        //获取职级 > K3 的全部用户
-        List<KxsUserRealLevel> kxsUserRealLevels = kxsUserRealLevelMapper.selectList(Wrappers.<KxsUserRealLevel>query().lambda().gt(KxsUserRealLevel::getLevel, 3));
-        //构造月份
+    public void integralStat(List<IntegralStatDTO> integralStatDTOS) {
         LocalDateTime now = LocalDateTime.now();
-        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMM");
         String month = now.format(formatter);
-        for (KxsUserRealLevel kxsUserRealLevel : kxsUserRealLevels) {
-            //查询全部直属用户
-            List<KxsUserRealLevel> kxsUserRealLevelList = kxsUserRealLevelMapper.selectList(Wrappers.<KxsUserRealLevel>query().lambda().eq(KxsUserRealLevel::getPid, kxsUserRealLevel.getUserId()));
-            //当直属用户大于3时才进行积分计算
-            if (kxsUserRealLevelList.size() > 3){
-                //初级积分基数
-                int firstScoreCardinal = 0;
-                //中级积分基数
-                int centerScoreCardinal = 0;
-                //高级积分基数
-                int highScoreCardinal = 0;
-                          for (KxsUserRealLevel kxsUserRealLevelSon : kxsUserRealLevelList) {
-                    int level = Integer.parseInt(kxsUserRealLevelSon.getLevel());
-                    //校验用户职级
-                    if (level > 2){
-                        ++firstScoreCardinal;
-                    }
-                    if(level > 3){
-                        ++centerScoreCardinal;
-                    }
-                    if(level > 4){
-                        ++highScoreCardinal;
+        for (IntegralStatDTO integralStatDTO : integralStatDTOS) {
+            //当交易额大于300W则进入下一步
+            if (integralStatDTO.getTotalAmount().compareTo(new BigDecimal(3000000)) >= 0){
+                //获取上级用户
+                KxsUser kxsUser = kxsUserMapper.getParenUser(integralStatDTO.getUserId());
+                if (kxsUser != null){
+                    //查询记录
+                    KxsShdScore kxsShdScore = kxsShdScoreMapper.selectOne(Wrappers.<KxsShdScore>query().lambda().eq(KxsShdScore::getUserId, kxsUser.getId()).eq(KxsShdScore::getMonth, month));
+                    if (kxsShdScore == null){
+                        //记录不存在则构造数据
+                        kxsShdScore = new KxsShdScore();
+                        kxsShdScore.setCreateTime(now);
+                        kxsShdScore.setDelFlag("0");
+                        kxsShdScore.setUserId(Long.valueOf(kxsUser.getId()));
+                        if (integralStatDTO.getTotalAmount().compareTo(new BigDecimal(3000000)) >= 0){
+                            kxsShdScore.setFirstScore(1);
+                        }
+                        if (integralStatDTO.getTotalAmount().compareTo(new BigDecimal(8000000)) >= 0){
+                            kxsShdScore.setCenterScore(1);
+                        }else {
+                            kxsShdScore.setCenterScore(0);
+                        }
+                        if (integralStatDTO.getTotalAmount().compareTo(new BigDecimal(15000000)) >= 0){
+                            kxsShdScore.setHighScore(1);
+                        }else {
+                            kxsShdScore.setHighScore(0);
+                        }
+
+                        kxsShdScore.setMonth(month);
+                        kxsShdScoreMapper.insert(kxsShdScore);
+                    }else {
+                        //存在数据则根据条件增加
+                        if (integralStatDTO.getTotalAmount().compareTo(new BigDecimal(3000000)) >= 0){
+                            kxsShdScore.setFirstScore(kxsShdScore.getFirstScore() + 1);
+                        }
+                        if (integralStatDTO.getTotalAmount().compareTo(new BigDecimal(8000000)) >= 0){
+                            kxsShdScore.setCenterScore(kxsShdScore.getCenterScore() + 1);
+                        }
+                        if (integralStatDTO.getTotalAmount().compareTo(new BigDecimal(15000000)) >= 0){
+                            kxsShdScore.setHighScore(kxsShdScore.getHighScore() + 1);
+                        }
+                        kxsShdScore.setUpdateTime(now);
+                        kxsShdScoreMapper.updateById(kxsShdScore);
                     }
                 }
-                //用户实际获得积分
-                int firstScore = firstScoreCardinal / 3;
-                int centerScore = centerScoreCardinal / 3;
-                int highScore = highScoreCardinal / 3;
-                KxsShdScore kxsShdScore = kxsShdScoreMapper.selectOne(Wrappers.<KxsShdScore>query().lambda().eq(KxsShdScore::getUserId, kxsUserRealLevel.getUserId()).eq(KxsShdScore::getMonth,month));
-                if (kxsShdScore == null){
-                    kxsShdScore = new KxsShdScore();
-                    kxsShdScore.setCreateTime(now);
-                    kxsShdScore.setDelFlag("0");
-                    kxsShdScore.setUserId(kxsUserRealLevel.getUserId());
-                    kxsShdScore.setFirstScore(firstScore);
-                    kxsShdScore.setCenterScore(centerScore);
-                    kxsShdScore.setHighScore(highScore);
-                    kxsShdScore.setMonth(month);
-                    kxsShdScoreMapper.insert(kxsShdScore);
-                }else {
-                    //存在记录只需修改积分
-                    kxsShdScore.setFirstScore(firstScore);
-                    kxsShdScore.setCenterScore(centerScore);
-                    kxsShdScore.setHighScore(highScore);
-                    kxsShdScore.setUpdateTime(now);
-                    kxsShdScoreMapper.updateById(kxsShdScore);
-                }
             }
         }
+//        //初级积分
+//        //获取职级 > K3 的全部用户
+//        List<KxsUserRealLevel> kxsUserRealLevels = kxsUserRealLevelMapper.selectList(Wrappers.<KxsUserRealLevel>query().lambda().gt(KxsUserRealLevel::getLevel, 3));
+//        //构造月份
+//
+//        for (KxsUserRealLevel kxsUserRealLevel : kxsUserRealLevels) {
+//            //查询全部直属用户
+//            List<KxsUserRealLevel> kxsUserRealLevelList = kxsUserRealLevelMapper.selectList(Wrappers.<KxsUserRealLevel>query().lambda().eq(KxsUserRealLevel::getPid, kxsUserRealLevel.getUserId()));
+//            //当直属用户大于3时才进行积分计算
+//            if (kxsUserRealLevelList.size() > 3) {
+//                //初级积分基数
+//                int firstScoreCardinal = 0;
+//                //中级积分基数
+//                int centerScoreCardinal = 0;
+//                //高级积分基数
+//                int highScoreCardinal = 0;
+//                for (KxsUserRealLevel kxsUserRealLevelSon : kxsUserRealLevelList) {
+//                    int level = Integer.parseInt(kxsUserRealLevelSon.getLevel());
+//                    //校验用户职级
+//                    if (level > 2) {
+//                        ++firstScoreCardinal;
+//                    }
+//                    if (level > 3) {
+//                        ++centerScoreCardinal;
+//                    }
+//                    if (level > 4) {
+//                        ++highScoreCardinal;
+//                    }
+//                }
+//                //用户实际获得积分
+//                int firstScore = firstScoreCardinal / 3;
+//                int centerScore = centerScoreCardinal / 3;
+//                int highScore = highScoreCardinal / 3;
+//                if (firstScore != 0 || centerScore != 0 || highScore != 0) {
+//                    KxsShdScore kxsShdScore = kxsShdScoreMapper.selectOne(Wrappers.<KxsShdScore>query().lambda().eq(KxsShdScore::getUserId, kxsUserRealLevel.getUserId()).eq(KxsShdScore::getMonth, month));
+//                    if (kxsShdScore == null) {
+//                        kxsShdScore = new KxsShdScore();
+//                        kxsShdScore.setCreateTime(now);
+//                        kxsShdScore.setDelFlag("0");
+//                        kxsShdScore.setUserId(kxsUserRealLevel.getUserId());
+//                        kxsShdScore.setFirstScore(firstScore);
+//                        kxsShdScore.setCenterScore(centerScore);
+//                        kxsShdScore.setHighScore(highScore);
+//                        kxsShdScore.setMonth(month);
+//                        kxsShdScoreMapper.insert(kxsShdScore);
+//                    } else {
+//                        //存在记录只需修改积分
+//                        kxsShdScore.setFirstScore(firstScore);
+//                        kxsShdScore.setCenterScore(centerScore);
+//                        kxsShdScore.setHighScore(highScore);
+//                        kxsShdScore.setUpdateTime(now);
+//                        kxsShdScoreMapper.updateById(kxsShdScore);
+//                    }
+//                }
+//            }
+//        }
 
     }
 
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
 }
 

+ 1 - 0
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/service/impl/KxsShdTradeAmtServiceImpl.java

@@ -39,6 +39,7 @@ public class KxsShdTradeAmtServiceImpl extends ServiceImpl<KxsShdTradeAmtMapper,
     public Object getShareholderAmount(String tradeMonth) {
         //格式校验
         AssertUtil.isYyyyMM(tradeMonth);
+        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){

+ 3 - 1
kxs-user/kxs-user-biz/src/main/java/com/kxs/user/biz/service/impl/KxsUserRealLevelServiceImpl.java

@@ -42,7 +42,9 @@ public class KxsUserRealLevelServiceImpl extends ServiceImpl<KxsUserRealLevelMap
         if (kxsUserRealLevelSelect == null){
             //如果为空则增加pid后增加数据
             KxsUser kxsUser = kxsUserMapper.selectById(userId);
-            kxsUserRealLevel.setPid(Long.valueOf(kxsUser.getPid()));
+            if (kxsUser != null){
+                kxsUserRealLevel.setPid(Long.valueOf(kxsUser.getPid()));
+            }
             baseMapper.insert(kxsUserRealLevel);
         }else {
             //如果不为空则修改修改时间和职级

+ 17 - 10
kxs-user/kxs-user-biz/src/main/resources/mapper/KxsShdScoreMapper.xml

@@ -18,22 +18,26 @@
     <select id="getMyStandards"
             resultType="com.kxs.user.api.vo.kxsapp.shareholder.ShareholderGetMyStandardsVO">
                 SELECT
-                     first_score,center_score,high_score
+                     first_score/3,center_score/3,high_score/3
                  FROM kxs_shd_score
                  WHERE
                      del_flag != 1
+                     and first_score >= 3
+                     and center_score >= 3
+                     and high_score >= 3
                      and user_code = #{userCode}
                      and month = #{month}
     </select>
     <select id="getMyStandardsAll"
             resultType="com.kxs.user.api.vo.kxsapp.shareholder.ShareholderGetMyStandardsAllVO">
-        SELECT
-            sum(first_score) as firstScoreAll ,
-            sum(center_score) as centerScoreAll ,
-            sum(high_score) as highScoreAll
+        SELECT sum(first_score/3)  as firstScoreAll,
+               sum(center_score/3) as centerScoreAll,
+               sum(high_score/3)   as highScoreAll
         FROM kxs_shd_score
-        WHERE
-            del_flag != 1
+        WHERE del_flag != 1
+          and first_score >= 3
+          and center_score >= 3
+          and high_score >= 3
           and month = #{month}
     </select>
 
@@ -42,18 +46,21 @@
         SELECT
         <choose>
             <when test="type == 1">
-                first_score AS score
+                first_score/3 AS score
             </when>
             <when test="type == 2">
-                center_score AS score
+                center_score/3 AS score
             </when>
             <when test="type == 3">
-                high_score AS score
+                high_score/3 AS score
             </when>
         </choose>,
         id,username,user_code,id
         FROM kxs_shd_score
         WHERE del_flag != 1
+        AND first_score >= 3
+        AND center_score >= 3
+        AND high_score >= 3
         AND month = #{month}
         <choose>
             <when test="type == 1">

+ 9 - 0
kxs-user/kxs-user-biz/src/main/resources/mapper/KxsUserMapper.xml

@@ -47,6 +47,15 @@
         where a.id = #{userId}
 
     </select>
+    <select id="getParenUser" resultType="com.kxs.user.api.model.KxsUser">
+        select
+            *
+        from kxs_user
+        where del_flag != 1
+            and id = (
+            select pid from kxs_user where id = #{userId}
+                                     )
+    </select>
 
 </mapper>