Explorar el Código

合伙人升级bug修改

xuqiang hace 1 año
padre
commit
7f8932069f

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

@@ -27,7 +27,7 @@ public class KickbackChangeUtils {
         List<PartnerKickbackChange> kickbackChange = new ArrayList<>();
         for (PartnerPremiumDetails details : list) {
             BigDecimal latest = CalculateCommissionUtils.calculateCommission(String.valueOf(details.getSource()),details.getUserId(),details.getIssuerId());
-            BigDecimal mostRecent = kickbackChangeService.mostRecentRecord(details.getUserId());
+            BigDecimal mostRecent = kickbackChangeService.mostRecentRecord(details.getUserId(),String.valueOf(details.getSource()));
             BigDecimal bigDecimal = mostRecent == null ? new BigDecimal(details.getProportional()) : mostRecent;
             getPartnerKickbackChange(latest, bigDecimal, details, kickbackChange);
         }
@@ -39,7 +39,7 @@ public class KickbackChangeUtils {
 
 
     public void before(BigDecimal latest,PartnerPremiumDetails details){
-        BigDecimal mostRecent = kickbackChangeService.mostRecentRecord(details.getUserId());
+        BigDecimal mostRecent = kickbackChangeService.mostRecentRecord(details.getUserId(),String.valueOf(details.getSource()));
         if (mostRecent == null){
             PartnerKickbackChange change = getChange(null, latest, details);
             kickbackChangeService.saveKickbackChange(change);

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

@@ -60,7 +60,7 @@ public class UpdateRatioUtils {
     }
 
     private void initializeCommissionRatio(PartnerUser value, BigDecimal latest) {
-        BigDecimal mostRecent = SpringUtil.getBean(PartnerKickbackChangeService.class).mostRecentRecord(value.getUserId());
+        BigDecimal mostRecent = SpringUtil.getBean(PartnerKickbackChangeService.class).mostRecentRecord(value.getUserId(),String.valueOf(value.getGrade()));
         if (mostRecent ==  null){
             PartnerKickbackChange change = new PartnerKickbackChange();
             change.setUserId(value.getUserId());
@@ -97,7 +97,7 @@ public class UpdateRatioUtils {
             String key = String.valueOf(entry.getKey());
             PartnerUser value = entry.getValue();
             BigDecimal latest = calculateCommission(key,value.getUserId(),map);
-            BigDecimal mostRecent = SpringUtil.getBean(PartnerKickbackChangeService.class).mostRecentRecord(value.getUserId());
+            BigDecimal mostRecent = SpringUtil.getBean(PartnerKickbackChangeService.class).mostRecentRecord(value.getUserId(),key);
             getPartnerKickbackChange(latest, mostRecent, value, kickbackChange,map);
         }
         for (PartnerKickbackChange change : kickbackChange) {

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

@@ -14,8 +14,8 @@ import java.math.BigDecimal;
 @Mapper
 public interface PartnerKickbackChangeMapper extends BaseMapper<PartnerKickbackChange> {
 
-    @Select("SELECT original_commission FROM partner_kickback_change WHERE user_id = #{userId} ORDER BY change_time DESC LIMIT 1")
-    BigDecimal mostRecentRecord(String userId);
+    @Select("SELECT after_change FROM partner_kickback_change WHERE user_id = #{userId} and user_grade = #{grade} ORDER BY change_time DESC LIMIT 1")
+    BigDecimal mostRecentRecord(@Param("userId") String userId,@Param("grade")String grade);
 
     @Select("SELECT " +
             " c.user_id, " +

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

@@ -58,7 +58,7 @@ public class PartnerKickbackChangeImpl extends ServiceImpl<PartnerKickbackChange
     }
 
     @Override
-    public BigDecimal mostRecentRecord(String userId) {
-        return baseMapper.mostRecentRecord(userId);
+    public BigDecimal mostRecentRecord(String userId,String  grade) {
+        return baseMapper.mostRecentRecord(userId,grade);
     }
 }

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

@@ -180,6 +180,13 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
         if (StringUtils.equals("1",userGradeParam.getGrade())){
             return HttpResult.error("当前用户无法升级");
         }
+        QueryWrapper<PartnerLiftingRecord> wrapper = new QueryWrapper<>();
+        wrapper.eq("user_id",userGradeParam.getId());
+        wrapper.eq("audit_status",0);
+        Long aLong = liftingRecordMapper.selectCount(wrapper);
+        if (aLong > 0){
+            return HttpResult.error("重复提交,等待管理员审批");
+        }
         LambdaQueryWrapper<PartnerUser> lambdaQueryWrapper = new LambdaQueryWrapper<>();
         lambdaQueryWrapper.eq(PartnerUser::getUserId,userGradeParam.getId());
         lambdaQueryWrapper.eq(PartnerUser::getGrade,userGradeParam.getGrade());

+ 1 - 1
src/main/java/com/ydtech/modules/partner/service/PartnerKickbackChangeService.java

@@ -17,5 +17,5 @@ public interface PartnerKickbackChangeService {
     HttpResult saveKickbackChange(PartnerKickbackChange kickbackChange);
 
 
-    BigDecimal mostRecentRecord(String userId);
+    BigDecimal mostRecentRecord(String userId,String grade);
 }