KKSU
2025-01-08 2efdb9596b737ec240ec1aca6b6ad85e2314981d
feat(quartz): 优化活动状态定时任务

- 重新命名 overtimeActivity 方法为 stopActivity,用于结束活动
- 新增 startActivity 方法,用于开始活动
- 修改活动状态更新逻辑,确保活动开始和结束时正确更新状态
1 files modified
30 ■■■■■ changed files
src/main/java/cc/mrbird/febs/mall/quartz/ProfitJob.java 30 ●●●●● patch | view | raw | blame | history
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);
        });
    }
}