|
@@ -1535,7 +1535,14 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
{
|
|
|
if (stepDefine.HandlerType != EHandlerType.Role && !dto.NextHandlers.Any())
|
|
|
throw new UserFriendlyException("未指定节点处理者");
|
|
|
- handlers = dto.NextHandlers;
|
|
|
+ if (stepDefine.HandlerType == EHandlerType.Role && !dto.NextHandlers.Any())
|
|
|
+ {
|
|
|
+ handlers = flowAssignInfo.HandlerObjects.Select(d => new Kv(d.Key, d.Value)).ToList();
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ handlers = dto.NextHandlers;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
return await CreateStepsAsync(workflow, stepDefine, prevStep, dto, flowAssignInfo.FlowAssignType, handlers,
|
|
@@ -1825,7 +1832,7 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
)
|
|
|
{
|
|
|
if (!handlers.Any())
|
|
|
- throw new UserFriendlyException($"非法参数, method: {nameof(CreateStep)}");
|
|
|
+ throw new UserFriendlyException($"非法参数, handlers为空, method: {nameof(CreateStep)}");
|
|
|
var step = _mapper.Map<WorkflowStep>(stepDefine);
|
|
|
var handlerIds = handlers.Select(d => d.Key).ToList();
|
|
|
var isMain = handlers.Count == 1 || (handlers.Count > 1 || handlerIds.First() == nextMainHandler);
|