|
|
@@ -17,7 +17,6 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.scheduling.annotation.Scheduled;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
-
|
|
|
import java.math.BigDecimal;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.Date;
|
|
|
@@ -57,7 +56,7 @@ public class TimedTaskUtils {
|
|
|
*/
|
|
|
@Scheduled(cron = "0 0 0 * * *")
|
|
|
//@Scheduled(cron = "*/10 * * * * ?")
|
|
|
- private void updateOrderDateNoon() {
|
|
|
+ public void updateOrderDateNoon() {
|
|
|
log.info("记录佣金过期定时任务开始执行:{}", expireDays);
|
|
|
List<PartnerLiftingRecord> list = liftingRecordService.queryExpireDays(expireDays);
|
|
|
for (PartnerLiftingRecord record : list) {
|
|
|
@@ -98,27 +97,18 @@ public class TimedTaskUtils {
|
|
|
/**
|
|
|
* TODO: 更新降级考核时间
|
|
|
*/
|
|
|
- @Scheduled(cron = "0 0 0 * * *")
|
|
|
+ @Scheduled(cron = "0 0 2 * * *")
|
|
|
//@Scheduled(cron = "*/30 * * * * ?")
|
|
|
public void checkCommissionExpireTime() {
|
|
|
// TODO等级规则
|
|
|
List<PartnerRuleEntity> partnerRuleEntities = partnerRuleService.queryAll();
|
|
|
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
- QueryWrapper<PartnerUser> queryWrapper = new QueryWrapper<>();
|
|
|
- queryWrapper.eq("identity_status", 0);
|
|
|
- queryWrapper.in("grade", 2,3,4);
|
|
|
- queryWrapper.orderByDesc("create_time");
|
|
|
- queryWrapper.last("limit 10");
|
|
|
- queryWrapper.eq("user_id","99140105M36010");
|
|
|
- List<PartnerUser> partnerUsers = partnerUserMapper.selectList(queryWrapper);
|
|
|
+ List<PartnerUser> partnerUsers = partnerUserMapper.queryDowngradedData();
|
|
|
for (PartnerUser partnerUser : partnerUsers) {
|
|
|
PartnerRuleEntity rule = getRule(String.valueOf(partnerUser.getGrade()), partnerRuleEntities);
|
|
|
+ rule.setKhDays(2);
|
|
|
Integer khDays = rule.getKhDays();
|
|
|
- Date upgradeStartTime = partnerUserMapper.selectUpgradeStartTime(partnerUser.getUserId(), partnerUser.getGrade());
|
|
|
- if (upgradeStartTime == null) {
|
|
|
- partnerUserMapper.updateUpgradeStartTime(partnerUser.getUserId(), partnerUser.getGrade());
|
|
|
- }
|
|
|
- upgradeStartTime = partnerUserMapper.selectUpgradeStartTime(partnerUser.getUserId(), partnerUser.getGrade());
|
|
|
+ Date upgradeStartTime = getUpgradeStartTime(partnerUser);
|
|
|
if (null == upgradeStartTime){
|
|
|
continue;
|
|
|
}
|
|
|
@@ -126,26 +116,48 @@ public class TimedTaskUtils {
|
|
|
// 生成结束时间
|
|
|
Date upgradeEndTime = PartnerDateUtils.addDays(upgradeStartTime, khDays);
|
|
|
System.out.println("结束时间:" + formatter.format(upgradeEndTime));
|
|
|
- // 判断当前时间是否大于考核周期时间
|
|
|
if (PartnerDateUtils.isSameDay(upgradeEndTime)){
|
|
|
- List<PartnerAttribute> strategyArray = rule.getStrategyArray();
|
|
|
- String appraise = rule.getAppraise();
|
|
|
// TODO考核条件 不满足时需锁定
|
|
|
ExpiredCommissionUtils commissionUtils = SpringUtil.getBean(ExpiredCommissionUtils.class);
|
|
|
boolean checked = commissionUtils.checkUpgradeConditions(partnerUser);
|
|
|
- if (checked){
|
|
|
- // TODO 满足
|
|
|
- }else {
|
|
|
+ if (!checked){
|
|
|
//TODO 不满足
|
|
|
commissionUtils.generateLockRecords(partnerUser);
|
|
|
}
|
|
|
//TODO 更新考核周期
|
|
|
- partnerUserMapper.updateUpgradeCycleStartTime(partnerUser.getUserId(), PartnerDateUtils.addDaysToday(new Date(), 0),partnerUser.getGrade());
|
|
|
- }else {
|
|
|
- //TODO 更新考核周期
|
|
|
- updateUpgradeCycleTime(partnerUser,rule, upgradeStartTime);
|
|
|
+ partnerUserMapper.updateUpgradeCycleStartTime(partnerUser.getUserId(), PartnerDateUtils.addDaysToday(upgradeEndTime, 1),partnerUser.getGrade());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ update(partnerRuleEntities);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public void update(List<PartnerRuleEntity> partnerRuleEntities){
|
|
|
+ QueryWrapper<PartnerUser> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("identity_status", 0);
|
|
|
+ queryWrapper.in("grade", 2,3,4);
|
|
|
+ queryWrapper.orderByDesc("create_time");
|
|
|
+ queryWrapper.eq("user_id", "99140105M36001");
|
|
|
+ List<PartnerUser> partnerUsers = partnerUserMapper.selectList(queryWrapper);
|
|
|
+
|
|
|
+ for (PartnerUser filteredUser : partnerUsers) {
|
|
|
+ PartnerRuleEntity rule = getRule(String.valueOf(filteredUser.getGrade()), partnerRuleEntities);
|
|
|
+ Date upgradeStartTime = getUpgradeStartTime(filteredUser);
|
|
|
+ if (null == upgradeStartTime){
|
|
|
+ continue;
|
|
|
}
|
|
|
+ //TODO 更新考核周期
|
|
|
+ updateUpgradeCycleTime(filteredUser,rule, upgradeStartTime);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private Date getUpgradeStartTime(PartnerUser filteredUser){
|
|
|
+ Date upgradeStartTime = partnerUserMapper.selectUpgradeStartTime(filteredUser.getUserId(), filteredUser.getGrade());
|
|
|
+ if (upgradeStartTime == null) {
|
|
|
+ partnerUserMapper.updateUpgradeStartTime(filteredUser.getUserId(), filteredUser.getGrade());
|
|
|
}
|
|
|
+ return partnerUserMapper.selectUpgradeStartTime(filteredUser.getUserId(), filteredUser.getGrade());
|
|
|
}
|
|
|
|
|
|
public void updateUpgradeCycleTime(PartnerUser partnerUser,PartnerRuleEntity rule,Date upgradeTime) {
|