Package com.bytedesk.core.workflow
Class WorkflowService
java.lang.Object
com.bytedesk.core.workflow.WorkflowService
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.springframework.transaction.PlatformTransactionManagerprivate final UidUtilsprivate final WorkflowLogRepositoryprivate final WorkflowRestService -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate Stringprivate longelapsed(long startedAt) execute(WorkflowRequest request) private WorkflowEntityexecuteWorkflowFromNode(WorkflowEntity workflow, String nodeId, WorkflowRequest request, com.alibaba.fastjson2.JSONObject workflowJson, String executionUid, AtomicInteger sequence, List<WorkflowLogEntity> executionLogs) 从指定节点开始执行工作流private voidfailNodeLog(WorkflowLogEntity logEntity, Exception e, long startedAt) private com.alibaba.fastjson2.JSONObjectfindNodeById(com.alibaba.fastjson2.JSONArray nodes, String nodeId) 在节点数组中查找指定ID的节点private StringfindStartNodeId(com.alibaba.fastjson2.JSONObject workflowJson) 查找工作流中的开始节点IDprivate voidfinishNodeLog(WorkflowLogEntity logEntity, WorkflowNodeExecutionResult result, long startedAt) private voidpersistLogs(List<WorkflowLogEntity> logs) private StringresolveOrgUid(WorkflowEntity workflow, WorkflowRequest request) private StringresolveUserUid(WorkflowEntity workflow, WorkflowRequest request) private Stringprivate WorkflowLogEntitystartNodeLog(WorkflowEntity workflow, WorkflowBaseNode node, WorkflowRequest request, String executionUid, int sequence)
-
Field Details
-
workflowRestService
-
workflowLogRepository
-
uidUtils
-
transactionManager
private final org.springframework.transaction.PlatformTransactionManager transactionManager
-
-
Constructor Details
-
WorkflowService
public WorkflowService()
-
-
Method Details
-
execute
-
findStartNodeId
查找工作流中的开始节点ID- Parameters:
content- 工作流JSON内容- Returns:
- 开始节点的UID
-
executeWorkflowFromNode
private WorkflowEntity executeWorkflowFromNode(WorkflowEntity workflow, String nodeId, WorkflowRequest request, com.alibaba.fastjson2.JSONObject workflowJson, String executionUid, AtomicInteger sequence, List<WorkflowLogEntity> executionLogs) 从指定节点开始执行工作流- Parameters:
workflow- 工作流实体nodeId- 当前节点UIDrequest- 请求参数
-
findNodeById
private com.alibaba.fastjson2.JSONObject findNodeById(com.alibaba.fastjson2.JSONArray nodes, String nodeId) 在节点数组中查找指定ID的节点 -
startNodeLog
private WorkflowLogEntity startNodeLog(WorkflowEntity workflow, WorkflowBaseNode node, WorkflowRequest request, String executionUid, int sequence) -
finishNodeLog
private void finishNodeLog(WorkflowLogEntity logEntity, WorkflowNodeExecutionResult result, long startedAt) -
failNodeLog
-
elapsed
private long elapsed(long startedAt) -
serialize
-
resolveOrgUid
-
resolveUserUid
-
buildStackTrace
-
persistLogs
-