123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package com.yihu.jw.util;
- import com.yihu.jw.service.channel.PrescriptionStatusUpdateService;
- import com.yihu.jw.service.channel.TimeoutOverDueService;
- import org.apache.commons.lang3.StringUtils;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.context.annotation.Lazy;
- import org.springframework.scheduling.Trigger;
- import org.springframework.scheduling.TriggerContext;
- import org.springframework.scheduling.annotation.EnableScheduling;
- import org.springframework.scheduling.annotation.SchedulingConfigurer;
- import org.springframework.scheduling.config.ScheduledTaskRegistrar;
- import org.springframework.scheduling.support.CronTrigger;
- import org.springframework.stereotype.Component;
- import java.util.Date;
- @Lazy(false)
- @Component
- @EnableScheduling
- public class TimeoutOverDueJob implements SchedulingConfigurer {
- private static final Logger logger = LoggerFactory.getLogger(TimeoutOverDueJob.class);
- private static String cron = "0 */10 * * * ?";//0 0 0 * * ?
- public TimeoutOverDueJob(){
- cron="0 */10 * * * ?";
- System.out.println("TimeoutOverDueJob初始化时的corn"+cron);
- }
- @Autowired
- private TimeoutOverDueService TimeoutOverDueService;
- public String change(String corIn) {
- if (StringUtils.isNotBlank(corIn)) {
- cron = corIn;
- }
- return cron;
- }
- @Override
- public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
- taskRegistrar.addTriggerTask(new Runnable() {
- @Override
- public void run() {
- logger.info("START========TimeoutOverDueJob========");
- try {
- TimeoutOverDueService.cancelOutPatientOver();
- logger.info("END========TimeoutOverDueJob========");
- } catch (Exception e) {
- e.printStackTrace();
- logger.error("END===ERROE===TimeoutOverDueJob,message:"+e.getMessage());
- }
- }
- }, new Trigger() {
- @Override
- public Date nextExecutionTime(TriggerContext triggerContext) {
- // 任务触发,可修改任务的执行周期
- CronTrigger trigger = new CronTrigger(cron);
- System.out.println("TimeoutOverDueJobc,可修改任务的执行周期"+cron);
- Date nextExec = trigger.nextExecutionTime(triggerContext);
- return nextExec;
- }
- });
- }
- }
|