StartRunning.java 4.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package com.qmth.distributed.print.start;
  2. import com.qmth.distributed.print.business.service.OrgCenterDataDisposeService;
  3. import com.qmth.distributed.print.business.service.TBTaskService;
  4. import com.qmth.teachcloud.common.contant.SystemConstant;
  5. import com.qmth.teachcloud.task.enums.JobEnum;
  6. import com.qmth.teachcloud.task.job.ResendSmsJob;
  7. import com.qmth.teachcloud.task.job.SendSmsExpireJob;
  8. import com.qmth.teachcloud.task.job.SendSmsOverdueJob;
  9. import com.qmth.teachcloud.task.job.TimedSyncSchoolJob;
  10. import com.qmth.teachcloud.task.service.QuartzService;
  11. import org.slf4j.Logger;
  12. import org.slf4j.LoggerFactory;
  13. import org.springframework.boot.CommandLineRunner;
  14. import org.springframework.stereotype.Component;
  15. import javax.annotation.Resource;
  16. import java.util.HashMap;
  17. import java.util.Map;
  18. /**
  19. * @Description: 服务启动时初始化运行,哪个微服务模块需要则拿此模版去用
  20. * @Param:
  21. * @return:
  22. * @Author: wangliang
  23. * @Date: 2020/7/3
  24. */
  25. @Component
  26. public class StartRunning implements CommandLineRunner {
  27. private final static Logger log = LoggerFactory.getLogger(StartRunning.class);
  28. @Resource
  29. QuartzService quartzService;
  30. @Resource
  31. private OrgCenterDataDisposeService orgCenterDataDisposeService;
  32. @Resource
  33. TBTaskService taskService;
  34. @Override
  35. public void run(String... args) throws Exception {
  36. log.info("服务器启动时执行 start");
  37. SystemConstant.initTempFiles();
  38. orgCenterDataDisposeService.updateSchoolInfo();
  39. taskService.updateStatus();
  40. log.info("增加学校信息同步定时任务 start");
  41. Map schoolJobMap = new HashMap();
  42. schoolJobMap.computeIfAbsent("name", v -> TimedSyncSchoolJob.class.getName());
  43. quartzService.deleteJob(JobEnum.TIMED_SYNC_SCHOOL_JOB.name(), JobEnum.TIMED_TASK_JOB_GROUP.name());
  44. // 每天0点定时任务
  45. quartzService.addJob(TimedSyncSchoolJob.class, JobEnum.TIMED_SYNC_SCHOOL_JOB.name(), JobEnum.TIMED_TASK_JOB_GROUP.name(), "0 0 0 * * ?", schoolJobMap);
  46. log.info("增加学校信息同步定时任务 end");
  47. // log.info("增加重新生成pdf定时任务 start");
  48. // Map taskJobMap = new HashMap();
  49. // schoolJobMap.computeIfAbsent("name", v -> ResetCreatePdfJob.class.getName());
  50. // quartzService.deleteJob(JobEnum.RESET_CREATE_PDF_JOB.name(), JobEnum.RESET_CREATE_PDF_JOB_GROUP.name());
  51. // //每天0点定时任务
  52. // quartzService.addJob(ResetCreatePdfJob.class, JobEnum.RESET_CREATE_PDF_JOB.name(), JobEnum.RESET_CREATE_PDF_JOB_GROUP.name(), "0 0/1 * * * ?", taskJobMap);
  53. // log.info("增加重新生成pdf定时任务 end");
  54. log.info("增加任务到期提醒定时任务 start");
  55. Map expireJobMap = new HashMap();
  56. expireJobMap.computeIfAbsent("name", v -> SendSmsExpireJob.class.getName());
  57. quartzService.deleteJob(JobEnum.SMS_NOTICE_TASK_EXPIRE_JOB.name(), JobEnum.SMS_NOTICE_TASK_EXPIRE_JOB_GROUP.name());
  58. // 每天15点定时任务
  59. quartzService.addJob(SendSmsExpireJob.class, JobEnum.SMS_NOTICE_TASK_EXPIRE_JOB.name(), JobEnum.SMS_NOTICE_TASK_EXPIRE_JOB_GROUP.name(), "0 0 15 * * ?", expireJobMap);
  60. log.info("增加任务到期提醒定时任务 end");
  61. log.info("增加任务逾期提醒定时任务 start");
  62. Map orverdueJobMap = new HashMap();
  63. orverdueJobMap.computeIfAbsent("name", v -> SendSmsOverdueJob.class.getName());
  64. quartzService.deleteJob(JobEnum.SMS_NOTICE_TASK_OVERDUE_JOB.name(), JobEnum.SMS_NOTICE_TASK_OVERDUE_JOB_GROUP.name());
  65. // 每天9点定时任务
  66. quartzService.addJob(SendSmsOverdueJob.class, JobEnum.SMS_NOTICE_TASK_OVERDUE_JOB.name(), JobEnum.SMS_NOTICE_TASK_OVERDUE_JOB_GROUP.name(), "0 0 9 * * ?", orverdueJobMap);
  67. log.info("增加任务逾期提醒定时任务 end");
  68. log.info("增加短信发送失败重发定时任务 start");
  69. Map rensendJobMap = new HashMap();
  70. rensendJobMap.computeIfAbsent("name", v -> ResendSmsJob.class.getName());
  71. quartzService.deleteJob(JobEnum.SMS_NOTICE_TASK_RESEND_JOB.name(), JobEnum.SMS_NOTICE_TASK_RESEND_JOB_GROUP.name());
  72. // 每隔1小时定时任务
  73. quartzService.addJob(ResendSmsJob.class, JobEnum.SMS_NOTICE_TASK_RESEND_JOB.name(), JobEnum.SMS_NOTICE_TASK_RESEND_JOB_GROUP.name(), "0 0/30 * * * ?", rensendJobMap);
  74. log.info("增加短信发送失败重发定时任务 end");
  75. log.info("服务器启动时执行 end");
  76. }
  77. }