限时折扣 处理任务状态 定时任务

公众号 通知消息处理
This commit is contained in:
2025-10-22 09:26:27 +08:00
parent 022dafec0b
commit 3658dce209
4 changed files with 98 additions and 18 deletions

View File

@@ -42,13 +42,13 @@ public class AAMarketTasks {
memberTask.task();
}
//满减活动定时任务
//满减活动/限时折扣 处理任务状态 定时任务
@Resource
private DiscountActivityTask discountActivityTask;
private ActivityStatusTask activityStatusTask;
//每天0点 0分 1秒 执行
@Scheduled(cron = "1 0 0 * * ? ")
public void discountActivityTask() {
discountActivityTask.task();
public void activityStatusTask() {
activityStatusTask.task();
}

View File

@@ -1,7 +1,9 @@
package com.czg.task;
import com.czg.market.entity.MkDiscountActivity;
import com.czg.market.entity.MkLimitTimeDiscount;
import com.czg.market.service.MkDiscountActivityService;
import com.czg.market.service.MkLimitTimeDiscountService;
import com.mybatisflex.core.query.QueryWrapper;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
@@ -17,14 +19,17 @@ import java.time.LocalDateTime;
*/
@Slf4j
@Component
public class DiscountActivityTask {
public class ActivityStatusTask {
@Resource
private MkDiscountActivityService discountActivityService;
@Resource
private MkLimitTimeDiscountService limitTimeDiscountService;
/**
* 满减活动 过期
* 满减活动/限时折扣 任务状态更新任务
*/
public void task() {
//满减活动
discountActivityService.update(new MkDiscountActivity().setStatus(2),
new QueryWrapper()
.eq(MkDiscountActivity::getStatus, 1)
@@ -34,5 +39,17 @@ public class DiscountActivityTask {
discountActivityService.update(new MkDiscountActivity().setStatus(3),
new QueryWrapper().le(MkDiscountActivity::getValidEndTime, LocalDateTime.now())
);
//限时折扣
limitTimeDiscountService.update(new MkLimitTimeDiscount().setStatus(2),
new QueryWrapper()
.eq(MkLimitTimeDiscount::getStatus, 1)
.le(MkLimitTimeDiscount::getValidStartTime, LocalDateTime.now())
.gt(MkLimitTimeDiscount::getValidEndTime, LocalDateTime.now())
);
limitTimeDiscountService.update(new MkLimitTimeDiscount().setStatus(3),
new QueryWrapper().le(MkLimitTimeDiscount::getValidEndTime, LocalDateTime.now())
);
}
}