Files
UserclassService/src/main/java/com/yunhai/bschclassmanage/scheduler/ClassUpgradeScheduler.java
T
Allen dc217ca7a9 refactor: 根包由 com.bestsch.bschclassmanage 重命名为 com.yunhai.bschclassmanage
- git mv src/main/java/com/bestsch/bschclassmanage -> src/main/java/com/yunhai/bschclassmanage
- 255 个 Java 文件的 package/import 同步替换为 com.yunhai.bschclassmanage
- pom.xml 项目 groupId 设为 com.yunhai(与外部依赖 com.bestsch:bsch-* 无关,未改动)
- IDE 缓存 workspace.xml 路径同步更新(外部依赖坐标 com.bestsch:bsch-* 保持不动)
2026-08-12 17:21:22 +08:00

70 lines
2.3 KiB
Java

package com.yunhai.bschclassmanage.scheduler;
import com.yunhai.bschclassmanage.service.IBaseYearTermService;
import com.yunhai.bschclassmanage.service.ISchClassService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* 班级升级定时任务
* 每年9月1日凌晨2点执行
*/
@Slf4j
@Component
public class ClassUpgradeScheduler {
@Autowired
private ISchClassService schClassService; // 注入业务服务
@Autowired
private IBaseYearTermService baseYearTermService; // 注入业务服务
/**
* 定时执行班级升级
* Cron:每天凌晨2点执行
*/
@Scheduled(cron = "0 0 2 * * ?") // 每天凌晨2点执行
public void upgradeClasses() {
log.info("===== 班级升级定时任务开始 =====");
try {
Date today = new Date();
if (baseYearTermService.isUpgradeDate(today)) {
// 如果今天是升级日,则执行升级
schClassService.upgradeAllClasses();
} else {
log.info("今天不是升级日,跳过");
}
log.info("===== 班级升级定时任务成功完成 =====");
} catch (Exception e) {
log.error("班级升级定时任务执行失败", e);
// 可以发送告警邮件或短信
}
}
/**
* 定时执行数据备份
* Cron:每天凌晨0点执行
*/
@Scheduled(cron = "0 0 0 * * ?") // 每天凌晨0点执行
public void backupAllSnapshot() {
log.info("===== 班级数据备份定时任务开始 =====");
try {
Date today = new Date();
if (baseYearTermService.isBackupClassDataDate(today)) {
// 如果今天是升级日,则执行升级
schClassService.backupAllSnapshot();
} else {
log.info("今天不是备份日,跳过");
}
log.info("===== 班级数据备份定时任务成功完成 =====");
} catch (Exception e) {
log.error("班级数据备份定时任务执行失败", e);
// 可以发送告警邮件或短信
}
}
}