|
@@ -3,6 +3,7 @@ using Hotline.Application.FlowEngine;
|
|
|
using Hotline.Application.Orders;
|
|
|
using Hotline.Application.Quality;
|
|
|
using Hotline.Authentications;
|
|
|
+using Hotline.Caching.Interfaces;
|
|
|
using Hotline.File;
|
|
|
using Hotline.FlowEngine.WorkflowModules;
|
|
|
using Hotline.FlowEngine.Workflows;
|
|
@@ -22,6 +23,7 @@ using Hotline.Share.Enums.Quality;
|
|
|
using Hotline.Share.Mq;
|
|
|
using MapsterMapper;
|
|
|
using StackExchange.Redis;
|
|
|
+using XF.Domain.Constants;
|
|
|
using XF.Domain.Dependency;
|
|
|
using XF.Domain.Exceptions;
|
|
|
using XF.Domain.Repository;
|
|
@@ -57,6 +59,7 @@ namespace Hotline.Application.Subscribers
|
|
|
private readonly IRepository<OrderComplement> _orderComplementRepository;
|
|
|
private readonly ITimeLimitDomainService _timeLimitDomainService;
|
|
|
private readonly IOrderApplication _orderApplication;
|
|
|
+ private readonly ISystemSettingCacheManager _systemSettingCacheManager;
|
|
|
|
|
|
public DataSharingSubscriber(
|
|
|
IRepository<OrderVisit> orderVisitRepository,
|
|
@@ -82,7 +85,8 @@ namespace Hotline.Application.Subscribers
|
|
|
IRepository<Workflow> workflowRepository,
|
|
|
IRepository<OrderComplement> orderComplementRepository,
|
|
|
ITimeLimitDomainService timeLimitDomainService,
|
|
|
- IOrderApplication orderApplication
|
|
|
+ IOrderApplication orderApplication,
|
|
|
+ ISystemSettingCacheManager systemSettingCacheManager
|
|
|
)
|
|
|
{
|
|
|
_orderSendBackRepository = orderSendBackRepository;
|
|
@@ -108,6 +112,7 @@ namespace Hotline.Application.Subscribers
|
|
|
_orderComplementRepository = orderComplementRepository;
|
|
|
_timeLimitDomainService = timeLimitDomainService;
|
|
|
_orderApplication = orderApplication;
|
|
|
+ _systemSettingCacheManager = systemSettingCacheManager;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -721,5 +726,31 @@ namespace Hotline.Application.Subscribers
|
|
|
{
|
|
|
await _transpondCityRawDataRepository.AddAsync(_mapper.Map<TranspondCityRawData>(dto), cancellationToken);
|
|
|
}
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 接收市州互转办理结果
|
|
|
+ /// </summary>
|
|
|
+ [CapSubscribe(EventNames.SharingOrderReceiveHandleOpinionTranspondCity)]
|
|
|
+ public async Task RecTranspondCityReceiveResultAsync(TranspondCityOrderResultDto dto, CancellationToken cancellationToken)
|
|
|
+ {
|
|
|
+ var cityDataUndertakAdvice = _systemSettingCacheManager.GetSetting(SettingConstants.CityDataUndertakAdvice)?.SettingValue[0];
|
|
|
+ if (cityDataUndertakAdvice == "true")
|
|
|
+ {
|
|
|
+ var order = await _orderRepository.GetAsync(p => p.No == dto.No, cancellationToken);
|
|
|
+ if (order != null)
|
|
|
+ {
|
|
|
+ order.ActualOpinion = dto.Opinion;
|
|
|
+ await _orderRepository.UpdateAsync(order, cancellationToken);
|
|
|
+ //后面还需要处理流程中的意见
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //修改推送数据办理结果
|
|
|
+ var data = await _transpondCityRawDataRepository.GetAsync(p => p.OrderCode == dto.No && p.Direction == ETranspondDirection.Out, cancellationToken);
|
|
|
+ if (data != null)
|
|
|
+ {
|
|
|
+ data.ActualOpinion = dto.Opinion;
|
|
|
+ await _transpondCityRawDataRepository.UpdateAsync(data, cancellationToken);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|