Bladeren bron

合伙人升级

xuqiang 1 jaar geleden
bovenliggende
commit
a9b5e5d03b

+ 2 - 0
src/main/java/com/ydtech/modules/partner/dao/PartnerUserMapper.java

@@ -126,6 +126,8 @@ public interface PartnerUserMapper extends BaseMapper<PartnerUser> {
     @Select("SELECT upgrade_time FROM partner_user WHERE user_id = #{userId} AND grade = #{grade}")
     Date selectUpgradeTime(String userId, String grade);
 
+    @Update("UPDATE partner_user SET upgrade_time = #{date} WHERE  user_id = #{userId} ")
+    void updateUpgradeTimeByDate(@Param("userId") String userId,@Param("date") Date date);
 
     @Update("UPDATE partner_user SET upgrade_time = ( " +
             " SELECT DATE(approve_time) FROM sys_user_track WHERE `status` = 1 AND user_id = #{userId} LIMIT 1 " +

+ 6 - 3
src/main/java/com/ydtech/modules/partner/service/Impl/PartnerRuleServiceImpl.java

@@ -185,6 +185,9 @@ public class PartnerRuleServiceImpl extends ServiceImpl<PartnerRuleMapper, Partn
         }
         BigDecimal p = getInviteData(userId, grade, period);
         BigDecimal bf = partnerUserMapper.selectTotalSumPremium(userId, grade, period);
+        if (bf == null){
+            bf = BigDecimal.ZERO;
+        }
         BigDecimal people;
         BigDecimal allBf;
         if (requirement.size() >= 2) {
@@ -252,7 +255,7 @@ public class PartnerRuleServiceImpl extends ServiceImpl<PartnerRuleMapper, Partn
             String fixedDays = cycle1.getFixedDays();
 
             if (!isWithinDays(upgradeTime,Integer.valueOf(fixedDays) )) {
-                updateAssessmentTimeRecursively(upgradeTime,Integer.valueOf(fixedDays),userId,grade );
+                updateUpgradeTimeByDate(upgradeTime,Integer.valueOf(fixedDays),userId,grade );
                 upgradeTime = partnerUserMapper.selectUpgradeTime(userId, grade);
             }
             period.setStartDate(dateFormat.format(upgradeTime));
@@ -285,12 +288,12 @@ public class PartnerRuleServiceImpl extends ServiceImpl<PartnerRuleMapper, Partn
         return Date.from(endOfDay.atZone(ZoneId.systemDefault()).toInstant());
     }
 
-    private  void updateAssessmentTimeRecursively(Date assessmentTime, int days, String userId,String grade) {
+    private  void updateUpgradeTimeByDate(Date assessmentTime, int days, String userId,String grade) {
         Date newDate = addDaysToday(assessmentTime, days);
         while (!isWithinDays(newDate, days)) {
             newDate = addDaysToday(newDate, days);
         }
-        partnerUserMapper.updateAssessmentTimeByDate(userId, newDate);
+        partnerUserMapper.updateUpgradeTimeByDate(userId, newDate);
     }
 
 

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

@@ -28,6 +28,7 @@ import com.ydtech.modules.order.dao.InsUploadFilesMapper;
 import com.ydtech.modules.order.entity.api.zhongmei.constants.TimeConstants;
 import com.ydtech.modules.order.entity.po.InsUploadFiles;
 import com.ydtech.modules.partner.CalculateCommissionUtils;
+import com.ydtech.modules.partner.dao.PartnerLiftingRecordMapper;
 import com.ydtech.modules.partner.dao.PartnerPartnerAccountMapper;
 import com.ydtech.modules.partner.dao.PartnerPremiumDetailsMapper;
 import com.ydtech.modules.partner.dao.PartnerUserMapper;
@@ -71,6 +72,8 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
     @Autowired
     private PartnerPremiumDetailsMapper detailsMapper;
 
+    @Autowired
+    private PartnerLiftingRecordMapper liftingRecordMapper;
 
     @Override
     public int insert(PartnerUser partnerUser) {
@@ -151,12 +154,19 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
             return HttpResult.error("参数不能为空");
         }
         String grade = userGradeParam.getGrade();
-
+        if (StringUtils.equals("2",grade)){
+            return HttpResult.error("当前用户无法升级");
+        }
         QueryWrapper<PartnerUser> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("user_id",userGradeParam.getId());
         queryWrapper.eq("grade",Integer.valueOf(grade) - 1 );
         Long count = baseMapper.selectCount(queryWrapper);
-        if (count > 0){
+        QueryWrapper<PartnerLiftingRecord> wrapper = new QueryWrapper<>();
+        wrapper.eq("user_id",userGradeParam.getId());
+        wrapper.eq("audit_status",0);
+        Long aLong = liftingRecordMapper.selectCount(wrapper);
+
+        if (count > 0 || aLong > 0){
             return HttpResult.error();
         }
         if (ruleService.verifyUpgradeConditions(userGradeParam.getId(),userGradeParam.getGrade())){