Explorar o código

Merge branch 'test' of http://110.188.24.182:10023/Fengwo/hotline into test

xf hai 3 meses
pai
achega
95483eafc5
Modificáronse 1 ficheiros con 13 adicións e 5 borrados
  1. 13 5
      src/Hotline.Api/Controllers/OrderController.cs

+ 13 - 5
src/Hotline.Api/Controllers/OrderController.cs

@@ -2077,11 +2077,19 @@ public class OrderController : BaseController
             try
             {
                 var workflow = dto.NextWorkflow;
-                var delay = await _orderDelayRepository.Queryable().Includes(x => x.Order).Where(x => x.Id == item).FirstAsync(HttpContext.RequestAborted);
-                workflow.WorkflowId = delay.WorkflowId;
-                var workflowEntuty = await _workflowDomainService.GetWorkflowAsync(workflow.WorkflowId, withDefine: true, withSteps: true, cancellationToken: HttpContext.RequestAborted);
-                var currentStep =
-                    workflowEntuty.Steps.FirstOrDefault(d => d.Status == EWorkflowStepStatus.WaitForAccept || d.Status == EWorkflowStepStatus.WaitForHandle);
+				if (workflow.NextHandlers.Any() && workflow.NextHandlers.Count() == 1)
+				{
+					var handler = workflow.NextHandlers.FirstOrDefault();
+					if (string.IsNullOrEmpty(handler.UserId))
+					{
+						workflow.NextHandlers = new List<FlowStepHandler>();
+					}
+				}
+				var delay = await _orderDelayRepository.Queryable().Includes(x=>x.Order).Where(x=>x.Id == item).FirstAsync(HttpContext.RequestAborted);
+				workflow.WorkflowId = delay.WorkflowId;
+				var workflowEntuty = await _workflowDomainService.GetWorkflowAsync(workflow.WorkflowId, withDefine: true, withSteps: true,cancellationToken: HttpContext.RequestAborted);
+				var currentStep =
+					workflowEntuty.Steps.FirstOrDefault(d => d.Status == EWorkflowStepStatus.WaitForAccept || d.Status == EWorkflowStepStatus.WaitForHandle);
 
                 NextStepsWithOpinionDto<NextStepOption> next = null;