|
|
@@ -1,7 +1,6 @@
|
|
|
package com.ydtech.modules.partner.service.Impl;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.math.RoundingMode;
|
|
|
-import java.text.DateFormat;
|
|
|
import java.time.Instant;
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
@@ -38,9 +37,11 @@ import com.ydtech.modules.partner.service.PartnerRuleService;
|
|
|
import com.ydtech.modules.partner.service.PartnerUserService;
|
|
|
import com.ydtech.modules.partner.utils.ConditionUtils;
|
|
|
import com.ydtech.modules.partner.utils.ExpiredCommissionUtils;
|
|
|
+import com.ydtech.modules.partner.utils.PartnerDateUtils;
|
|
|
import org.apache.commons.lang3.ObjectUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import javax.annotation.Resource;
|
|
|
import java.util.function.Function;
|
|
|
@@ -80,6 +81,9 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
|
|
|
@Autowired
|
|
|
private PartnerRuleService partnerRuleService;
|
|
|
|
|
|
+ @Value("${newPartner.expireDays}")
|
|
|
+ private Long expireDays;
|
|
|
+
|
|
|
@Override
|
|
|
public int insert(PartnerUser partnerUser) {
|
|
|
return baseMapper.insert(partnerUser);
|
|
|
@@ -294,6 +298,11 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
|
|
|
}else {
|
|
|
if (partnerUser.isIdentityStatus()){
|
|
|
overviewVo.setParentStatus("2");
|
|
|
+ overviewVo.setLockCommission(accountMapper.selectCashFee(partnerUser.getUserId(), partnerUser.getGrade()));
|
|
|
+ Long difference = calculateTimeDifference(partnerUser.getUserId(), partnerUser.getGrade());
|
|
|
+ overviewVo.setZeroDays(difference);
|
|
|
+ PartnerRuleEntity rule = partnerRuleService.selectByGrade(overviewVo.getGrade());
|
|
|
+ overviewVo.setFallAmount(rule.getFallAmount());
|
|
|
getRule(overviewVo, partnerUser);
|
|
|
}else {
|
|
|
overviewVo.setParentStatus("1");
|
|
|
@@ -419,67 +428,6 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
|
|
|
return getAttribute(partnerRuleEntity, bf, p, ownBf, strategyArray);
|
|
|
}
|
|
|
|
|
|
-// private List<MyUserLevel> getUserLevels(String userId, List<PartnerRule> partnerRules, Map<Integer, PartnerUser> userMap) {
|
|
|
-// List<MyUserLevel> list = new ArrayList<>();
|
|
|
-// if (partnerRules == null || userId == null || userMap == null) {
|
|
|
-// return list; // 输入参数校验
|
|
|
-// }
|
|
|
-// for (PartnerRule rule : partnerRules) {
|
|
|
-// Integer grade = rule.getGrade();
|
|
|
-// PartnerUser partnerUser = userMap.get(grade);
|
|
|
-// MyUserLevel level = new MyUserLevel();
|
|
|
-// level.setFallAmount(rule.getFallAmount());
|
|
|
-// level.setRatio(getProportion(grade));
|
|
|
-// level.setGrade(grade);
|
|
|
-// level.setGradeName(rule.getGradeName());
|
|
|
-//
|
|
|
-// if (partnerUser == null) {
|
|
|
-// level.setLockingState("0");
|
|
|
-// level.setProgressBar(0);
|
|
|
-// if (1 != grade){
|
|
|
-// if (null != userMap.get(grade + 1)){
|
|
|
-// boolean verified = ruleService.verifyUpgradeConditions(userId, String.valueOf(grade + 1));
|
|
|
-// if (verified) {
|
|
|
-// level.setUpgrade(true);
|
|
|
-// level.setProgressBar(2);
|
|
|
-// }else {
|
|
|
-// level.setProgressBar(1);
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// Long count = liftingRecordService.selectDowngradeRecord(userId,grade,0);
|
|
|
-// if (count > 0){
|
|
|
-// level.setUpgradeStatus(true);
|
|
|
-// }
|
|
|
-// } else {
|
|
|
-// level.setUserId(userId);
|
|
|
-// level.setUserName(partnerUser.getName());
|
|
|
-// if (partnerUser.isIdentityStatus()) {
|
|
|
-// level.setLockingState("2");
|
|
|
-// level.setLockCommission(accountMapper.selectCashFee(partnerUser.getUserId(), partnerUser.getGrade()));
|
|
|
-// if (partnerUser.getUpgradeCycleStartTime() != null) {
|
|
|
-// LocalDate upgradeCycleStartDate = partnerUser.getUpgradeCycleStartTime().toInstant()
|
|
|
-// .atZone(ZoneId.systemDefault()).toLocalDate();
|
|
|
-// level.setZeroDays(ChronoUnit.DAYS.between(LocalDate.now(), upgradeCycleStartDate));
|
|
|
-// }
|
|
|
-// String value = String.valueOf(partnerUser.getGrade());
|
|
|
-// boolean verified = ruleService.verifyUpgradeConditions(partnerUser.getUserId(),value);
|
|
|
-// if (verified) {
|
|
|
-// level.setUpgrade(true);
|
|
|
-// }
|
|
|
-// Long count = liftingRecordService.selectDowngradeRecord(partnerUser.getUserId(),partnerUser.getGrade() + 1,1);
|
|
|
-// if (count > 0){
|
|
|
-// level.setUpgradeStatus(true);
|
|
|
-// }
|
|
|
-// } else {
|
|
|
-// level.setLockingState("1");
|
|
|
-// }
|
|
|
-// level.setProgressBar(2);
|
|
|
-// }
|
|
|
-// list.add(level);
|
|
|
-// }
|
|
|
-// return list;
|
|
|
-// }
|
|
|
|
|
|
private List<MyUserLevel> getUserLevels(String userId, List<PartnerRule> partnerRules, Map<Integer, PartnerUser> userMap) {
|
|
|
List<MyUserLevel> list = new ArrayList<>();
|
|
|
@@ -553,15 +501,8 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
|
|
|
private void handleActiveUser(PartnerUser partnerUser, MyUserLevel level) {
|
|
|
level.setLockingState("2");
|
|
|
level.setLockCommission(accountMapper.selectCashFee(partnerUser.getUserId(), partnerUser.getGrade()));
|
|
|
-
|
|
|
- // 计算天数差
|
|
|
- if (partnerUser.getUpgradeCycleStartTime() != null) {
|
|
|
- LocalDate upgradeCycleStartDate = partnerUser.getUpgradeCycleStartTime()
|
|
|
- .toInstant()
|
|
|
- .atZone(ZoneId.systemDefault())
|
|
|
- .toLocalDate();
|
|
|
- level.setZeroDays(ChronoUnit.DAYS.between(LocalDate.now(), upgradeCycleStartDate));
|
|
|
- }
|
|
|
+ Long difference = calculateTimeDifference(partnerUser.getUserId(), partnerUser.getGrade());
|
|
|
+ level.setZeroDays(difference);
|
|
|
Integer grade = partnerUser.getGrade();
|
|
|
if (grade != 4){
|
|
|
grade = grade + 1;
|
|
|
@@ -601,21 +542,6 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
|
|
|
return "0";
|
|
|
}
|
|
|
|
|
|
- private static SysUser2Vo getUser2Vo(SysUser sysUser,String id) {
|
|
|
- SysUser2Vo sysUser2Vo = new SysUser2Vo();
|
|
|
- SysUser user = new SysUser();
|
|
|
- user.setName(sysUser.getName());
|
|
|
- user.setMobile(sysUser.getMobile());
|
|
|
- user.setIdentity(sysUser.getIdentity());
|
|
|
- user.setPassword(sysUser.getPassword());
|
|
|
- user.setRoleId("21");
|
|
|
- user.setReferrerId(id);
|
|
|
- user.setDeptSource("2");
|
|
|
- user.setGrade(4);
|
|
|
- sysUser2Vo.setSysUser( user);
|
|
|
- return sysUser2Vo;
|
|
|
- }
|
|
|
-
|
|
|
|
|
|
@Override
|
|
|
public void deleteByUserId(String id) {
|
|
|
@@ -658,16 +584,6 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
|
|
|
|
|
|
@Override
|
|
|
public HttpResult userCountVo(AppHomeParams params) {
|
|
|
- /* PartnerUser minGrade = baseMapper.selectGradeMin(params.getUserId());
|
|
|
- if (minGrade == null) {
|
|
|
- return HttpResult.error("人员不存在");
|
|
|
- }
|
|
|
- Map<Integer, String> rule = getRule();
|
|
|
- Map<String, Object> vo = new HashMap<>();
|
|
|
- vo.put("vo1", getV1(minGrade, params, rule));
|
|
|
- vo.put("vo2", getVo2(minGrade, params, rule));
|
|
|
- vo.put("vo3", getVo3(minGrade, params, rule));
|
|
|
- vo.put("vo4", getVo4(minGrade, params, rule));*/
|
|
|
return HttpResult.ok();
|
|
|
}
|
|
|
|
|
|
@@ -738,6 +654,16 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
|
|
|
map.put("data", getPage(page));
|
|
|
map.put("total", hashMap);
|
|
|
map.put("parentStatus", partnerUser.isIdentityStatus() ? "2" : "1");
|
|
|
+ BigDecimal lockCommission = null;
|
|
|
+ Long zeroDays = null;
|
|
|
+ if (partnerUser.isIdentityStatus()){
|
|
|
+ lockCommission = accountMapper.selectCashFee(partnerUser.getUserId(), partnerUser.getGrade());
|
|
|
+ zeroDays = calculateTimeDifference(partnerUser.getUserId(), partnerUser.getGrade());
|
|
|
+ }
|
|
|
+ map.put("lockCommission",lockCommission);
|
|
|
+ map.put("zeroDays",zeroDays);
|
|
|
+ PartnerRuleEntity ruleEntity = partnerRuleService.selectByGrade(overviewVo.getGrade());
|
|
|
+ map.put("fallAmount",ruleEntity.getFallAmount());
|
|
|
getRule(overviewVo, partnerUser);
|
|
|
|
|
|
map.put("upgradeStatus", new JSONObject());
|
|
|
@@ -753,6 +679,16 @@ public class PartnerUserServiceImpl extends ServiceImpl<PartnerUserMapper, Partn
|
|
|
return HttpResult.ok(list);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ public Long calculateTimeDifference(String userId,Integer grade){
|
|
|
+ Date date = liftingRecordService.selectQueryDowngradeTime(userId, grade);
|
|
|
+ LocalDate localDate = date.toInstant()
|
|
|
+ .atZone(ZoneId.systemDefault())
|
|
|
+ .toLocalDate().plusDays(expireDays);
|
|
|
+ return PartnerDateUtils.dateDifference(localDate);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
private void getRule(TeamOverviewVo overviewVo, PartnerUser partnerUser) {
|
|
|
Integer grade = partnerUser.getGrade();
|
|
|
if (grade != 4){
|