Explorar o código

Merge remote-tracking branch 'origin/test-xq2' into test-xq2

785834757 hai 11 meses
pai
achega
4a6df1a9a2

+ 6 - 4
src/main/java/com/ydtech/modules/partner/dao/PartnerUserMapper.java

@@ -154,8 +154,8 @@ public interface PartnerUserMapper extends BaseMapper<PartnerUser> {
     @Select("SELECT upgrade_cycle_start_time as startDate FROM partner_user WHERE user_id = #{userId} AND grade = #{grade}")
     CommissionValidityPeriod selectUpgradeCycleStartTime(@Param("userId") String userId,@Param("grade") Integer grade);
 
-    @Update("UPDATE partner_user SET upgrade_cycle_start_time = #{newDate},expired_time = #{expiredTime} WHERE  user_id = #{userId} and grade = #{grade} ")
-    void updateUpgradeCycleStartTime(@Param("userId") String userId, @Param("newDate")Date newDate,@Param("grade") Integer grade,@Param("expiredTime") Date expiredTime);
+    @Update("UPDATE partner_user SET upgrade_cycle_start_time = #{newDate} WHERE  user_id = #{userId} and grade = #{grade} ")
+    void updateUpgradeCycleStartTime(@Param("userId") String userId, @Param("newDate")Date newDate,@Param("grade") Integer grade);
 
 
     BigDecimal selectOwnSumPremium(@Param("userId") String userId, @Param("period") CommissionValidityPeriod period);
@@ -174,7 +174,7 @@ public interface PartnerUserMapper extends BaseMapper<PartnerUser> {
     BigDecimal selectFixedRatio(@Param("userId") String userId, @Param("grade") String  grade);
 
 
-    @Select("SELECT p.* FROM partner_user p LEFT JOIN sys_user u ON u.id = p.user_id WHERE u.`status` = 1 " +
+    @Select("SELECT p.* FROM partner_user p LEFT JOIN sys_user u ON u.id = p.user_id WHERE u.`status` = 1 and p.user_id='99140426001'" +
             "AND( p.grade, p.user_id) IN ( SELECT MIN( grade ) grade, user_id FROM partner_user WHERE grade IN ( '2', '3', '4' ) AND identity_status = 0 GROUP BY user_id )" +
             " ORDER BY p.create_time DESC")
     List<PartnerUser> queryDowngradedData();
@@ -201,7 +201,9 @@ public interface PartnerUserMapper extends BaseMapper<PartnerUser> {
     @Select("SELECT identity_time FROM partner_user WHERE user_id = #{userId} AND grade = #{originalLevel}")
     Date selectLockTime(@Param("userId") String userId, @Param("originalLevel")String originalLevel);
 
-    @Select(" SELECT * FROM partner_user WHERE user_id = '99140524002'  and expired_time IS NOT NULL  AND identity_status = 1 AND DATE(DATE_ADD(expired_time, INTERVAL #{expireDays} DAY)) =  CURDATE()  ")
+    @Select(" SELECT * FROM partner_user WHERE grade = 2 and user_id = '99140426001' and expired_time IS NOT NULL  AND identity_status = 1 AND DATE(DATE_ADD(expired_time, INTERVAL #{expireDays} DAY)) =  CURDATE()  ")
     List<PartnerUser> queryExpiredRecords(Integer expireDays);
 
+    @Update(" UPDATE partner_user SET expired_time = #{expiredTime} WHERE  user_id = #{userId} and grade = #{grade}  ")
+    void updateExpiredTime(@Param("userId") String userId,@Param("grade") Integer grade,@Param("expiredTime") Date expiredTime);
 }

+ 14 - 6
src/main/java/com/ydtech/modules/partner/utils/TimedTaskUtils.java

@@ -24,6 +24,7 @@ import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 
 /**
@@ -171,21 +172,27 @@ public class TimedTaskUtils {
                 if (!checked){
                     //TODO  不满足
                     commissionUtils.generateLockRecords(partnerUser);
+                }else {
+                    // TODO 满足
+                    partnerUser.setExpiredTime(PartnerDateUtils.addDaysToday(upgradeEndTime,khDays + 1));
+                    partnerUserMapper.updateById(partnerUser);
                 }
                 //TODO    更新考核周期
-                partnerUserMapper.updateUpgradeCycleStartTime(partnerUser.getUserId(), PartnerDateUtils.addDaysToday(upgradeEndTime, 1),partnerUser.getGrade(),PartnerDateUtils.addDaysToday(upgradeEndTime,khDays));
+                partnerUserMapper.updateUpgradeCycleStartTime(partnerUser.getUserId(), PartnerDateUtils.addDaysToday(upgradeEndTime, 1),partnerUser.getGrade());
             }
         }
-        update(partnerRuleEntities);
+        List<String> idList = partnerUsers.stream()
+                .map(PartnerUser::getId)
+                .collect(Collectors.toList());
+        update(partnerRuleEntities,idList);
     }
 
 
-    public void update(List<PartnerRuleEntity> partnerRuleEntities){
+    public void update(List<PartnerRuleEntity> partnerRuleEntities,List<String> idList){
         QueryWrapper<PartnerUser> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("identity_status", 0);
         queryWrapper.in("grade", 2,3,4);
         queryWrapper.orderByDesc("create_time");
-        //queryWrapper.eq("user_id", "99140105M36012");
+        queryWrapper.notIn("id", idList);
         List<PartnerUser> partnerUsers = partnerUserMapper.selectList(queryWrapper);
 
         for (PartnerUser filteredUser : partnerUsers) {
@@ -216,7 +223,8 @@ public class TimedTaskUtils {
             today = true;
         }
         if (today){
-            partnerUserMapper.updateUpgradeCycleStartTime(partnerUser.getUserId(), upgradeTime,partnerUser.getGrade(), PartnerDateUtils.addDaysToday(upgradeTime,khDays));
+            partnerUserMapper.updateExpiredTime(partnerUser.getUserId(),partnerUser.getGrade(),PartnerDateUtils.addDaysToday(upgradeTime, khDays));
+            partnerUserMapper.updateUpgradeCycleStartTime(partnerUser.getUserId(), upgradeTime,partnerUser.getGrade());
         }
     }