From 8feb8a2ed0389749a628cad5ebe821d6654437e7 Mon Sep 17 00:00:00 2001 From: hurui <177768073@qq.com> Date: Mon, 6 Nov 2023 10:24:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hfkj/schedule/RebateActivitySchedule.java | 60 +++++++++++++++++-- .../com/hfkj/schedule/TransferSchedule.java | 2 +- 2 files changed, 55 insertions(+), 7 deletions(-) diff --git a/schedule/src/main/java/com/hfkj/schedule/RebateActivitySchedule.java b/schedule/src/main/java/com/hfkj/schedule/RebateActivitySchedule.java index 8bba8d1..7d3cb0d 100644 --- a/schedule/src/main/java/com/hfkj/schedule/RebateActivitySchedule.java +++ b/schedule/src/main/java/com/hfkj/schedule/RebateActivitySchedule.java @@ -1,12 +1,12 @@ package com.hfkj.schedule; -import com.hfkj.entity.BsRebateActivity; -import com.hfkj.entity.BsTradeOrder; +import com.hfkj.common.utils.DateUtil; +import com.hfkj.entity.*; import com.hfkj.service.rebate.BsRebateActivityService; -import com.hfkj.sysenum.RebateActivityEndTypeEnum; -import com.hfkj.sysenum.RebateActivityStatusEnum; -import com.hfkj.sysenum.TradeOrderCreateTypeEnum; -import com.hfkj.sysenum.TradeOrderStatusEnum; +import com.hfkj.service.rebate.BsRebatePartMerService; +import com.hfkj.service.rebate.BsRebateRewardRosterService; +import com.hfkj.service.rebate.BsRebateRewardService; +import com.hfkj.sysenum.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.annotation.Configuration; @@ -14,6 +14,8 @@ import org.springframework.scheduling.annotation.Scheduled; import javax.annotation.Resource; import java.util.*; +import java.util.stream.Collectors; +import java.util.stream.Stream; /** * @className: RebateActivitySchedule @@ -28,6 +30,52 @@ public class RebateActivitySchedule { @Resource private BsRebateActivityService rebateActivityService; + @Resource + private BsRebateRewardService rebateRewardService; + @Resource + private BsRebatePartMerService rebatePartMerService; + + /** + * 生成返利奖池 + * 每个月1号 凌晨0点10分生成 + */ + @Scheduled(cron="0 10 0 1 * ?") + public void generateReward() { + try { + Calendar startTime = Calendar.getInstance(); + startTime.setTime(new Date()); + startTime.add(Calendar.MONTH, - 1); + startTime.set(Calendar.DATE, startTime.getActualMinimum(Calendar.DAY_OF_MONTH)); + startTime.set(Calendar.HOUR_OF_DAY, 00); + startTime.set(Calendar.MINUTE, 00); + startTime.set(Calendar.SECOND, 00); + + Calendar endTime = Calendar.getInstance(); + endTime.setTime(new Date()); + endTime.add(Calendar.MONTH, -1); + endTime.set(Calendar.DATE, endTime.getActualMaximum(Calendar.DAY_OF_MONTH)); + endTime.set(Calendar.HOUR_OF_DAY, 23); + endTime.set(Calendar.MINUTE, 59); + endTime.set(Calendar.SECOND, 59); + + Map param = new HashMap<>(); + param.put("status", RebatePartMerStatusEnum.status1.getNumber()); + List merList = rebatePartMerService.getMerList(param); + + List merIdList = new ArrayList<>(); + for (BsRebatePartMer partMer : merList) { + merIdList.add(partMer.getMerId()); + } + + // 生成奖池 + rebateRewardService.createReward(startTime.getTime(), endTime.getTime(), merIdList.stream().distinct().collect(Collectors.toList())); + + } catch (Exception e) { + log.error("生成奖池异常:" + e); + } + + } + /** * 取消订单 * 1分钟扫描一次 diff --git a/schedule/src/main/java/com/hfkj/schedule/TransferSchedule.java b/schedule/src/main/java/com/hfkj/schedule/TransferSchedule.java index cfb7d8a..53d5cea 100644 --- a/schedule/src/main/java/com/hfkj/schedule/TransferSchedule.java +++ b/schedule/src/main/java/com/hfkj/schedule/TransferSchedule.java @@ -76,7 +76,7 @@ public class TransferSchedule { } /** - * 活动金返利转账 + * 活动金优惠 - 转账商户 */ @Scheduled(cron = "0 0 1 * * ?") // 每日凌晨1点执行 public void tradeRebate() {