TANG JIANG vor 1 Jahr
Ursprung
Commit
b2e8edce6c
1 geänderte Dateien mit 22 neuen und 3 gelöschten Zeilen
  1. 22 3
      src/Sharing.Api/Controllers/HotlineMessageReceiveController.cs

+ 22 - 3
src/Sharing.Api/Controllers/HotlineMessageReceiveController.cs

@@ -6,6 +6,7 @@ using MapsterMapper;
 using MediatR;
 using Microsoft.AspNetCore.Mvc;
 using Sharing.Application;
+using Sharing.DaoShu110.Dtos;
 using Sharing.Notifications.HuiJu;
 using Sharing.Notifications.Knowledge;
 using Sharing.Notifications.XieTong;
@@ -16,6 +17,7 @@ using Sharing.Province.HuiJu.Send;
 using Sharing.Province.XieTong.Knowledge;
 using Sharing.Province.XieTong.Receive;
 using Sharing.Province.XieTong.Send;
+using Sharing.Share.Enums.DaoShu110;
 using XF.Domain.Repository;
 
 namespace Sharing.Api.Controllers
@@ -53,6 +55,7 @@ namespace Sharing.Api.Controllers
         private readonly IChannelConfigurationManager _channelConfigurationManager;
         private readonly IDataOrderRepository _dataOrderRepository;
         private readonly IRepository<DataOrderWorkFlow> _dataOrderWorkFlowRepository;
+        private readonly IRepository<PoliceSendChainDealDs> _policeSendChainDealDsRepository;
 
         /// <summary>
         /// 
@@ -84,6 +87,7 @@ namespace Sharing.Api.Controllers
         /// <param name="channelConfigurationManager"></param>
         /// <param name="dataOrderRepository"></param>
         /// <param name="dataOrderWorkFlowRepository"></param>
+        /// <param name="policeSendChainDealDsRepository"></param>
         public HotlineMessageReceiveController(IMediator mediator,
           ILogger<HotlineMsgReceiver> logger,
           IMapper mapper,
@@ -110,7 +114,8 @@ namespace Sharing.Api.Controllers
           IRepository<KnowledgeRawData> knowledgeRawDataRepository,
           IChannelConfigurationManager channelConfigurationManager,
           IDataOrderRepository dataOrderRepository,
-          IRepository<DataOrderWorkFlow> dataOrderWorkFlowRepository)
+          IRepository<DataOrderWorkFlow> dataOrderWorkFlowRepository,
+          IRepository<PoliceSendChainDealDs> policeSendChainDealDsRepository)
         {
             _mediator = mediator;
             _logger = logger;
@@ -139,6 +144,7 @@ namespace Sharing.Api.Controllers
             _channelConfigurationManager = channelConfigurationManager;
             _dataOrderRepository = dataOrderRepository;
             _dataOrderWorkFlowRepository = dataOrderWorkFlowRepository;
+            _policeSendChainDealDsRepository = policeSendChainDealDsRepository;
         }
         #endregion
 
@@ -224,9 +230,22 @@ namespace Sharing.Api.Controllers
             }
 
             //处理110退回事件
-            if (dto.Order.Source==ESource.Police110)
+            if (dto.Order.Source == ESource.Police110)
             {
-
+                var checkData = await _policeSendChainDealDsRepository.AnyAsync(p => p.AlarmReceiptNumber == dto.Order.ExternalId && p.DisposalType == (int)EDisposalType.Return);
+                if (!checkData)
+                {
+                    var data = new PoliceSendChainDealDs()
+                    {
+                        ReturnName = dto.SendBack.CreatorName,
+                        ReturnUnit = dto.SendBack.CreatorOrgName,
+                        ReturnOpinion = dto.SendBack.Content,
+                        ReturnTime = dto.SendBack.CreationTime,
+                        WarehousingTime = DateTime.Now,
+                        DisposalType = 2
+                    };
+                    await _policeSendChainDealDsRepository.AddAsync(data);
+                }
             }
         }