Selaa lähdekoodia

合伙人升级bug修改

xuqiang 1 vuosi sitten
vanhempi
commit
2ff6403d54

+ 40 - 32
src/main/java/com/ydtech/modules/partner/CalculateCommissionUtils.java

@@ -59,11 +59,10 @@ 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 = new HashSet<>(0);
+        Set<String> userIdList = Collections.emptySet();;
         if (StringUtils.equals("gzs", type)){
             userIdList = partnerUserMapper.querySubordinateUserId(levelUserId);
-        }
-        if (StringUtils.equals("hh", type)){
+        }else if (StringUtils.equals("hh", type)){
             userIdList = partnerUserMapper.querySubordinate(levelUserId);
         }
         BigDecimal sumPremium = BigDecimal.ZERO;
@@ -80,11 +79,13 @@ public class CalculateCommissionUtils {
 
         if (StringUtils.equals("gzs", type)){
             number = partnerUserMapper.selectNumber(levelUserId, "5", period);
-        }
-        if (StringUtils.equals("hh", type)){
+        }else if (StringUtils.equals("hh", type)){
             number = partnerUserMapper.selectNumber(levelUserId, "4", period);
         }
-        log.info("用户id{}++{}级用户++出单人的上级用户{}++统计的保单金额{}++统计的邀请人数{}", userId, grade, levelUserId, sumPremium,number);
+        if (log.isInfoEnabled()) {
+            log.info("用户id{}++{}级用户++出单人的上级用户{}++统计的保单金额{}++统计的邀请人数{}",
+                    userId, grade, levelUserId, sumPremium, number);
+        }
         return new CommissionValues(sumPremium, new BigDecimal(number));
     }
 
@@ -106,7 +107,7 @@ public class CalculateCommissionUtils {
 
 
     public static String querySuperiorAndSubordinate(String issuerId,String grade){
-        String levelUserId = "";
+        String levelUserId;
         QueryWrapper<PartnerUser> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("user_id", issuerId);
         PartnerUser issuerUser = partnerUserMapper.selectOne(queryWrapper);
@@ -292,35 +293,42 @@ public class CalculateCommissionUtils {
 
     public static CommissionValidityPeriod getCommissionValidityPeriod(PartnerCommissionRules rules, String userId, String grade) {
         CommissionValidityPeriod period = new CommissionValidityPeriod();
-        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        if (StringUtils.equals("1", rules.getValidityPeriod())) {
+        if (rules == null || StringUtils.isBlank(rules.getValidityPeriod())) {
             return period;
-        } else if (StringUtils.equals("2", rules.getValidityPeriod())) {
-            Date assessmentTime = partnerUserMapper.selectAssessmentTime(userId, grade);
-            if (assessmentTime == null) {
-                partnerUserMapper.updateAssessmentTime(userId);
-                assessmentTime = partnerUserMapper.selectAssessmentTime(userId, grade);
-                if (Objects.isNull(assessmentTime)){
-                    return period;
+        }
+        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        try {
+            if (StringUtils.equals("1", rules.getValidityPeriod())) {
+                return period;
+            } else if (StringUtils.equals("2", rules.getValidityPeriod())) {
+                Date assessmentTime = partnerUserMapper.selectAssessmentTime(userId, grade);
+                if (assessmentTime == null) {
+                    partnerUserMapper.updateAssessmentTime(userId);
+                    assessmentTime = partnerUserMapper.selectAssessmentTime(userId, grade);
+                    if (Objects.isNull(assessmentTime)){
+                        return period;
+                    }
                 }
-            }
-            if (!isWithinDays(assessmentTime, rules.getFixedDays())) {
-                updateAssessmentTimeRecursively(assessmentTime,rules.getFixedDays(),userId );
-                assessmentTime = partnerUserMapper.selectAssessmentTime(userId, grade);
-            }
-            period.setStartDate(dateFormat.format(assessmentTime));
-            period.setEndDate(dateFormat.format(addDays(assessmentTime, rules.getFixedDays())));
-        } else if (StringUtils.equals("3", rules.getValidityPeriod())) {
-            Date fixedCycle = partnerUserMapper.selectFixedCycleTime(userId, grade);
-            if (fixedCycle == null) {
-                partnerUserMapper.updateFixedCycleTime(userId);
-                fixedCycle = partnerUserMapper.selectFixedCycleTime(userId, grade);
-                if (fixedCycle == null){
-                    return period;
+                if (!isWithinDays(assessmentTime, rules.getFixedDays())) {
+                    updateAssessmentTimeRecursively(assessmentTime,rules.getFixedDays(),userId );
+                    assessmentTime = partnerUserMapper.selectAssessmentTime(userId, grade);
+                }
+                period.setStartDate(dateFormat.format(assessmentTime));
+                period.setEndDate(dateFormat.format(addDays(assessmentTime, rules.getFixedDays())));
+            } else if (StringUtils.equals("3", rules.getValidityPeriod())) {
+                Date fixedCycle = partnerUserMapper.selectFixedCycleTime(userId, grade);
+                if (fixedCycle == null) {
+                    partnerUserMapper.updateFixedCycleTime(userId);
+                    fixedCycle = partnerUserMapper.selectFixedCycleTime(userId, grade);
+                    if (fixedCycle == null){
+                        return period;
+                    }
                 }
+                period.setStartDate(rules.getStartDate());
+                period.setEndDate(rules.getEndDate());
             }
-            period.setStartDate(rules.getStartDate());
-            period.setEndDate(rules.getEndDate());
+        } catch (Exception e) {
+            log.error("获取佣金有效期异常,userId:{}, grade:{}", userId, grade, e);
         }
         return period;
     }