|
@@ -36,7 +36,6 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
//private readonly IRepository<WorkflowStepHandler> _workflowStepHandlerRepository;
|
|
|
private readonly ISessionContext _sessionContext;
|
|
|
private readonly IMapper _mapper;
|
|
|
- private readonly IMediator _mediator;
|
|
|
private readonly Publisher _publisher;
|
|
|
private readonly ILogger<WorkflowDomainService> _logger;
|
|
|
private readonly IFileRepository _fileRepository;
|
|
@@ -51,7 +50,6 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
//IRepository<WorkflowStepHandler> workflowStepHandlerRepository,
|
|
|
ISessionContext sessionContext,
|
|
|
IMapper mapper,
|
|
|
- IMediator mediator,
|
|
|
Publisher publisher,
|
|
|
ILogger<WorkflowDomainService> logger,
|
|
|
IFileRepository fileRepository)
|
|
@@ -64,7 +62,6 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
//_workflowStepHandlerRepository = workflowStepHandlerRepository;
|
|
|
_sessionContext = sessionContext;
|
|
|
_mapper = mapper;
|
|
|
- _mediator = mediator;
|
|
|
_publisher = publisher;
|
|
|
_logger = logger;
|
|
|
_fileRepository = fileRepository;
|
|
@@ -108,9 +105,9 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
{
|
|
|
if (firstStepDefine.StepType is EStepType.End)
|
|
|
{
|
|
|
- await _mediator.Publish(
|
|
|
+ await _publisher.PublishAsync(
|
|
|
new StartWorkflowNotify(workflow, dto, flowAssignInfo, startStep.WorkflowTrace),
|
|
|
- cancellationToken);
|
|
|
+ PublishStrategy.ParallelNoWait, cancellationToken);
|
|
|
|
|
|
//firstStep是否为end,t: 实际办理节点为startStep, 并且handlerId赋值 f: 实际办理节点为firstStep, handlerId未赋值
|
|
|
workflow.UpdateActualStepWhenHandle(startStep,
|
|
@@ -182,7 +179,6 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
await _workflowRepository.UpdateAsync(workflow, cancellationToken);
|
|
|
|
|
|
//publish
|
|
|
- //await _mediator.Publish(new StartWorkflowNotify(workflow, dto, flowAssignInfo, trace), cancellationToken);
|
|
|
await _publisher.PublishAsync(new StartWorkflowNotify(workflow, dto, flowAssignInfo, trace),
|
|
|
PublishStrategy.ParallelNoWait, cancellationToken);
|
|
|
}
|
|
@@ -542,9 +538,9 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
- await _mediator.Publish(
|
|
|
+ await _publisher.PublishAsync(
|
|
|
new NextStepNotify(workflow, dto, flowAssignInfo, trace, nextStepDefine,
|
|
|
- current.RequiredOrgId, expiredTime.HasValue),
|
|
|
+ current.RequiredOrgId, expiredTime.HasValue), PublishStrategy.ParallelNoWait,
|
|
|
cancellationToken);
|
|
|
}
|
|
|
|
|
@@ -662,7 +658,8 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
|
|
|
await _workflowRepository.UpdateAsync(workflow, cancellationToken);
|
|
|
|
|
|
- await _mediator.Publish(new PreviousNotify(workflow, newPrevStep, dto, isOrgToCenter), cancellationToken);
|
|
|
+ await _publisher.PublishAsync(new PreviousNotify(workflow, newPrevStep, dto, isOrgToCenter),
|
|
|
+ PublishStrategy.ParallelNoWait, cancellationToken);
|
|
|
|
|
|
return GetFlowDirection(currentStep.BusinessType, prevStep.BusinessType);
|
|
|
}
|
|
@@ -1053,7 +1050,8 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
|
|
|
await _workflowRepository.UpdateAsync(workflow, cancellationToken);
|
|
|
|
|
|
- await _mediator.Publish(new RecallNotify(workflow, targetStep, dto, isOrgToCenter), cancellationToken);
|
|
|
+ await _publisher.PublishAsync(new RecallNotify(workflow, targetStep, dto, isOrgToCenter),
|
|
|
+ PublishStrategy.ParallelNoWait, cancellationToken);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -1123,7 +1121,8 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
|
|
|
var dto = _mapper.Map<RecallDto>(targetStep);
|
|
|
dto.WorkflowId = workflow.Id;
|
|
|
- await _mediator.Publish(new RecallNotify(workflow, targetStep, dto, isOrgToCenter), cancellationToken);
|
|
|
+ await _publisher.PublishAsync(new RecallNotify(workflow, targetStep, dto, isOrgToCenter),
|
|
|
+ PublishStrategy.ParallelNoWait, cancellationToken);
|
|
|
}
|
|
|
|
|
|
///// <summary>
|
|
@@ -1285,7 +1284,8 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
workflow.Terminate(dto.Opinion);
|
|
|
await _workflowRepository.UpdateAsync(workflow, cancellationToken);
|
|
|
|
|
|
- await _mediator.Publish(new TerminalWorkflowNotify(workflow), cancellationToken);
|
|
|
+ await _publisher.PublishAsync(new TerminalWorkflowNotify(workflow), PublishStrategy.ParallelNoWait,
|
|
|
+ cancellationToken);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -1386,7 +1386,8 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
var endTrace = await EndAsync(workflow, basicDto, endStepDefine, currentStep, current,
|
|
|
expiredTime, cancellationToken: cancellationToken);
|
|
|
|
|
|
- await _mediator.Publish(new CancelWorkflowNotify(workflow), cancellationToken);
|
|
|
+ await _publisher.PublishAsync(new CancelWorkflowNotify(workflow), PublishStrategy.ParallelNoWait,
|
|
|
+ cancellationToken);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -1462,7 +1463,8 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
|
|
|
await _workflowRepository.UpdateAsync(workflow, cancellationToken);
|
|
|
|
|
|
- await _mediator.Publish(new EndWorkflowNotify(workflow, endTrace, dto), cancellationToken);
|
|
|
+ await _publisher.PublishAsync(new EndWorkflowNotify(workflow, endTrace, dto),
|
|
|
+ PublishStrategy.ParallelNoWait, cancellationToken);
|
|
|
|
|
|
return endTrace;
|
|
|
}
|
|
@@ -1785,7 +1787,8 @@ namespace Hotline.FlowEngine.Workflows
|
|
|
//create trace
|
|
|
await CreateTraceAsync(workflow, countersignEndStep, EWorkflowTraceType.Normal, cancellationToken);
|
|
|
|
|
|
- await _mediator.Publish(new CountersignEndAssigned(workflow), cancellationToken);
|
|
|
+ await _publisher.PublishAsync(new CountersignEndAssigned(workflow), PublishStrategy.ParallelNoWait,
|
|
|
+ cancellationToken);
|
|
|
//}
|
|
|
|
|
|
return nextSteps;
|