From bd0fe00d0d1496852d1aa9484d0b0211536e358f Mon Sep 17 00:00:00 2001
From: wangli <274027703@qq.com>
Date: Wed, 25 Sep 2024 18:31:26 +0800
Subject: [PATCH] =?UTF-8?q?feat(REQ-2752)=20-=20=E6=96=B0=E5=A2=9E?=
=?UTF-8?q?=E6=A8=A1=E5=9D=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pom.xml | 8 ++++++-
workflow-engine-axzo-ext/pom.xml | 19 ++++++++++++++++
workflow-engine-elasticsearch/pom.xml | 5 +++++
.../starter/api/WorkflowCoreService.java | 4 +++-
.../starter/api/WorkflowManageService.java | 22 +++++++++++++++++++
5 files changed, 56 insertions(+), 2 deletions(-)
create mode 100644 workflow-engine-axzo-ext/pom.xml
diff --git a/pom.xml b/pom.xml
index 237b29de3..2fb4a3fbe 100644
--- a/pom.xml
+++ b/pom.xml
@@ -56,6 +56,11 @@
workflow-engine-api
${project.version}
+
+ cn.axzo.workflow
+ workflow-engine-axzo-ext
+ ${project.version}
+
${project.groupId}
workflow-engine-common
@@ -157,11 +162,12 @@
workflow-engine-api
+ workflow-engine-axzo-ext
workflow-engine-common
workflow-engine-core
+ workflow-engine-elasticsearch
workflow-engine-server
workflow-engine-support
workflow-engine-spring-boot-starter
- workflow-engine-elasticsearch
diff --git a/workflow-engine-axzo-ext/pom.xml b/workflow-engine-axzo-ext/pom.xml
new file mode 100644
index 000000000..e2d8a6d52
--- /dev/null
+++ b/workflow-engine-axzo-ext/pom.xml
@@ -0,0 +1,19 @@
+
+ 4.0.0
+
+ workflow-engine
+ cn.axzo.workflow
+ ${revision}
+
+ workflow-engine-axzo-ext
+ jar
+ Workflow Engine Axzo Extension
+
+
+
+ cn.axzo.workflow
+ workflow-engine-common
+
+
+
diff --git a/workflow-engine-elasticsearch/pom.xml b/workflow-engine-elasticsearch/pom.xml
index 1dc191c26..7a68768d0 100644
--- a/workflow-engine-elasticsearch/pom.xml
+++ b/workflow-engine-elasticsearch/pom.xml
@@ -7,6 +7,7 @@
${revision}
workflow-engine-elasticsearch
+ jar
Workflow Engine ElasticSearch
@@ -17,6 +18,10 @@
+
+ cn.axzo.workflow
+ workflow-engine-axzo-ext
+
org.elasticsearch.client
elasticsearch-rest-high-level-client
diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowCoreService.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowCoreService.java
index bb5f7f8c1..b88033c88 100644
--- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowCoreService.java
+++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowCoreService.java
@@ -5,6 +5,9 @@ import cn.axzo.workflow.common.util.ThreadUtil;
import static cn.axzo.workflow.common.enums.RpcInvokeModeEnum.ASYNC;
import static cn.axzo.workflow.common.enums.RpcInvokeModeEnum.SYNC;
import cn.axzo.workflow.client.annotation.WorkflowEngineFeignClient;
+import cn.axzo.workflow.common.annotation.Manageable;
+import cn.axzo.workflow.common.model.request.bpmn.activity.BpmnActivityTimeoutCallbackDTO;
+import cn.axzo.workflow.common.model.request.bpmn.activity.BpmnActivityTimeoutTriggerDTO;
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnActivitySetAssigneeDTO;
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnActivityTriggerDTO;
import cn.azxo.framework.common.model.CommonResponse;
@@ -16,7 +19,6 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.constraints.NotBlank;
import cn.axzo.workflow.common.annotation.InvokeMode;
-import cn.axzo.workflow.common.annotation.Manageable;
import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceAbortDTO;
import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceAdminPageReqVO;
import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceCancelDTO;
diff --git a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowManageService.java b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowManageService.java
index b076bd213..ec7d6427f 100644
--- a/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowManageService.java
+++ b/workflow-engine-spring-boot-starter/src/main/java/cn/axzo/workflow/starter/api/WorkflowManageService.java
@@ -28,6 +28,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
+import cn.axzo.workflow.common.model.request.bpmn.activity.BpmnActivityTimeoutCallbackDTO;
+import cn.axzo.workflow.common.model.request.bpmn.activity.BpmnActivityTimeoutTriggerDTO;
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnActivitySetAssigneeDTO;
import cn.axzo.workflow.common.model.request.bpmn.task.BpmnActivityTriggerDTO;
import cn.axzo.workflow.common.model.request.bpmn.process.BpmnProcessInstanceAbortDTO;
@@ -240,6 +242,26 @@ public interface WorkflowManageService {
@InvokeMode(SYNC)
List getModelTenantIds();
+ /**
+ * 该功能应该利用引擎的 TimerBoundaryEvent 来实现,但为了简便,先利用引擎的任务调度来实现
+ *
+ * @return
+ */
+ @PostMapping("/api/process/activity/timeout/trigger")
+ @Manageable
+ @Operation(summary = "设置指定业务节点定时继续往下执行")
+ Boolean setTimeoutTrigger(@Validated @RequestBody BpmnActivityTimeoutTriggerDTO dto);
+
+ /**
+ * 为指定业务节点设置定时回调
+ *
+ * @return
+ */
+ @Manageable
+ @PostMapping("/api/process/activity/timeout/callback")
+ @Operation(summary = "设置指定业务节点定时回调")
+ Boolean setTimeoutCallback(@Validated @RequestBody BpmnActivityTimeoutCallbackDTO dto);
+
/**
* 创建审批流程并带上表单
*