Ver Fonte

代理人3.0app开发

xuqiang há 1 ano atrás
pai
commit
d20298e86d

+ 17 - 1
src/main/java/com/ydtech/modules/partner/controller/PartnerExtractHistoryController.java

@@ -15,6 +15,7 @@ import com.ydtech.modules.partner.model.PartnerExtractHistory;
 import com.ydtech.modules.partner.model.PartnerPartnerAccount;
 import com.ydtech.modules.partner.model.param.PartnerRuleEntity;
 import com.ydtech.modules.partner.service.PartnerExtractHistoryService;
+import com.ydtech.modules.partner.service.PartnerLiftingRecordService;
 import com.ydtech.modules.partner.service.PartnerRuleService;
 import io.swagger.annotations.Api;
 import lombok.extern.slf4j.Slf4j;
@@ -43,6 +44,9 @@ public class PartnerExtractHistoryController extends BaseController {
     @Autowired
     private PartnerRuleService ruleService;
 
+    @Autowired
+    private PartnerLiftingRecordService liftingRecordService;
+
     @PostMapping("/query")
     public HttpResult query(@RequestBody PartnerExtractHistory extractHistory){
 //        if (StringUtils.isEmpty(extractHistory.getGrade())){
@@ -117,6 +121,11 @@ public class PartnerExtractHistoryController extends BaseController {
     public HttpResult queryExtractRecords(){
         List<PartnerPartnerAccount> partnerPartnerAccounts = partnerPartnerAccountMapper.selectList(new LambdaQueryWrapper<PartnerPartnerAccount>()
                 .eq(PartnerPartnerAccount::getUserId,getUserId()));
+
+        partnerPartnerAccounts.stream().forEach(partnerPartnerAccount -> {
+            partnerPartnerAccount.setCashFee(partnerPartnerAccount.getCashFee().subtract(partnerPartnerAccount.getExpiredAmount()));
+        });
+
         List<Map.Entry<Integer, BigDecimal>> collect = partnerPartnerAccounts.stream()
                 .collect(Collectors.groupingBy(
                         PartnerPartnerAccount::getGrade,
@@ -131,9 +140,16 @@ public class PartnerExtractHistoryController extends BaseController {
                 .collect(Collectors.toList());
         List<JSONObject> list = new ArrayList<>();
         for (Map.Entry<Integer, BigDecimal> entry : collect) {
+
+            BigDecimal lockCommission = liftingRecordService.queryLockCommission(getUserId(),entry.getKey().toString());
+
             JSONObject jsonObject = new JSONObject();
             jsonObject.put("grade", entry.getKey().toString());
-            jsonObject.put("cashFee", entry.getValue().toString());
+            if (null != lockCommission){
+                jsonObject.put("cashFee", entry.getValue().subtract(lockCommission));
+            }else {
+                jsonObject.put("cashFee", entry.getValue().toString());
+            }
             PartnerRuleEntity ruleEntity = ruleService.selectByGrade(entry.getKey().toString());
             jsonObject.put("gradeName", ruleEntity.getGradeName());
             list.add(jsonObject);

+ 2 - 0
src/main/java/com/ydtech/modules/partner/model/vo/MyUserLevel.java

@@ -50,4 +50,6 @@ public class MyUserLevel {
 
     private boolean isPrompt;
 
+    private boolean unlockedStatus;
+
 }

+ 49 - 13
src/main/java/com/ydtech/modules/partner/service/Impl/PartnerUserServiceImpl.java

@@ -330,6 +330,20 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
                     }else {
                         overviewVo.setParentStatus("1");
                     }
+                    if (null == max){
+                        overviewVo.setUnlockedStatus(true);
+                    }else {
+                        if (4 == max){
+                            if (partnerUser.getGrade() == 4 || partnerUser.getGrade() == 3) {
+                                overviewVo.setUnlockedStatus(true);
+                            }
+                        }else if (3 == max || 2 == max){
+                            if (partnerUser.getGrade() == 3 || partnerUser.getGrade() == 2 || partnerUser.getGrade() == 4) {
+                                overviewVo.setUnlockedStatus(true);
+                            }
+                        }
+                    }
+
                 }
             }else {
                 overviewVo.setLock(true);
@@ -591,6 +605,20 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
                 level.setProportional("0");
                 handleUnregisteredUser(userId, userMap, grade, level);
             } else {
+                Integer max = baseMapper.selectMax(userId);
+                if (null == max){
+                    level.setUnlockedStatus(true);
+                }else {
+                    if (4 == max){
+                        if (partnerUser.getGrade() == 4 || partnerUser.getGrade() == 3) {
+                            level.setUnlockedStatus(true);
+                        }
+                    }else if (3 == max || 2 == max){
+                        if (partnerUser.getGrade() == 3 || partnerUser.getGrade() == 2 || partnerUser.getGrade() == 4) {
+                            level.setUnlockedStatus(true);
+                        }
+                    }
+                }
                 handleRegisteredUser(userId, partnerUser, level,minStatus);
             }
             list.add(level);
@@ -670,19 +698,23 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
         boolean verified = ruleService.verifyUpgradeConditions(partnerUser.getUserId(),String.valueOf(grade));
         level.setUpgrade(verified);
         if (null != partnerUser.getIdentityTime()){
-            PartnerRuleEntity ruleEntity = ruleService.selectByGrade(String.valueOf(partnerUser.getGrade()));
-            Date date = PartnerDateUtils.addDays(partnerUser.getIdentityTime(), Integer.valueOf(ruleEntity.getKhDays()));
-            String format = new SimpleDateFormat("yyyy-MM-dd").format(date);
-            System.out.println( format);
-            boolean before = PartnerDateUtils.isBefore(date);
-            if (before){
-                LocalDate localDate = date.toInstant()
+//            PartnerRuleEntity ruleEntity = ruleService.selectByGrade(String.valueOf(partnerUser.getGrade()));
+//            Date date = PartnerDateUtils.addDays(partnerUser.getIdentityTime(), Integer.valueOf(ruleEntity.getKhDays()));
+//            String format = new SimpleDateFormat("yyyy-MM-dd").format(date);
+//            System.out.println( format);
+//            boolean before = PartnerDateUtils.isBefore(date);
+//            if (before){
+//                LocalDate localDate = date.toInstant()
+//                        .atZone(ZoneId.systemDefault())
+//                        .toLocalDate();
+//                level.setExpiryDate(String.valueOf(0 == PartnerDateUtils.daysBetween(localDate) ? "1" : PartnerDateUtils.daysBetween(localDate)));
+//            }else {
+//                level.setExpiryDate(new SimpleDateFormat("yyyy-MM-dd").format(date));
+//            }
+            LocalDate localDate = partnerUser.getIdentityTime().toInstant()
                         .atZone(ZoneId.systemDefault())
                         .toLocalDate();
-                level.setExpiryDate(String.valueOf(0 == PartnerDateUtils.daysBetween(localDate) ? "1" : PartnerDateUtils.daysBetween(localDate)));
-            }else {
-                level.setExpiryDate(new SimpleDateFormat("yyyy-MM-dd").format(date));
-            }
+            level.setExpiryDate(String.valueOf(0 == PartnerDateUtils.daysBetween(localDate) ? "1" : PartnerDateUtils.daysBetween(localDate)));
         }
         // 检查降级记录
         if (liftingRecordService.selectDowngradeRecord(
@@ -865,7 +897,6 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
         }
         boolean checked = partnerRuleService.verifyUpgradeConditions(partnerUser.getUserId(),String.valueOf(grade));
         overviewVo.setUpgradeStatus(checked ? 1 : 0);
-        overviewVo.setUnlockedStatus(overviewVo.getLockGrade() == partnerUser.getGrade());
         Long count = liftingRecordService.selectDowngradeRecord(partnerUser.getUserId(), partnerUser.getGrade(),1);
         if (count > 0){
             overviewVo.setUpgradeStatus(2);
@@ -1512,7 +1543,12 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
                 commissionTotal = commissionTotal.add(commission);
             }
         }
-        account.setFrozenAmount(null == commissionTotal ? BigDecimal.ZERO : commissionTotal);
+        if (null == commissionTotal){
+            account.setFrozenAmount(BigDecimal.ZERO);
+        }else {
+            account.setFrozenAmount(commissionTotal);
+            account.setUnreportedAmount(account.getUnreportedAmount().subtract(commissionTotal));
+        }
         return account;
     }