From 44174ecd40c58060ff6c64d2ad874b8afaf2ae7f Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期四, 11 四月 2024 12:09:23 +0800 Subject: [PATCH] 修改市场总监降级bug --- meiya-rest/src/main/java/com/sinata/rest/modular/mall/job/UserV5UpDownWork.java | 59 ++++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 38 insertions(+), 21 deletions(-) diff --git a/meiya-rest/src/main/java/com/sinata/rest/modular/mall/job/UserV5UpDownWork.java b/meiya-rest/src/main/java/com/sinata/rest/modular/mall/job/UserV5UpDownWork.java index 5e4f595..75ffffd 100644 --- a/meiya-rest/src/main/java/com/sinata/rest/modular/mall/job/UserV5UpDownWork.java +++ b/meiya-rest/src/main/java/com/sinata/rest/modular/mall/job/UserV5UpDownWork.java @@ -6,12 +6,15 @@ import com.sinata.common.enums.EnumMemberGrade; import com.sinata.common.enums.EnumSystemSetKey; import com.sinata.common.enums.mall.EnumMallOrderState; +import com.sinata.rest.core.support.DateTime; import com.sinata.rest.modular.mall.service.IMallOrderService; import com.sinata.rest.modular.member.model.MemUser; import com.sinata.rest.modular.member.service.IMemUserRelationService; import com.sinata.rest.modular.member.service.IMemUserService; import com.sinata.rest.modular.system.service.ISystemSetService; import io.swagger.annotations.Api; +import java.util.Date; +import java.util.stream.Collectors; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.EnableScheduling; @@ -21,6 +24,7 @@ import java.math.BigDecimal; import java.util.Arrays; import java.util.List; +import org.springframework.transaction.annotation.Transactional; /** * 定时任务-等级晋升维持 @@ -44,29 +48,42 @@ private IMallOrderService mallOrderService; /** - * 每天执行1次 + * 每月一号 0:30执行 */ - @Scheduled(cron = "0 3 0 */1 * *") + @Scheduled(cron = "0 30 0 1 * ?") public void run() { - // 市场总监列表 - List<MemUser> v5UserList = memUserService.list( - Wrappers.<MemUser>query().lambda() - .select(MemUser::getId, MemUser::getRealName, MemUser::getCreditScore, MemUser::getMemberGradeId, MemUser::getMemberGradeTime) - .eq(MemUser::getIsDelete, EnumIsDelete.EXISTED.index) // 非注销 - .eq(MemUser::getIsLeaveOffice, 0) // 非离职 - .eq(MemUser::getMemberGradeId, EnumMemberGrade.G_5.index) - ); - - for (MemUser user : v5UserList) { - if (v5Case1(user.getId()) && v5Case2(user.getId())) { - log.info("【市场总监降级为黄金营销员】用户:{} / {}", - user.getId(), user.getRealName() - ); - // 降级为-黄金营销员 - user.setMemberGradeId(EnumMemberGrade.G_3.index); - user.setMemberGradeTime(DateUtil.date()); - user.setCreditScore(BigDecimal.valueOf(100)); - user.updateById(); + if (DateUtil.thisDayOfMonth() == 1) { + // 市场总监列表 + List<MemUser> v5UserList = memUserService.list( + Wrappers.<MemUser>query().lambda() + .select(MemUser::getId, MemUser::getRealName, MemUser::getCreditScore, MemUser::getMemberGradeId, MemUser::getMemberGradeTime) + .eq(MemUser::getIsDelete, EnumIsDelete.EXISTED.index) // 非注销 + .eq(MemUser::getIsLeaveOffice, 0) // 非离职 + .eq(MemUser::getMemberGradeId, EnumMemberGrade.G_5.index) + ); + //品行分小于60直接降级为黄金营销员 + List<MemUser> list = v5UserList.stream().filter(user -> + user.getCreditScore().compareTo(BigDecimal.valueOf(60)) < 0).peek(item -> { + item.setMemberGradeId(EnumMemberGrade.G_3.index); + item.setMemberGradeTime(DateUtil.date()); + item.setCreditScore(BigDecimal.valueOf(100)); + }).collect(Collectors.toList()); + memUserService.updateBatchById(list); + //剩下需要通过维持方案来判断的用户 + List<MemUser> userList = v5UserList.stream().filter(user -> + user.getCreditScore().compareTo(BigDecimal.valueOf(60)) >= 0) + .collect(Collectors.toList()); + for (MemUser user : userList) { + if (v5Case1(user.getId()) && v5Case2(user.getId())) { + log.info("【市场总监降级为城市合伙人】用户:{} / {}", + user.getId(), user.getRealName() + ); + // 降级一级 + user.setMemberGradeId(EnumMemberGrade.G_4.index); + user.setMemberGradeTime(DateUtil.date()); + user.setCreditScore(BigDecimal.valueOf(100)); + user.updateById(); + } } } } -- Gitblit v1.7.1