peng
2025-07-02 aac2321d1cf5536f7ea03f30d55a4aba30fbf710
lmk-job/src/main/java/cn/lili/job/ActivityJob.java
@@ -43,16 +43,17 @@
                .list();
        Date now = new Date(); // 获取当前时间
        for (Activity activity : activeActivities) {
            if (isInProgress(now, activity)) {
                activity.setStatus(ActivityStatusEnum.IN_PROGRESS.getType());
            } else if (isRecruiting(now, activity)) {
                activity.setStatus(ActivityStatusEnum.REPORT.getType());
            } else if (now.after(activity.getReportStartTime())) {
            } else if (now.before(activity.getReportStartTime())) { //在报名时间之前
                activity.setStatus(ActivityStatusEnum.NOT_STARTED.getType());
            } else {
            }else if(now.after(activity.getReportEndTime()) && now.before(activity.getStartTime())){ //可能出现 在报名结束时间后, 活动开始之前的情况
                activity.setStatus(ActivityStatusEnum.NOT_STARTED.getType());
            }
            else {
                activity.setStatus(ActivityStatusEnum.ENDED.getType());
            }
        }
@@ -62,16 +63,14 @@
        XxlJobHelper.log("执行完成:活动状态改变");
    }
    //活动开始时间之后,结束时间之前 在活动期间
    private boolean isInProgress(Date now, Activity activity) {
        System.out.println("进行中");
        return !now.before(activity.getReportStartTime()) && !now.after(activity.getReportEndTime());
        return  !now.before(activity.getStartTime()) && !now.after(activity.getEndTime());
    }
    //在报名期间
    private boolean isRecruiting(Date now, Activity activity) {
        System.out.println("报名中");
        return !now.before(activity.getStartTime()) && !now.after(activity.getEndTime());
        return !now.before(activity.getReportStartTime()) && !now.after(activity.getReportEndTime());
    }
}