From 2efdb9596b737ec240ec1aca6b6ad85e2314981d Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Wed, 08 Jan 2025 15:00:57 +0800 Subject: [PATCH] feat(quartz): 优化活动状态定时任务 --- src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java | 30 +++++++++++++++++++++++++++--- 1 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java b/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java index d4829f1..0ca11c7 100644 --- a/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java +++ b/src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java @@ -32,13 +32,13 @@ * 结束活动 */ @Scheduled(cron = "0 0/1 * * * ? ") - public void overtimeActivity() { + public void stopActivity() { DateTime date = DateUtil.date(); List<MallActivity> mallActivities = mallActivityMapper.selectList( new LambdaQueryWrapper<MallActivity>() - .eq(MallActivity::getState, YesOrNoOrIngEnum.YES.getValue()) - .ge(MallActivity::getEndTime, date) + .eq(MallActivity::getState, YesOrNoOrIngEnum.ING.getValue()) + .le(MallActivity::getEndTime, date) ); if(CollUtil.isEmpty(mallActivities)){ return; @@ -50,4 +50,28 @@ }); } + /** + * 一分钟运行一次 + * 开始活动 + */ + @Scheduled(cron = "0 0/1 * * * ? ") + public void startActivity() { + DateTime date = DateUtil.date(); + List<MallActivity> mallActivities = + mallActivityMapper.selectList( + new LambdaQueryWrapper<MallActivity>() + .eq(MallActivity::getState, YesOrNoOrIngEnum.YES.getValue()) + .le(MallActivity::getStartTime, date) + .ge(MallActivity::getEndTime, date) + ); + if(CollUtil.isEmpty(mallActivities)){ + return; + } + + mallActivities.forEach(mallActivity -> { + mallActivity.setState(YesOrNoOrIngEnum.ING.getValue()); + mallActivityMapper.updateById(mallActivity); + }); + } + } -- Gitblit v1.9.1