- 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-* 保持不动)
70 lines
2.3 KiB
Java
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);
|
|
// 可以发送告警邮件或短信
|
|
}
|
|
}
|
|
|
|
}
|