xuqiang 5 месяцев назад
Родитель
Сommit
565b3352fd

+ 3 - 3
partner/src/main/java/com/jzg/mapper/PartnerUserMapper.java

@@ -152,7 +152,7 @@ public interface PartnerUserMapper extends BaseMapper<PartnerUser> {
     UserRuleVo queryUserRuleVo(@Param("userId") String userId, @Param("grade")Integer grade,@Param("period") CommissionValidityPeriod period);
 
     @Select("SELECT upgrade_cycle_start_time as startDate FROM partner_user WHERE user_id = (SELECT info.id FROM sys_user_jzg_info info INNER JOIN sys_user_jzg_info_salesman sa ON sa.sys_user_jzg_info_id = info.id " +
-            " WHERE sa.type_attr = 3 AND sa.partner_status = 3 AND info.user_id = #{userId}) AND grade = #{grade}")
+            " WHERE sa.type_attr = 3 AND sa.partner_status = 3 AND info.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} WHERE  user_id = #{userId} and grade = #{grade} ")
@@ -166,7 +166,7 @@ public interface PartnerUserMapper extends BaseMapper<PartnerUser> {
 
     @Update(" UPDATE partner_user pu JOIN( SELECT info.id AS user_id, DATE_ADD(DATE(sa.partner_review_time), INTERVAL 1 DAY) AS new_start_time FROM sys_user_jzg_info info " +
             " INNER JOIN sys_user_jzg_info_salesman sa ON sa.sys_user_jzg_info_id = info.id WHERE sa.type_attr = 3 AND sa.partner_status = 3 " +
-            " AND info.user_id = #{userId} AND sa.partner_review_time IS NOT NULL LIMIT 1) t ON pu.user_id = t.user_id SET pu.upgrade_cycle_start_time = t.new_start_time WHERE pu.grade = #{grade} ")
+            " AND info.id = #{userId} AND sa.partner_review_time IS NOT NULL LIMIT 1) t ON pu.user_id = t.user_id SET pu.upgrade_cycle_start_time = t.new_start_time WHERE pu.grade = #{grade} ")
     void updateUpgradeStartTime(@Param("userId") String userId,@Param("grade") Integer grade);
 
     BigDecimal subordinateMembersInsurancePremiums(@Param("userId") String userId, @Param("grade")String grade,@Param("period") CommissionValidityPeriod period);
@@ -175,7 +175,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_jzg_info_salesman sa ON sa.sys_user_jzg_info_id = p.user_id  WHERE sa.partner_status = 3 " +
+    @Select("SELECT p.* FROM partner_user p LEFT JOIN sys_user_jzg_info_salesman sa ON sa.sys_user_jzg_info_id = p.user_id  WHERE  sa.type_attr = 3 AND sa.partner_status = 3 " +
             " 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();

+ 23 - 17
partner/src/main/java/com/jzg/service/Impl/PartnerRuleServiceImpl.java

@@ -260,24 +260,30 @@ public class PartnerRuleServiceImpl extends ServiceImpl<PartnerRuleMapper, Partn
     }
 
     private VerifyData downgradeUpgradeConditions(String userId, String grade) {
-        PartnerRuleEntity partnerRuleEntity = validateGradeAndFetchRuleEntity(grade);
-        if (partnerRuleEntity == null) {
-            throw new SystemException("合作伙伴规则实体不能为空");
-        }
-        partnerRuleEntity.getStrategyArray();
-        CommissionValidityPeriod period = partnerUserMapper.selectUpgradeCycleStartTime(userId, Integer.valueOf(grade));
-        period.setEndDate(SpringUtil.getBean(ExpiredCommissionUtils.class).generateDowngradeTime(grade,period.getStartDate()));
-        BigDecimal p = getInviteData(userId, grade, period);
-        BigDecimal bf = partnerUserMapper.subordinateMembersInsurancePremiums(userId, grade, period);
-        //  查询当前用户出单的保费
-        BigDecimal ownBf = partnerUserMapper.selectOwnSumPremium(userId, period);
-        if (bf == null){
-            bf = BigDecimal.ZERO;
-        }
-        if (ownBf == null){
-            ownBf = BigDecimal.ZERO;
+        try {
+            PartnerRuleEntity partnerRuleEntity = validateGradeAndFetchRuleEntity(grade);
+            if (partnerRuleEntity == null) {
+                throw new SystemException("合作伙伴规则实体不能为空");
+            }
+            partnerRuleEntity.getStrategyArray();
+            CommissionValidityPeriod period = partnerUserMapper.selectUpgradeCycleStartTime(userId, Integer.valueOf(grade));
+            period.setEndDate(SpringUtil.getBean(ExpiredCommissionUtils.class).generateDowngradeTime(grade,period.getStartDate()));
+            BigDecimal p = getInviteData(userId, grade, period);
+            BigDecimal bf = partnerUserMapper.subordinateMembersInsurancePremiums(userId, grade, period);
+            //  查询当前用户出单的保费
+            BigDecimal ownBf = partnerUserMapper.selectOwnSumPremium(userId, period);
+            if (bf == null){
+                bf = BigDecimal.ZERO;
+            }
+            if (ownBf == null){
+                ownBf = BigDecimal.ZERO;
+            }
+            return new VerifyData(partnerRuleEntity, p, bf,ownBf);
+        }catch (Exception e){
+            e.printStackTrace();
+            log.error("用户ID:{}" + userId + "报错信息:{}" + e.getMessage());
+            throw new SystemException(e.getMessage());
         }
-        return new VerifyData(partnerRuleEntity, p, bf,ownBf);
     }
 
     private static class VerifyData {