From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master

---
 jnpf-flowable/jnpf-flowable-biz/src/main/java/jnpf/flowable/job/TimeTriggerRunner.java |   43 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/jnpf-flowable/jnpf-flowable-biz/src/main/java/jnpf/flowable/job/TimeTriggerRunner.java b/jnpf-flowable/jnpf-flowable-biz/src/main/java/jnpf/flowable/job/TimeTriggerRunner.java
new file mode 100644
index 0000000..575b677
--- /dev/null
+++ b/jnpf-flowable/jnpf-flowable-biz/src/main/java/jnpf/flowable/job/TimeTriggerRunner.java
@@ -0,0 +1,43 @@
+package jnpf.flowable.job;
+
+import jnpf.flowable.model.trigger.TimeTriggerModel;
+import jnpf.util.JsonUtil;
+import jnpf.util.RedisUtil;
+import lombok.RequiredArgsConstructor;
+import org.quartz.JobDataMap;
+import org.springframework.boot.ApplicationArguments;
+import org.springframework.boot.ApplicationRunner;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 绫荤殑鎻忚堪
+ *
+ * @author JNPF@YinMai Info. Co., Ltd
+ * @version 5.0.x
+ * @since 2024/9/20 14:55
+ */
+@Component
+@RequiredArgsConstructor
+public class TimeTriggerRunner implements ApplicationRunner {
+
+    private final RedisUtil redisUtil;
+
+    @Override
+    public void run(ApplicationArguments args) throws Exception {
+        List<String> hashValues = redisUtil.getHashValues(TriggerJobUtil.TRIGGER_MODEL);
+        for (String value : hashValues) {
+            TimeTriggerModel model = JsonUtil.getJsonToBean(value, TimeTriggerModel.class);
+            JobDataMap jobDataMap = new JobDataMap();
+            jobDataMap.putAll(JsonUtil.entityToMap(model));
+            Date startTime = new Date(model.getStartTime());
+            Date endTime = null != model.getEndTime() ? new Date(model.getEndTime()) : null;
+            boolean isAdd = null == endTime || endTime.getTime() > System.currentTimeMillis();
+            if (isAdd) {
+                QuartzJobUtil.addJob(model.getId(), model.getCron(), TimeTriggerJob.class, jobDataMap, startTime, endTime);
+            }
+        }
+    }
+}

--
Gitblit v1.8.0