xf 1 жил өмнө
parent
commit
f60cb5eec8

+ 9 - 2
src/Hotline/FlowEngine/Workflows/WorkflowDomainService.cs

@@ -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);