Browse Source

关闭超时订单任务

master
xyiege 4 years ago
parent
commit
766768715f
  1. 31
      src/main/java/cn/chjyj/szwh/job/OrderJob.java
  2. 13
      src/main/java/cn/chjyj/szwh/task/TaskInit.java

31
src/main/java/cn/chjyj/szwh/job/OrderJob.java

@ -0,0 +1,31 @@
package cn.chjyj.szwh.job;
import cn.chjyj.szwh.service.OrderTaskService;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.quartz.QuartzJobBean;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Calendar;
/**
* 关闭超时订单脚本
*/
public class OrderJob extends QuartzJobBean {
private static Log log = LogFactory.getLog(SzwhRevocationGoodsJob.class);
@Autowired
private OrderTaskService orderTaskService;
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
Calendar cal = Calendar.getInstance();
LocalDateTime localDateTime = LocalDateTime.now();
String nowstr = localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
log.info("关闭超时(30min未付款)订单:"+nowstr);
//
orderTaskService.closeOrderTimeout();
}
}

13
src/main/java/cn/chjyj/szwh/task/TaskInit.java

@ -1,5 +1,6 @@
package cn.chjyj.szwh.task;
import cn.chjyj.szwh.job.OrderJob;
import cn.chjyj.szwh.job.SzwhJob;
import cn.chjyj.szwh.job.SzwhRevocationGoodsJob;
import org.quartz.*;
@ -51,5 +52,17 @@ public class TaskInit implements ApplicationRunner {
.startNow()
.build();
scheduler.scheduleJob(revojob,revoTrigger);
// 关闭超时订单 1min一次
JobDetail odTimeoutJob=JobBuilder.newJob(OrderJob.class)
.withIdentity(sid+"03")
.storeDurably()
.build();
Trigger odTimeoutTrigger = TriggerBuilder.newTrigger()
.forJob(odTimeoutJob)
.withIdentity(sid+"02Trigger")
.withSchedule(CronScheduleBuilder.cronSchedule("0 */1 * * * ? *"))
.startNow()
.build();
scheduler.scheduleJob(odTimeoutJob,odTimeoutTrigger);
}
}

Loading…
Cancel
Save