123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- using Hotline.Caching.Interfaces;
- using Hotline.FlowEngine.Workflows;
- using Hotline.Share.Dtos.FlowEngine.Workflow;
- using Hotline.Share.Enums.FlowEngine;
- using XF.Domain.Exceptions;
- namespace Hotline.Tests.Domain.Workflow;
- public class WorkflowDomainServiceTest
- {
- private readonly IWorkflowDomainService _workflowDomainService;
- private readonly IWfModuleCacheManager _wfModuleCacheManager;
- public WorkflowDomainServiceTest(
- IWorkflowDomainService workflowDomainService,
- IWfModuleCacheManager wfModuleCacheManager)
- {
- _workflowDomainService = workflowDomainService;
- _wfModuleCacheManager = wfModuleCacheManager;
- }
-
- public async Task StartAsyncTest(string definitionModuleCode)
- {
- var wfModule = await _wfModuleCacheManager.GetWorkflowModuleAsync(definitionModuleCode, default);
- if (wfModule == null)
- throw UserFriendlyException.SameMessage("无效流程模块编码");
- if (wfModule.Definition is null)
- throw new UserFriendlyException($"{definitionModuleCode} 未配置流程模板", "未配置流程模板");
- var definition = wfModule.Definition;
- if (definition == null)
- throw new UserFriendlyException("无效模板编码");
- if (definition.Status is not EDefinitionStatus.Enable)
- throw new UserFriendlyException("该模板不可用");
- //如果发起会签需检查是否支持发起会签
- var startStepDefine = definition.FindStartStepDefine();
- var nextStep = definition.FindStepDefine(startStepDefine.NextSteps.First().Code);
- //StartWorkflowDto dto, string externalId,DateTime? expiredTime = null,
- var dto = new StartWorkflowDto
- {
- DefinitionModuleCode = definitionModuleCode,
- Title = "测试流程开启",
- NextStepCode = nextStep.Code,
- NextStepName = nextStep.Name,
-
- };
- //_workflowDomainService.StartAsync()
- }
- }
|