|
@@ -261,6 +261,51 @@ public class WorkflowController : BaseController
|
|
|
return items;
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 跳转至任意节点
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost("jump")]
|
|
|
+ public async Task Jump([FromBody] RecallDto dto)
|
|
|
+ {
|
|
|
+ var workflow = await _workflowDomainService.GetWorkflowAsync(dto.WorkflowId, HttpContext.RequestAborted);
|
|
|
+ await _workflowDomainService.JumpAsync(workflow, dto, HttpContext.RequestAborted);
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 终止流程
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="workflowId"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPut("terminate/{workflowId}")]
|
|
|
+ public async Task Terminate(string workflowId)
|
|
|
+ {
|
|
|
+ await _workflowDomainService.TerminateAsync(workflowId, HttpContext.RequestAborted);
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 获取跳转参数
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="workflowId"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpGet("jump")]
|
|
|
+ public async Task<IReadOnlyList<StepDefineDto>> GetJumpTargets(string workflowId)
|
|
|
+ {
|
|
|
+ var workflow = await _workflowDomainService.GetWorkflowAsync(workflowId, HttpContext.RequestAborted);
|
|
|
+ return _mapper.Map<IReadOnlyList<StepDefineDto>>(workflow.Definition.Steps);
|
|
|
+ }
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 获取撤回参数
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="workflowId"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpGet("recall")]
|
|
|
+ public async Task<IReadOnlyList<StepDefineDto>> GetRecallTargets(string workflowId)
|
|
|
+ {
|
|
|
+ var workflow = await _workflowDomainService.GetWorkflowAsync(workflowId, HttpContext.RequestAborted);
|
|
|
+ return _mapper.Map<IReadOnlyList<StepDefineDto>>(workflow.StepBoxes);
|
|
|
+ }
|
|
|
|
|
|
}
|