|
@@ -6,6 +6,7 @@ using Hotline.FlowEngine.Notifications;
|
|
using Hotline.FlowEngine.WorkflowModules;
|
|
using Hotline.FlowEngine.WorkflowModules;
|
|
using Hotline.KnowledgeBase;
|
|
using Hotline.KnowledgeBase;
|
|
using Hotline.Orders;
|
|
using Hotline.Orders;
|
|
|
|
+using Hotline.Repository.SqlSugar.Knowledge;
|
|
using Hotline.Settings.TimeLimits;
|
|
using Hotline.Settings.TimeLimits;
|
|
using Hotline.Share.Dtos;
|
|
using Hotline.Share.Dtos;
|
|
using Hotline.Share.Dtos.FlowEngine.Workflow;
|
|
using Hotline.Share.Dtos.FlowEngine.Workflow;
|
|
@@ -44,6 +45,7 @@ public class WorkflowEndHandler : INotificationHandler<EndWorkflowNotify>
|
|
private readonly IMediator _mediator;
|
|
private readonly IMediator _mediator;
|
|
private readonly ILogger<WorkflowEndHandler> _logger;
|
|
private readonly ILogger<WorkflowEndHandler> _logger;
|
|
private readonly IKnowledgeRepository _knowledgeRepository;
|
|
private readonly IKnowledgeRepository _knowledgeRepository;
|
|
|
|
+ private readonly IKnowledgeWorkFlowRepository _knowledgeWorkFlowRepository;
|
|
|
|
|
|
public WorkflowEndHandler(
|
|
public WorkflowEndHandler(
|
|
IKnowledgeDomainService knowledgeDomainService,
|
|
IKnowledgeDomainService knowledgeDomainService,
|
|
@@ -66,6 +68,7 @@ public class WorkflowEndHandler : INotificationHandler<EndWorkflowNotify>
|
|
ITimeLimitDomainService timeLimitDomainService,
|
|
ITimeLimitDomainService timeLimitDomainService,
|
|
IMediator mediator,
|
|
IMediator mediator,
|
|
IKnowledgeRepository knowledgeRepository,
|
|
IKnowledgeRepository knowledgeRepository,
|
|
|
|
+ IKnowledgeWorkFlowRepository knowledgeWorkFlowRepository,
|
|
ILogger<WorkflowEndHandler> logger)
|
|
ILogger<WorkflowEndHandler> logger)
|
|
{
|
|
{
|
|
_knowledgeDomainService = knowledgeDomainService;
|
|
_knowledgeDomainService = knowledgeDomainService;
|
|
@@ -88,6 +91,7 @@ public class WorkflowEndHandler : INotificationHandler<EndWorkflowNotify>
|
|
_mediator = mediator;
|
|
_mediator = mediator;
|
|
_logger = logger;
|
|
_logger = logger;
|
|
_knowledgeRepository = knowledgeRepository;
|
|
_knowledgeRepository = knowledgeRepository;
|
|
|
|
+ _knowledgeWorkFlowRepository = knowledgeWorkFlowRepository;
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>Handles a notification</summary>
|
|
/// <summary>Handles a notification</summary>
|
|
@@ -104,8 +108,9 @@ public class WorkflowEndHandler : INotificationHandler<EndWorkflowNotify>
|
|
case WorkflowModuleConsts.KnowledgeAdd://新增知识库
|
|
case WorkflowModuleConsts.KnowledgeAdd://新增知识库
|
|
case WorkflowModuleConsts.KnowledgeUpdate://修改知识库
|
|
case WorkflowModuleConsts.KnowledgeUpdate://修改知识库
|
|
case WorkflowModuleConsts.KnowledgeDelete://删除知识库
|
|
case WorkflowModuleConsts.KnowledgeDelete://删除知识库
|
|
- var knowledge = await _knowledgeRepository.Queryable().Where(x => x.Id == workflow.ExternalId).FirstAsync(cancellationToken);
|
|
|
|
- knowledge.Flowed(workflow.FlowedUserIds, workflow.FlowedOrgIds, workflow.HandlerUsers, workflow.HandlerOrgs);
|
|
|
|
|
|
+ var knowledgeWork = await _knowledgeWorkFlowRepository.Queryable().Where(x => x.Id == workflow.ExternalId).FirstAsync(cancellationToken);
|
|
|
|
+ var knowledge = await _knowledgeRepository.Queryable().Where(x => x.Id == knowledgeWork.KnowledgeId).FirstAsync(cancellationToken);
|
|
|
|
+ knowledge.Flowed(workflow.FlowedUserIds, workflow.FlowedOrgIds, workflow.HandlerUsers, workflow.HandlerOrgs);
|
|
await _knowledgeRepository.UpdateAsync(knowledge, cancellationToken);
|
|
await _knowledgeRepository.UpdateAsync(knowledge, cancellationToken);
|
|
if (isReviewPass)
|
|
if (isReviewPass)
|
|
{
|
|
{
|