xuqiang 1 жил өмнө
parent
commit
02c16b478a

+ 10 - 9
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java

@@ -326,6 +326,8 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
     public void newSaveFeeInfo(InsAreaCompany insAreaCompany) {
         InsOrders insOrders = getById(insAreaCompany.getOrderno());
         String userId = insOrders.getUserid();
+        String userId3 = CalculateCommissionUtils.querySuperiorAndSubordinate(userId,"3");
+        String userId4 = CalculateCommissionUtils.querySuperiorAndSubordinate(userId,"4");
         List<PartnerUser> partnerUser = partnerUserService.selectByUserId(userId);
         List<PartnerPremiumDetails> list = new ArrayList<>();
         for (PartnerUser user : partnerUser) {
@@ -340,8 +342,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
             details.setJqpremium(insAreaCompany.getJqpremium());
             details.setSypremium(insAreaCompany.getSypremium());
             details.setJypremium(insAreaCompany.getJypremium());
-            String subordinate = CalculateCommissionUtils.querySuperiorAndSubordinate(userId,String.valueOf(user.getGrade()));
-            BigDecimal bigDecimal = CalculateCommissionUtils.calculateCommission(String.valueOf(user.getGrade()), user.getUserId(), subordinate);
+            BigDecimal bigDecimal = CalculateCommissionUtils.calculateCommission(String.valueOf(user.getGrade()), user.getUserId(),userId3,userId4);
             details.setProportional(String.valueOf(bigDecimal));
             details.setExtractFee(details.getSumpremium().multiply(bigDecimal.divide(new BigDecimal("100"))).setScale(2, RoundingMode.DOWN));
             details.setStatus(0);
@@ -352,16 +353,16 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
             details.setLicenseno(insOrders.getLicenseno());
             details.setSource(user.getGrade());
             list.add(details);
-            SpringUtil.getBean(KickbackChangeUtils.class).before(bigDecimal, details);
-            saveFeeLevelInfo(user.getGrade() - 1, user.getReferrerId(), insAreaCompany, userId, list);
+            SpringUtil.getBean(KickbackChangeUtils.class).before(bigDecimal, details,userId3,userId4);
+            saveFeeLevelInfo(user.getGrade() - 1, user.getReferrerId(), insAreaCompany, userId, list,userId3,userId4);
         }
         for (PartnerPremiumDetails details : list) {
             partnerPremiumDetailsMapper.insert(details);
         }
-        SpringUtil.getBean(KickbackChangeUtils.class).updatePersonnel(list);
+        SpringUtil.getBean(KickbackChangeUtils.class).updatePersonnel(list,userId3,userId4);
     }
 
-    public void saveFeeLevelInfo(Integer grade, String referrerId, InsAreaCompany insAreaCompany, String userId, List<PartnerPremiumDetails> list) {
+    public void saveFeeLevelInfo(Integer grade, String referrerId, InsAreaCompany insAreaCompany, String userId, List<PartnerPremiumDetails> list,String userId3,String userId4) {
         if (Objects.isNull(grade) || grade <= 0) {
             return;
         }
@@ -382,7 +383,7 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         details.setJqpremium(insAreaCompany.getJqpremium());
         details.setSypremium(insAreaCompany.getSypremium());
         details.setJypremium(insAreaCompany.getJypremium());
-        BigDecimal bigDecimal = CalculateCommissionUtils.calculateCommission(String.valueOf(partnerUser.getGrade()), partnerUser.getUserId(), userId);
+        BigDecimal bigDecimal = CalculateCommissionUtils.calculateCommission(String.valueOf(partnerUser.getGrade()), partnerUser.getUserId(),userId3,userId4);
         details.setProportional(String.valueOf(bigDecimal));
         details.setExtractFee(details.getSumpremium().multiply(bigDecimal.divide(new BigDecimal("100"))).setScale(2, RoundingMode.DOWN));
         details.setStatus(0);
@@ -393,8 +394,8 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         details.setLicenseno(insOrders.getLicenseno());
         details.setSource(partnerUser.getGrade());
         list.add(details);
-        SpringUtil.getBean(KickbackChangeUtils.class).before(bigDecimal, details);
-        saveFeeLevelInfo(grade - 1, partnerUser.getReferrerId(), insAreaCompany, userId, list);
+        SpringUtil.getBean(KickbackChangeUtils.class).before(bigDecimal, details,userId3,userId4);
+        saveFeeLevelInfo(grade - 1, partnerUser.getReferrerId(), insAreaCompany, userId, list,userId3,userId4);
     }
 
 

+ 23 - 107
src/main/java/com/ydtech/modules/partner/CalculateCommissionUtils.java

@@ -57,49 +57,15 @@ public class CalculateCommissionUtils {
         }
     }
 
-    private static CommissionValues calculateCommonValues(String grade, String userId, PartnerCommissionRules rules,String levelUserId,String type) {
-        CommissionValidityPeriod period = getCommissionValidityPeriod(rules, userId, grade);
-        Set<String> userIdList = Collections.emptySet();
-        String superiorID = "";
-        if (StringUtils.equals("gzs", type)){
-            superiorID = superiorsByIssuing(levelUserId,null,4);
-            userIdList = partnerUserMapper.querySubordinateUserId(superiorID);
-        }else if (StringUtils.equals("hh", type)){
-            superiorID = superiorsByIssuing(levelUserId,null,3);
-            userIdList = partnerUserMapper.querySubordinate(superiorID);
-        }
-        BigDecimal sumPremium = BigDecimal.ZERO;
-        if (CollectionUtil.isNotEmpty(userIdList)) {
-            QueryWrapper<PartnerPremiumDetails> queryWrapper = new QueryWrapper<>();
-            queryWrapper.in("user_id", userIdList);
-            if (StringUtils.isNotEmpty(period.getStartDate()) && StringUtils.isNotEmpty(period.getEndDate())) {
-                queryWrapper.between("create_time", period.getStartDate(), period.getEndDate());
-            }
-            BigDecimal totalSumPremium = partnerPremiumDetailsMapper.selectTotalSumPremium(queryWrapper);
-            sumPremium = Optional.ofNullable(totalSumPremium).orElse(BigDecimal.ZERO);
-        }
-        Integer number = 0;
-
-        if (StringUtils.equals("gzs", type)){
-            number = partnerUserMapper.selectNumber(superiorID, "5", period);
-        }else if (StringUtils.equals("hh", type)){
-            number = partnerUserMapper.selectNumber(superiorID, "4", period);
-        }
-        if (log.isInfoEnabled()) {
-            log.info("用户id{}++{}级用户++出单人的上级用户{}++统计的保单金额{}++统计的邀请人数{}",
-                    userId, grade, superiorID, sumPremium, number);
-        }
-        return new CommissionValues(sumPremium, new BigDecimal(number));
-    }
-
-
-    private static CommissionValues calculateCommonValues2(String grade, String userId, PartnerCommissionRules rules,String levelUserId,String type) {
-        CommissionValidityPeriod period = getCommissionValidityPeriod(rules, userId, grade);
+    private static CommissionValues calculateCommonValues(String grade, String userId, PartnerCommissionRules rules,String type,String userId3,String userId4) {
+        CommissionValidityPeriod period = new CommissionValidityPeriod();
         Set<String> userIdList = Collections.emptySet();
         if (StringUtils.equals("gzs", type)){
-            userIdList = partnerUserMapper.querySubordinateUserId(levelUserId);
+            period = getCommissionValidityPeriod(rules, userId4, "4");
+            userIdList = partnerUserMapper.querySubordinateUserId(userId4);
         }else if (StringUtils.equals("hh", type)){
-            userIdList = partnerUserMapper.querySubordinate(levelUserId);
+            period = getCommissionValidityPeriod(rules, userId3, "3");
+            userIdList = partnerUserMapper.querySubordinate(userId3);
         }
         BigDecimal sumPremium = BigDecimal.ZERO;
         if (CollectionUtil.isNotEmpty(userIdList)) {
@@ -114,91 +80,55 @@ public class CalculateCommissionUtils {
         Integer number = 0;
 
         if (StringUtils.equals("gzs", type)){
-            number = partnerUserMapper.selectNumber(levelUserId, "5", period);
+            number = partnerUserMapper.selectNumber(userId4, "5", period);
         }else if (StringUtils.equals("hh", type)){
-            number = partnerUserMapper.selectNumber(levelUserId, "4", period);
+            number = partnerUserMapper.selectNumber(userId3, "4", period);
         }
         if (log.isInfoEnabled()) {
             log.info("用户id{}++{}级用户++出单人的上级用户{}++统计的保单金额{}++统计的邀请人数{}",
-                    userId, grade, levelUserId, sumPremium, number);
+                    userId, grade, userId3, sumPremium, number);
         }
         return new CommissionValues(sumPremium, new BigDecimal(number));
     }
 
-    public static String superiorsByIssuing(String userId,Integer grade,Integer queryLevel) {
-        QueryWrapper<PartnerUser> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("user_id", userId);
-        if (grade != null){
-            grade --;
-            queryWrapper.eq("grade", grade);
-        }
-        PartnerUser user = partnerUserMapper.selectOne(queryWrapper);
-        if (user == null){
-            return null;
-        }
-        if (user.getGrade() == queryLevel){
-            return user.getUserId();
-        }else {
-            return superiorsByIssuing(user.getReferrerId(),user.getGrade(),queryLevel);
-        }
-    }
 
-    public static String getReason(String grade, String userId,String levelUserId) {
+    public static String getReason(String grade, String userId,String userId3,String userId4) {
         CommissionRulesVo rulesVo = commissionService.queryAll();
         if (rulesVo == null) return null;
         if (StringUtils.equals("1", grade)){
             return null;
         }
         if (StringUtils.equals("2", grade) || StringUtils.equals("3", grade)){
-            return   obtainReason(grade, rulesVo.getAdministrator().getRulesRatioList(), userId, rulesVo.getAdministrator(),levelUserId,"hh");
+            return   obtainReason(grade, rulesVo.getAdministrator().getRulesRatioList(), userId, rulesVo.getAdministrator(),"hh",userId3,userId4);
         }
         if (StringUtils.equals("4", grade)){
-           return obtainReason(grade, rulesVo.getPartner().getRulesRatioList(), userId, rulesVo.getPartner(),levelUserId,"gzs");
+           return obtainReason(grade, rulesVo.getPartner().getRulesRatioList(), userId, rulesVo.getPartner(),"gzs",userId3,userId4);
         }
         return null;
     }
 
 
     public static String querySuperiorAndSubordinate(String issuerId,String grade){
-        String levelUserId;
         QueryWrapper<PartnerUser> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("user_id", issuerId);
         PartnerUser issuerUser = partnerUserMapper.selectOne(queryWrapper);
-        if (StringUtils.equals("2", grade) || StringUtils.equals("3", grade)) {
-            levelUserId = getLevelUserId(issuerUser.getUserId(), issuerUser.getGrade(), "3");
-        } else {
-            levelUserId = getLevelUserId(issuerUser.getUserId(), issuerUser.getGrade(), "4");
-        }
-        return levelUserId;
-    }
-
-
-    public static BigDecimal calculateCommission(String grade, String userId,String levelUserId) {
-        CommissionRulesVo rulesVo = commissionService.queryAll();
-        if (rulesVo == null) return BigDecimal.ZERO;
-        BigDecimal gl = BigDecimal.ZERO;
-        if (StringUtils.equals("2", grade) || StringUtils.equals("3", grade)){
-            gl = ladderCommission(grade,rulesVo.getAdministrator().getRulesRatioList(), userId, rulesVo.getAdministrator(), levelUserId,"hh");
-        }
-        BigDecimal hh = BigDecimal.ZERO;
-        if (StringUtils.equals("4", grade) || StringUtils.equals("3", grade)){
-            hh = ladderCommission(grade, rulesVo.getPartner().getRulesRatioList(), userId, rulesVo.getPartner(),levelUserId,"gzs");
+        if (Objects.isNull(issuerUser)){
+            return null;
         }
-        log.info("用户id:{}++{}级用户++gl:{}++hh:{}", userId, grade,gl, hh);
-        return calculateProportion(grade,rulesVo,gl,hh);
+        return getLevelUserId(issuerUser.getUserId(), issuerUser.getGrade(), grade);
     }
 
 
-    public static BigDecimal calculateCommission2(String grade, String userId,String levelUserId) {
+    public static BigDecimal calculateCommission(String grade, String userId,String userId3,String userId4) {
         CommissionRulesVo rulesVo = commissionService.queryAll();
         if (rulesVo == null) return BigDecimal.ZERO;
         BigDecimal gl = BigDecimal.ZERO;
         if (StringUtils.equals("2", grade) || StringUtils.equals("3", grade)){
-            gl = ladderCommission2(grade,rulesVo.getAdministrator().getRulesRatioList(), userId, rulesVo.getAdministrator(), levelUserId,"hh");
+            gl = ladderCommission(grade,rulesVo.getAdministrator().getRulesRatioList(), userId, rulesVo.getAdministrator(),"hh", userId3, userId4);
         }
         BigDecimal hh = BigDecimal.ZERO;
         if (StringUtils.equals("4", grade) || StringUtils.equals("3", grade)){
-            hh = ladderCommission2(grade, rulesVo.getPartner().getRulesRatioList(), userId, rulesVo.getPartner(),levelUserId,"gzs");
+            hh = ladderCommission(grade, rulesVo.getPartner().getRulesRatioList(), userId, rulesVo.getPartner(),"gzs",userId3, userId4);
         }
         log.info("用户id:{}++{}级用户++gl:{}++hh:{}", userId, grade,gl, hh);
         return calculateProportion(grade,rulesVo,gl,hh);
@@ -247,23 +177,9 @@ public class CalculateCommissionUtils {
         return new BigDecimal(a).subtract(new BigDecimal(b));
     }
 
-    public static BigDecimal ladderCommission(String grade, List<PartnerRulesRatio> rulesRatioList, String userId, PartnerCommissionRules rules,String levelUserId,String type) {
-        CommissionValues values = calculateCommonValues(grade, userId, rules, levelUserId,type);
-        List<PartnerRulesRatio> sortedList = rulesRatioList.stream()
-                .sorted(Comparator.comparing(PartnerRulesRatio::getKickback).reversed())
-                .collect(Collectors.toList());
-        for (PartnerRulesRatio ratio : sortedList) {
-            BigDecimal result = handleRatioCondition(ratio, values.number, values.sumPremium);
-            if (result.compareTo(BigDecimal.ZERO) > 0) {
-                return result;
-            }
-        }
-        return BigDecimal.ZERO;
-    }
-
-
-    public static BigDecimal ladderCommission2(String grade, List<PartnerRulesRatio> rulesRatioList, String userId, PartnerCommissionRules rules,String levelUserId,String type) {
-        CommissionValues values = calculateCommonValues2(grade, userId, rules, levelUserId,type);
+    public static BigDecimal ladderCommission(String grade, List<PartnerRulesRatio> rulesRatioList, String userId, PartnerCommissionRules rules,
+                                              String type,String userId3,String userId4) {
+        CommissionValues values = calculateCommonValues(grade, userId, rules,type,userId3,userId4);
         List<PartnerRulesRatio> sortedList = rulesRatioList.stream()
                 .sorted(Comparator.comparing(PartnerRulesRatio::getKickback).reversed())
                 .collect(Collectors.toList());
@@ -312,11 +228,11 @@ public class CalculateCommissionUtils {
     }
 
 
-    public static String obtainReason(String grade, List<PartnerRulesRatio> rulesRatioList, String userId, PartnerCommissionRules rules,String levelUserId,String type) {
+    public static String obtainReason(String grade, List<PartnerRulesRatio> rulesRatioList, String userId, PartnerCommissionRules rules,String type,String userId3,String userId4) {
         List<PartnerRulesRatio> sortedList = rulesRatioList.stream()
                 .sorted(Comparator.comparing(PartnerRulesRatio::getKickback).reversed())
                 .collect(Collectors.toList());
-        CommissionValues values = calculateCommonValues(grade, userId, rules,levelUserId,type);
+        CommissionValues values = calculateCommonValues(grade, userId, rules,type,userId3,userId4);
         BigDecimal numberBD = values.number;
         BigDecimal sumPremium = values.sumPremium;
         for (PartnerRulesRatio ratio : sortedList) {

+ 10 - 10
src/main/java/com/ydtech/modules/partner/KickbackChangeUtils.java

@@ -23,13 +23,13 @@ public class KickbackChangeUtils {
     }
 
 
-    public void updatePersonnel(List<PartnerPremiumDetails> list){
+    public void updatePersonnel(List<PartnerPremiumDetails> list,String userId3,String userId4){
         List<PartnerKickbackChange> kickbackChange = new ArrayList<>();
         for (PartnerPremiumDetails details : list) {
-            BigDecimal latest = CalculateCommissionUtils.calculateCommission(String.valueOf(details.getSource()),details.getUserId(),details.getIssuerId());
+            BigDecimal latest = CalculateCommissionUtils.calculateCommission(String.valueOf(details.getSource()),details.getUserId(),userId3,userId4);
             BigDecimal mostRecent = kickbackChangeService.mostRecentRecord(details.getUserId(),String.valueOf(details.getSource()));
             BigDecimal bigDecimal = mostRecent == null ? new BigDecimal(details.getProportional()) : mostRecent;
-            getPartnerKickbackChange(latest, bigDecimal, details, kickbackChange);
+            getPartnerKickbackChange(latest, bigDecimal, details, kickbackChange,userId3,userId4);
         }
 
         for (PartnerKickbackChange change : kickbackChange) {
@@ -38,14 +38,14 @@ public class KickbackChangeUtils {
     }
 
 
-    public void before(BigDecimal latest,PartnerPremiumDetails details){
+    public void before(BigDecimal latest,PartnerPremiumDetails details,String userId3,String userId4){
         BigDecimal mostRecent = kickbackChangeService.mostRecentRecord(details.getUserId(),String.valueOf(details.getSource()));
         if (mostRecent == null){
-            PartnerKickbackChange change = getChange(null, latest, details);
+            PartnerKickbackChange change = getChange(null, latest, details,userId3,userId4);
             kickbackChangeService.saveKickbackChange(change);
         }else {
             if (latest.compareTo(mostRecent) != 0){
-                PartnerKickbackChange change = getChange(latest, mostRecent, details);
+                PartnerKickbackChange change = getChange(latest, mostRecent, details,userId3,userId4);
                 kickbackChangeService.saveKickbackChange(change);
             }
         }
@@ -54,20 +54,20 @@ public class KickbackChangeUtils {
 
 
 
-    public void getPartnerKickbackChange(BigDecimal latest, BigDecimal mostRecent, PartnerPremiumDetails details, List<PartnerKickbackChange> list){
+    public void getPartnerKickbackChange(BigDecimal latest, BigDecimal mostRecent, PartnerPremiumDetails details, List<PartnerKickbackChange> list,String userId3,String userId4){
         if (latest.compareTo(mostRecent) != 0){
-            PartnerKickbackChange change = getChange(latest, mostRecent, details);
+            PartnerKickbackChange change = getChange(latest, mostRecent, details, userId3, userId4);
             list.add( change);
         }
     }
 
-    private static PartnerKickbackChange getChange(BigDecimal bigDecimal, BigDecimal mostRecent, PartnerPremiumDetails details) {
+    private static PartnerKickbackChange getChange(BigDecimal bigDecimal, BigDecimal mostRecent, PartnerPremiumDetails details,String userId3,String userId4) {
         PartnerKickbackChange change = new PartnerKickbackChange();
         change.setUserId(details.getUserId());
         change.setUserGrade(String.valueOf(details.getSource()));
         change.setOriginalCommission(mostRecent);
         change.setAfterChange(bigDecimal);
-        String reason = CalculateCommissionUtils.getReason(String.valueOf(details.getSource()), details.getUserId(), details.getIssuerId());
+        String reason = CalculateCommissionUtils.getReason(String.valueOf(details.getSource()), details.getUserId(),userId3, userId4);
         change.setChangeReason(reason);
         change.setDeptId(details.getDeptId());
         change.setChangeTime(new Date());

+ 34 - 25
src/main/java/com/ydtech/modules/partner/UpdateRatioUtils.java

@@ -36,12 +36,13 @@ public class UpdateRatioUtils {
 
     public void loginBefore(String userId){
         Map<Integer, PartnerUser> allByUserId = getAllByUserId(userId);
-        allByUserId.forEach((key, value) -> {
-            String grade = String.valueOf(key);
-            String string = getString(allByUserId, grade);
-            BigDecimal latest = CalculateCommissionUtils.calculateCommission2(grade, value.getUserId(),string);
-            initializeCommissionRatio(value, latest);
-        });
+        if (isExist(allByUserId)){
+            allByUserId.forEach((key, value) -> {
+                String grade = String.valueOf(key);
+                BigDecimal latest = CalculateCommissionUtils.calculateCommission(grade, value.getUserId(),allByUserId.get(3).getUserId(),allByUserId.get(4).getUserId());
+                initializeCommissionRatio(value, latest);
+            });
+        }
     }
 
 
@@ -97,19 +98,21 @@ public class UpdateRatioUtils {
         return map;
     }
 
-    private static void saveChange(Map<Integer, PartnerUser> map) {
-        List<PartnerKickbackChange> kickbackChange = new ArrayList<>();
-        for (Map.Entry<Integer, PartnerUser> entry : map.entrySet()) {
-            String key = String.valueOf(entry.getKey());
-            PartnerUser value = entry.getValue();
-            String string = getString(map, key);
-            BigDecimal latest = CalculateCommissionUtils.calculateCommission2(String.valueOf(key), value.getUserId(), string);
-            BigDecimal mostRecent = SpringUtil.getBean(PartnerKickbackChangeService.class).mostRecentRecord(value.getUserId(),key);
-            getPartnerKickbackChange(latest, mostRecent, value, kickbackChange,map);
-        }
-        for (PartnerKickbackChange change : kickbackChange) {
-            kickbackChangeService.saveKickbackChange(change);
+    private  void saveChange(Map<Integer, PartnerUser> map) {
+        if (isExist(map)){
+            List<PartnerKickbackChange> kickbackChange = new ArrayList<>();
+            for (Map.Entry<Integer, PartnerUser> entry : map.entrySet()) {
+                String key = String.valueOf(entry.getKey());
+                PartnerUser value = entry.getValue();
+                BigDecimal latest = CalculateCommissionUtils.calculateCommission(String.valueOf(key), value.getUserId(), map.get(3).getUserId(), map.get(4).getUserId());
+                BigDecimal mostRecent = SpringUtil.getBean(PartnerKickbackChangeService.class).mostRecentRecord(value.getUserId(),key);
+                getPartnerKickbackChange(latest, mostRecent, value, kickbackChange,map);
+            }
+            for (PartnerKickbackChange change : kickbackChange) {
+                kickbackChangeService.saveKickbackChange(change);
+            }
         }
+
     }
 
     private static void getMap(Map<Integer, PartnerUser> map, PartnerUser user) {
@@ -128,6 +131,10 @@ public class UpdateRatioUtils {
         }
     }
 
+    public boolean isExist(Map<Integer, PartnerUser> map) {
+        int[] keysToCheck = {3,4};
+        return Arrays.stream(keysToCheck).allMatch(map::containsKey);
+    }
 
     public void before(String referrerId, Integer grade){
         Map<Integer, PartnerUser> map = new HashMap<>();
@@ -135,12 +142,15 @@ public class UpdateRatioUtils {
         if (user != null) {
             getMap(map, user);
         }
-        for (Map.Entry<Integer, PartnerUser> entry : map.entrySet()) {
-            String key = String.valueOf(entry.getKey());
-            PartnerUser value = entry.getValue();
-            BigDecimal latest = CalculateCommissionUtils.calculateCommission2(key,value.getUserId(),null);
-            initializeCommissionRatio(value, latest);
+        if (isExist(map)){
+            for (Map.Entry<Integer, PartnerUser> entry : map.entrySet()) {
+                String key = String.valueOf(entry.getKey());
+                PartnerUser value = entry.getValue();
+                BigDecimal latest = CalculateCommissionUtils.calculateCommission(key,value.getUserId(),map.get(3).getUserId(),map.get(4).getUserId());
+                initializeCommissionRatio(value, latest);
+            }
         }
+
     }
 
     public  void addChangeRecord(String userId){
@@ -167,8 +177,7 @@ public class UpdateRatioUtils {
         change.setUserGrade(String.valueOf(details.getGrade()));
         change.setOriginalCommission(mostRecent);
         change.setAfterChange(bigDecimal);
-        String string = getString(map, String.valueOf(details.getGrade()));
-        String reason = CalculateCommissionUtils.getReason(String.valueOf(details.getGrade()), details.getUserId(),string);
+        String reason = CalculateCommissionUtils.getReason(String.valueOf(details.getGrade()), details.getUserId(),map.get(3).getUserId(), map.get(4).getUserId());
         change.setChangeReason(reason);
         change.setDeptId(details.getDeptId());
         change.setChangeTime(new Date());

+ 5 - 5
src/main/java/com/ydtech/modules/partner/service/Impl/PartnerUserServiceImpl.java

@@ -959,10 +959,10 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
             return HttpResult.error("用户无权益信息");
         }
         BigDecimal totalAmountSafe = BigDecimal.ZERO;
-        for (PartnerUser partnerUser : partnerUsers) {
-            BigDecimal bigDecimal = CalculateCommissionUtils.calculateCommission2(String.valueOf(partnerUser.getGrade()),partnerUser.getUserId(),"");
-            totalAmountSafe = totalAmountSafe.add(bigDecimal);
-        }
+//        for (PartnerUser partnerUser : partnerUsers) {
+//            BigDecimal bigDecimal = CalculateCommissionUtils.calculateCommission(String.valueOf(partnerUser.getGrade()),partnerUser.getUserId(),"");
+//            totalAmountSafe = totalAmountSafe.add(bigDecimal);
+//        }
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("totalRate",totalAmountSafe);
 
@@ -973,7 +973,7 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
             JSONObject object = new JSONObject();
             object.put("grade",user.getGrade());
             object.put("gradeName",rule.getOrDefault(user.getGrade(),""));
-            object.put("commissionRate",CalculateCommissionUtils.calculateCommission2(String.valueOf(user.getGrade()),user.getUserId(),""));
+            object.put("commissionRate","");
             list.add(object);
         }
         jsonObject.put("data",list);