| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- package jnpf.flowable.job;
- import jnpf.flowable.model.time.FlowTimeModel;
- import jnpf.flowable.util.TimeUtil;
- import jnpf.util.JsonUtil;
- import jnpf.util.RandomUtil;
- import jnpf.util.RedisUtil;
- import org.quartz.JobDataMap;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.boot.ApplicationArguments;
- import org.springframework.boot.ApplicationRunner;
- import java.util.Date;
- import java.util.List;
- /**
- * 类的描述
- *
- * @author JNPF@YinMai Info. Co., Ltd
- * @version 5.0.x
- * @since 2024/5/23 17:49
- */
- //@Component
- public class JobRunner implements ApplicationRunner {
- @Autowired
- private RedisUtil redisUtil;
- @Override
- public void run(ApplicationArguments args) throws Exception {
- // 获取缓存中定时相关信息
- List<FlowTimeModel> list = FlowJobUtil.getOperator(redisUtil);
- for (FlowTimeModel timeModel : list) {
- Date date = new Date();
- // 判断当前时间是否已经 超过了结束时间
- if (date.getTime() > timeModel.getEndDate().getTime()) {
- continue;
- }
- if (timeModel.getOn()) {
- timeModel.setId(RandomUtil.uuId());
- JobDataMap jobDataMap = new JobDataMap();
- jobDataMap.putAll(JsonUtil.entityToMap(timeModel));
- FlowJobUtil.insertModel(timeModel, redisUtil);
- TimeUtil.addJob(timeModel.getId(), timeModel.getDuring(), FlowTime.class, jobDataMap, timeModel.getStartDate(), timeModel.getEndDate());
- }
- }
- }
- }
|