package com.qmth.distributed.print.start; import com.qmth.distributed.print.business.service.OrgCenterDataDisposeService; import com.qmth.distributed.print.business.service.TBTaskService; import com.qmth.distributed.print.common.contant.SystemConstant; import com.qmth.distributed.print.task.enums.JobEnum; import com.qmth.distributed.print.task.job.ResetCreatePdfJob; import com.qmth.distributed.print.task.job.TimedSyncSchoolJob; import com.qmth.distributed.print.task.service.QuartzService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.CommandLineRunner; import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.HashMap; import java.util.Map; /** * @Description: 服务启动时初始化运行,哪个微服务模块需要则拿此模版去用 * @Param: * @return: * @Author: wangliang * @Date: 2020/7/3 */ @Component public class StartRunning implements CommandLineRunner { private final static Logger log = LoggerFactory.getLogger(StartRunning.class); @Resource QuartzService quartzService; @Resource private OrgCenterDataDisposeService orgCenterDataDisposeService; @Resource TBTaskService taskService; @Override public void run(String... args) throws Exception { log.info("服务器启动时执行 start"); SystemConstant.initTempFiles(); orgCenterDataDisposeService.updateSchoolInfo(); taskService.updateStatus(); log.info("增加学校信息同步定时任务 start"); Map schoolJobMap = new HashMap(); schoolJobMap.computeIfAbsent("name", v -> TimedSyncSchoolJob.class.getName()); quartzService.deleteJob(JobEnum.TIMED_SYNC_SCHOOL_JOB.name(), JobEnum.TIMED_TASK_JOB_GROUP.name()); // 每天0点定时任务 quartzService.addJob(TimedSyncSchoolJob.class, JobEnum.TIMED_SYNC_SCHOOL_JOB.name(), JobEnum.TIMED_TASK_JOB_GROUP.name(), "0 0 0 * * ?", schoolJobMap); log.info("增加学校信息同步定时任务 end"); log.info("增加重新生成pdf定时任务 start"); Map taskJobMap = new HashMap(); schoolJobMap.computeIfAbsent("name", v -> ResetCreatePdfJob.class.getName()); quartzService.deleteJob(JobEnum.RESET_CREATE_PDF_JOB.name(), JobEnum.RESET_CREATE_PDF_JOB_GROUP.name()); // 每天0点定时任务 quartzService.addJob(ResetCreatePdfJob.class, JobEnum.RESET_CREATE_PDF_JOB.name(), JobEnum.RESET_CREATE_PDF_JOB_GROUP.name(), "0 0/1 * * * ?", taskJobMap); log.info("增加重新生成pdf定时任务 end"); // log.info("增加任务到期提醒定时任务 start"); // Map expireJobMap = new HashMap(); // expireJobMap.computeIfAbsent("name", v -> SendSmsExpireJob.class.getName()); // quartzService.deleteJob(JobEnum.SMS_NOTICE_TASK_EXPIRE_JOB.name(), JobEnum.SMS_NOTICE_TASK_EXPIRE_JOB_GROUP.name()); // // 每天15点定时任务 // quartzService.addJob(SendSmsExpireJob.class, JobEnum.SMS_NOTICE_TASK_EXPIRE_JOB.name(), JobEnum.SMS_NOTICE_TASK_EXPIRE_JOB_GROUP.name(), "0 0 15 * * ?", expireJobMap); // log.info("增加任务到期提醒定时任务 end"); // // log.info("增加任务逾期提醒定时任务 start"); // Map orverdueJobMap = new HashMap(); // orverdueJobMap.computeIfAbsent("name", v -> SendSmsOverdueJob.class.getName()); // quartzService.deleteJob(JobEnum.SMS_NOTICE_TASK_OVERDUE_JOB.name(), JobEnum.SMS_NOTICE_TASK_OVERDUE_JOB_GROUP.name()); // // 每天9点定时任务 // quartzService.addJob(SendSmsOverdueJob.class, JobEnum.SMS_NOTICE_TASK_OVERDUE_JOB.name(), JobEnum.SMS_NOTICE_TASK_OVERDUE_JOB_GROUP.name(), "0 */5 * * * ?", orverdueJobMap); // log.info("增加任务逾期提醒定时任务 end"); log.info("服务器启动时执行 end"); } }