diff --git a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/common/context/TaskOperationContext.java b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/common/context/TaskOperationContext.java index 515feaf35..57c4ecadc 100644 --- a/workflow-engine-core/src/main/java/cn/axzo/workflow/core/common/context/TaskOperationContext.java +++ b/workflow-engine-core/src/main/java/cn/axzo/workflow/core/common/context/TaskOperationContext.java @@ -1,10 +1,9 @@ package cn.axzo.workflow.core.common.context; import cn.axzo.workflow.core.repository.entity.ExtAxHiTaskInst; +import org.springframework.util.CollectionUtils; -import java.util.HashMap; import java.util.List; -import java.util.Map; import java.util.function.Supplier; /** @@ -15,23 +14,32 @@ import java.util.function.Supplier; */ public class TaskOperationContext extends CommonContext { - private Map> extTaskMap = new HashMap<>(); + private List extAxHiTaskInsts; - private Map> getExtTaskMap() { - return extTaskMap; - } - - private void setExtTaskMap(String key, List taskInstList) { - extTaskMap.put(key, taskInstList); - } - - public List getExtTaskInstList(String key, Supplier> supplier) { - if (getExtTaskMap().containsKey(key)) { - return getExtTaskMap().get(key); + public List getExtAxHiTaskInsts(Supplier> supplier) { + if (CollectionUtils.isEmpty(extAxHiTaskInsts)) { + extAxHiTaskInsts.addAll(supplier.get()); } - setExtTaskMap(key, supplier.get()); - return getExtTaskInstList(key, supplier); + return extAxHiTaskInsts; } + // private Map> extTaskMap = new HashMap<>(); +// +// private Map> getExtTaskMap() { +// return extTaskMap; +// } +// +// private void setExtTaskMap(String key, List taskInstList) { +// extTaskMap.put(key, taskInstList); +// } +// +// public List getExtTaskInstList(String key, Supplier> supplier) { +// if (getExtTaskMap().containsKey(key)) { +// return getExtTaskMap().get(key); +// } +// setExtTaskMap(key, supplier.get()); +// return getExtTaskInstList(key, supplier); +// } + } diff --git a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/task/AutoOperatorEvent_101_Listener.java b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/task/AutoOperatorEvent_101_Listener.java index 7807df6a1..e2e78e808 100644 --- a/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/task/AutoOperatorEvent_101_Listener.java +++ b/workflow-engine-server/src/main/java/cn/axzo/workflow/server/controller/listener/task/AutoOperatorEvent_101_Listener.java @@ -150,9 +150,7 @@ public class AutoOperatorEvent_101_Listener extends AbstractBpmnEventListener extAxHiTaskInstService.queryList(searchDTO)) -// extAxHiTaskInstService.queryList(searchDTO) + getContext().getExtAxHiTaskInsts(() -> extAxHiTaskInstService.queryList(searchDTO)) .stream().filter(e -> Objects.equals(e.getStatus(), APPROVED.getStatus())) .map(ExtAxHiTaskInst::getAssignee) .filter(Objects::nonNull)