|
@@ -1,10 +1,18 @@
|
|
package com.qmth.sop.task.job.service.impl;
|
|
package com.qmth.sop.task.job.service.impl;
|
|
|
|
|
|
|
|
+import com.qmth.sop.common.contant.SystemConstant;
|
|
|
|
+import com.qmth.sop.common.enums.JobEnum;
|
|
import com.qmth.sop.task.job.service.JobService;
|
|
import com.qmth.sop.task.job.service.JobService;
|
|
|
|
+import com.qmth.sop.task.service.QuartzService;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
|
+import java.util.Calendar;
|
|
|
|
+import java.util.HashMap;
|
|
|
|
+import java.util.Map;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* @Description: job service impl
|
|
* @Description: job service impl
|
|
* @Param:
|
|
* @Param:
|
|
@@ -16,6 +24,9 @@ import org.springframework.stereotype.Service;
|
|
public class JobServiceImpl implements JobService {
|
|
public class JobServiceImpl implements JobService {
|
|
private final static Logger log = LoggerFactory.getLogger(JobServiceImpl.class);
|
|
private final static Logger log = LoggerFactory.getLogger(JobServiceImpl.class);
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ QuartzService quartzService;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 流程任务提醒task
|
|
* 流程任务提醒task
|
|
*/
|
|
*/
|
|
@@ -23,4 +34,33 @@ public class JobServiceImpl implements JobService {
|
|
public void flowTaskRemindTask() {
|
|
public void flowTaskRemindTask() {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 设置定时任务时间
|
|
|
|
+ *
|
|
|
|
+ * @param finishTime
|
|
|
|
+ * @param jobName
|
|
|
|
+ * @param cls
|
|
|
|
+ * @param jobEnum
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public void setJobTime(Long finishTime, String jobName, Class cls, JobEnum jobEnum) {
|
|
|
|
+ Calendar calendar = Calendar.getInstance();
|
|
|
|
+ calendar.setTimeInMillis(finishTime);
|
|
|
|
+// calendar.add(Calendar.SECOND, 30);
|
|
|
|
+ if (calendar.getTime().getTime() > System.currentTimeMillis()) {
|
|
|
|
+ int year = calendar.get(Calendar.YEAR);//获取年份
|
|
|
|
+ int month = calendar.get(Calendar.MONTH) + 1;//获取月份
|
|
|
|
+ int day = calendar.get(Calendar.DATE);//获取日
|
|
|
|
+ int hour = calendar.get(Calendar.HOUR_OF_DAY);//小时
|
|
|
|
+ int minute = calendar.get(Calendar.MINUTE);//分
|
|
|
|
+ int second = calendar.get(Calendar.SECOND);//秒
|
|
|
|
+ String cron = second + " " + minute + " " + hour + " " + day + " " + month + " ? " + year;
|
|
|
|
+ log.info("cron:{}", cron);
|
|
|
|
+ //执行一次性延时任务
|
|
|
|
+ Map mapJob = new HashMap();
|
|
|
|
+ mapJob.put(SystemConstant.NAME, jobName);
|
|
|
|
+ quartzService.addJob(cls, jobName, jobEnum.name(), cron, mapJob);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|