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/FlowJobUtil.java | 125 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 125 insertions(+), 0 deletions(-)
diff --git a/jnpf-flowable/jnpf-flowable-biz/src/main/java/jnpf/flowable/job/FlowJobUtil.java b/jnpf-flowable/jnpf-flowable-biz/src/main/java/jnpf/flowable/job/FlowJobUtil.java
new file mode 100644
index 0000000..964f400
--- /dev/null
+++ b/jnpf-flowable/jnpf-flowable-biz/src/main/java/jnpf/flowable/job/FlowJobUtil.java
@@ -0,0 +1,125 @@
+
+package jnpf.flowable.job;
+
+import jnpf.flowable.model.time.FlowTimeModel;
+import jnpf.flowable.util.TimeUtil;
+import jnpf.util.JsonUtil;
+import jnpf.util.RedisUtil;
+import jnpf.util.StringUtil;
+import lombok.extern.slf4j.Slf4j;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * @author JNPF寮�鍙戝钩鍙扮粍
+ * @version V3.3.0 flowable
+ * @copyright 寮曡繄淇℃伅鎶�鏈湁闄愬叕鍙�
+ * @date 2022/6/15 17:37
+ */
+@Slf4j
+public class FlowJobUtil {
+
+ private FlowJobUtil() {}
+ /**
+ * 鑷姩瀹℃壒
+ */
+ public static final String OPERATOR_REDIS_KEY = "flowable_operator";
+
+ /**
+ * 鑷姩杞
+ */
+ public static final String OPERATOR_TRANSFER = "flowable_transfer";
+
+ /**
+ * 瓒呮椂
+ */
+ public static final String TIME_REDIS_KEY = "flowable_timeModel";
+
+ /**
+ * 鎻愰啋
+ */
+ public static final String NOTICE_REDIS_KEY = "flowable_notice";
+
+ public static FlowTimeModel getModel(FlowTimeModel model, RedisUtil redisUtil) {
+ String id = model.getOperatorId();
+ String hashValues = redisUtil.getHashValues(Boolean.TRUE.equals(model.getOverTime()) ? TIME_REDIS_KEY : NOTICE_REDIS_KEY, id);
+ return StringUtil.isNotEmpty(hashValues) ? JsonUtil.getJsonToBean(hashValues, FlowTimeModel.class) : null;
+ }
+
+ public static void insertModel(FlowTimeModel model, RedisUtil redisUtil) {
+ String integrateId = model.getOperatorId();
+ redisUtil.insertHash(Boolean.TRUE.equals(model.getOverTime()) ? TIME_REDIS_KEY : NOTICE_REDIS_KEY, integrateId, JsonUtil.getObjectToString(model));
+ }
+
+ public static void removeModel(FlowTimeModel model, RedisUtil redisUtil) {
+ redisUtil.removeHash(Boolean.TRUE.equals(model.getOverTime()) ? TIME_REDIS_KEY : NOTICE_REDIS_KEY, model.getOperatorId());
+ }
+
+ //-----------------------瀹℃壒------------------------------
+
+ public static void insertOperator(FlowTimeModel model, RedisUtil redisUtil) {
+ redisUtil.insertHash(OPERATOR_REDIS_KEY, model.getOperatorId(), JsonUtil.getObjectToString(model));
+ }
+
+ public static List<FlowTimeModel> getOperator(RedisUtil redisUtil) {
+ List<FlowTimeModel> list = new ArrayList<>();
+ List<String> hashValues = redisUtil.getHashValues(OPERATOR_REDIS_KEY);
+ if (!hashValues.isEmpty()) {
+ for (String hashValue : hashValues) {
+ FlowTimeModel integrateModel = StringUtil.isNotEmpty(hashValue) ? JsonUtil.getJsonToBean(hashValue, FlowTimeModel.class) : null;
+ list.add(integrateModel);
+ }
+ }
+ return list;
+ }
+
+ //-----------------------杞------------------------------
+
+ public static void removeTransfer(FlowTimeModel model, RedisUtil redisUtil) {
+ redisUtil.removeHash(OPERATOR_TRANSFER, model.getOperatorId());
+ }
+
+ public static void insertTransfer(FlowTimeModel model, RedisUtil redisUtil) {
+ redisUtil.insertHash(OPERATOR_TRANSFER, model.getOperatorId(), JsonUtil.getObjectToString(model));
+ }
+
+ public static List<FlowTimeModel> getTransfer(RedisUtil redisUtil) {
+ List<FlowTimeModel> list = new ArrayList<>();
+ List<String> hashValues = redisUtil.getHashValues(OPERATOR_TRANSFER);
+ if (!hashValues.isEmpty()) {
+ for (String hashValue : hashValues) {
+ FlowTimeModel integrateModel = StringUtil.isNotEmpty(hashValue) ? JsonUtil.getJsonToBean(hashValue, FlowTimeModel.class) : null;
+ list.add(integrateModel);
+ }
+ }
+ return list;
+ }
+
+
+ //-----------------------鍒犻櫎------------------------------
+
+ public static void deleteByOperatorId(String operatorId, RedisUtil redisUtil) {
+ FlowTimeModel timeModel = new FlowTimeModel();
+ timeModel.setOperatorId(operatorId);
+ FlowTimeModel flowTimeModel = getModel(timeModel, redisUtil);
+ if (null != flowTimeModel) {
+ TimeUtil.deleteJob(flowTimeModel.getId());
+ remove(flowTimeModel, redisUtil);
+ }
+ timeModel.setOverTime(true);
+ FlowTimeModel overTimeModel = getModel(timeModel, redisUtil);
+ if (null != overTimeModel) {
+ TimeUtil.deleteJob(overTimeModel.getId());
+ remove(overTimeModel, redisUtil);
+ }
+ }
+
+ public static void remove(FlowTimeModel model, RedisUtil redisUtil) {
+ redisUtil.removeHash(OPERATOR_TRANSFER, model.getOperatorId());
+ redisUtil.removeHash(OPERATOR_REDIS_KEY, model.getOperatorId());
+ redisUtil.removeHash(TIME_REDIS_KEY, model.getOperatorId());
+ redisUtil.removeHash(NOTICE_REDIS_KEY, model.getOperatorId());
+ }
+}
--
Gitblit v1.8.0