Procházet zdrojové kódy

新增市州互转中办理结果的推送

tangjiang před 10 měsíci
rodič
revize
aadd9d098d

+ 32 - 1
src/Hotline.Application/Subscribers/DatasharingSubscriber.cs

@@ -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);
+            }
+        }
     }
 }

+ 12 - 2
src/Hotline.Share/Dtos/OrderTranspond/TranspondCityRawDataDto.cs

@@ -42,12 +42,22 @@ namespace Hotline.Share.Dtos.OrderTranspond
         /// <summary>
         /// 接收方工单编号
         /// </summary>
-        public string NewCode { get; set; }
+        public string? NewCode { get; set; }
 
         /// <summary>
         /// 市州办理意见
         /// </summary>
-        public string ActualOpinion { get; set; }
+        public string? ActualOpinion { get; set; }
 
     }
+
+    /// <summary>
+    /// 
+    /// </summary>
+    public class TranspondCityOrderResultDto
+    {
+        public string No { get; set; }
+
+        public string Opinion { get; set; }
+    }
 }

+ 1 - 1
src/Hotline.Share/Hotline.Share.csproj

@@ -7,7 +7,7 @@
     <GenerateDocumentationFile>True</GenerateDocumentationFile>
     <NoWarn>$(NoWarn);1591;8618;</NoWarn>
     <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
-    <Version>1.0.78</Version>
+    <Version>1.0.79</Version>
   </PropertyGroup>
 
   <ItemGroup>

+ 5 - 0
src/XF.Domain/Constants/SettingConstants.cs

@@ -231,6 +231,11 @@ namespace XF.Domain.Constants
         /// 不参与会签的部门
         /// </summary>
         public const string NoSignOrgCode = "NoSignOrgCode";
+
+        /// <summary>
+        /// 市州互转是否接收办理结果
+        /// </summary>
+        public const string CityDataUndertakAdvice = "CityDataUndertakAdvice";
         #region 智能外呼
 
         #region 智能回访