开始开发工作流中调用工作流
This commit is contained in:
parent
7d19959df7
commit
6ce6485da9
@ -16,6 +16,7 @@ public enum WorkflowNodeTypeEnum {
|
|||||||
JOB_TASK(1, "JOB task"),
|
JOB_TASK(1, "JOB task"),
|
||||||
DECISION(2, "Decision node"),
|
DECISION(2, "Decision node"),
|
||||||
CALLBACK(3, "Callback node"),
|
CALLBACK(3, "Callback node"),
|
||||||
|
WORKFLOW(4, "Workflow node"),
|
||||||
;
|
;
|
||||||
|
|
||||||
private final int type;
|
private final int type;
|
||||||
|
@ -161,9 +161,7 @@ public class WorkflowHandler {
|
|||||||
Assert.notNull(decision.getDefaultDecision(), () -> new SnailJobServerException("Default decision for [{}] cannot be empty", nodeInfo.getNodeName()));
|
Assert.notNull(decision.getDefaultDecision(), () -> new SnailJobServerException("Default decision for [{}] cannot be empty", nodeInfo.getNodeName()));
|
||||||
Assert.notNull(decision.getExpressionType(), () -> new SnailJobServerException("Expression type for [{}] cannot be empty", nodeInfo.getNodeName()));
|
Assert.notNull(decision.getExpressionType(), () -> new SnailJobServerException("Expression type for [{}] cannot be empty", nodeInfo.getNodeName()));
|
||||||
workflowNode.setNodeInfo(JsonUtil.toJsonString(decision));
|
workflowNode.setNodeInfo(JsonUtil.toJsonString(decision));
|
||||||
}
|
}else if (WorkflowNodeTypeEnum.CALLBACK.getType() == nodeConfig.getNodeType()) {
|
||||||
|
|
||||||
if (WorkflowNodeTypeEnum.CALLBACK.getType() == nodeConfig.getNodeType()) {
|
|
||||||
workflowNode.setJobId(SystemConstants.CALLBACK_JOB_ID);
|
workflowNode.setJobId(SystemConstants.CALLBACK_JOB_ID);
|
||||||
CallbackConfig callback = nodeInfo.getCallback();
|
CallbackConfig callback = nodeInfo.getCallback();
|
||||||
Assert.notNull(callback, () -> new SnailJobServerException("Configuration information for [{}] cannot be empty", nodeInfo.getNodeName()));
|
Assert.notNull(callback, () -> new SnailJobServerException("Configuration information for [{}] cannot be empty", nodeInfo.getNodeName()));
|
||||||
@ -171,13 +169,16 @@ public class WorkflowHandler {
|
|||||||
Assert.notNull(callback.getContentType(), () -> new SnailJobServerException("Request type for [{}] cannot be empty", nodeInfo.getNodeName()));
|
Assert.notNull(callback.getContentType(), () -> new SnailJobServerException("Request type for [{}] cannot be empty", nodeInfo.getNodeName()));
|
||||||
Assert.notBlank(callback.getSecret(), () -> new SnailJobServerException("Secret key for [{}] cannot be empty", nodeInfo.getNodeName()));
|
Assert.notBlank(callback.getSecret(), () -> new SnailJobServerException("Secret key for [{}] cannot be empty", nodeInfo.getNodeName()));
|
||||||
workflowNode.setNodeInfo(JsonUtil.toJsonString(callback));
|
workflowNode.setNodeInfo(JsonUtil.toJsonString(callback));
|
||||||
}
|
}else if (WorkflowNodeTypeEnum.JOB_TASK.getType() == nodeConfig.getNodeType()) {
|
||||||
|
|
||||||
if (WorkflowNodeTypeEnum.JOB_TASK.getType() == nodeConfig.getNodeType()) {
|
|
||||||
JobTaskConfig jobTask = nodeInfo.getJobTask();
|
JobTaskConfig jobTask = nodeInfo.getJobTask();
|
||||||
Assert.notNull(jobTask, () -> new SnailJobServerException("Configuration information for [{}] cannot be empty", nodeInfo.getNodeName()));
|
Assert.notNull(jobTask, () -> new SnailJobServerException("Configuration information for [{}] cannot be empty", nodeInfo.getNodeName()));
|
||||||
Assert.notNull(jobTask.getJobId(), () -> new SnailJobServerException("Associated task for [{}] cannot be empty", nodeInfo.getNodeName()));
|
Assert.notNull(jobTask.getJobId(), () -> new SnailJobServerException("Associated task for [{}] cannot be empty", nodeInfo.getNodeName()));
|
||||||
workflowNode.setJobId(jobTask.getJobId());
|
workflowNode.setJobId(jobTask.getJobId());
|
||||||
|
}else if (WorkflowNodeTypeEnum.WORKFLOW.getType() == nodeConfig.getNodeType()) {
|
||||||
|
// TODO 工作流结点
|
||||||
|
throw new SnailJobServerException("Unsupported node type [{}]", nodeConfig.getNodeType());
|
||||||
|
} else {
|
||||||
|
throw new SnailJobServerException("Unsupported node type [{}]", nodeConfig.getNodeType());
|
||||||
}
|
}
|
||||||
|
|
||||||
Assert.isTrue(1 == workflowNodeMapper.insert(workflowNode),
|
Assert.isTrue(1 == workflowNodeMapper.insert(workflowNode),
|
||||||
|
Loading…
Reference in New Issue
Block a user