mirror of
http://git.pig4cloud.com/pig/pigx.git
synced 2026-11-12 13:39:01 +08:00
feat(pigx-flow-biz): 实现触发器节点功能
- 在 NodeFormatUtil 中新增 TRIGGER 节点类型处理逻辑 - 重构 ModelUtil 中的 buildSimpleServiceTaskNode 通用方法,支持构建服务任务节点 - 新增 buildTriggerNode 方法,使用 TriggerServiceTask 处理触发器逻辑 - 新增 TriggerServiceTask 组件,支持调用外部 HTTP 接口并处理返回值映射 - 支持配置请求头、请求体和返回值映射到表单字段 - 提供异常处理机制,支持抛出异常或终止流程两种策略
This commit is contained in:
1 parent
b28d86cb59
commit
325f58996d
8 files changed
+307
-15
No files matched your search
+6
-1
@@ -36,7 +36,12 @@ public enum NodeTypeEnum {
|
||||
* 抄送节点 - 仅用于通知,不阻塞流程执行,抄送人只需查看无需审批
|
||||
*/
|
||||
CC("抄送节点", 2, false),
|
||||
|
||||
|
||||
/**
|
||||
* 触发器节点 - 调用外部HTTP接口,支持传递表单数据并将返回值映射回流程变量
|
||||
*/
|
||||
TRIGGER("触发器", 11, false),
|
||||
|
||||
/**
|
||||
* 条件分支 - 根据表单数据或表达式判断流程走向,只会选择一条分支执行
|
||||
*/
|
||||
|
||||
@@ -160,4 +160,9 @@ public class Node {
|
||||
*/
|
||||
private TimerConfig timerConfig;
|
||||
|
||||
/**
|
||||
* 触发器配置
|
||||
*/
|
||||
private TriggerConfig triggerConfig;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.pig4cloud.pigx.flow.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 触发器节点配置
|
||||
*
|
||||
* @author pigx
|
||||
*/
|
||||
@Data
|
||||
public class TriggerConfig {
|
||||
|
||||
private String url;
|
||||
|
||||
private List<TriggerParam> headers;
|
||||
|
||||
private List<TriggerParam> body;
|
||||
|
||||
private List<TriggerReturnMapping> returnMapping;
|
||||
|
||||
/**
|
||||
* 异常处理方式: THROW(抛出异常) | TERMINATE(终止流程)
|
||||
*/
|
||||
private String errorHandler;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.pig4cloud.pigx.flow.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 触发器请求参数
|
||||
*
|
||||
* @author pigx
|
||||
*/
|
||||
@Data
|
||||
public class TriggerParam {
|
||||
|
||||
private String key;
|
||||
|
||||
private Boolean useForm;
|
||||
|
||||
private String formFieldId;
|
||||
|
||||
private String formFieldName;
|
||||
|
||||
private String value;
|
||||
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
package com.pig4cloud.pigx.flow.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 触发器返回值映射
|
||||
*
|
||||
* @author pigx
|
||||
*/
|
||||
@Data
|
||||
public class TriggerReturnMapping {
|
||||
|
||||
private String formFieldId;
|
||||
|
||||
private String formFieldName;
|
||||
|
||||
private String responseKey;
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user