TANG JIANG 1 年之前
父節點
當前提交
f6ee4e51f7

+ 26 - 5
src/Sharing.Api/Controllers/HotlineMessageReceiveController.cs

@@ -396,13 +396,30 @@ namespace Sharing.Api.Controllers
         ///派单的时候,需要确定往哪里推,需要一个事件
 
         /// <summary>
-        /// 热线工单期满时间变更--服务工单受理
+        ///撤回-- 热线工单期满时间变更--服务工单受理
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
         [NonAction]
-        [CapSubscribe(Hotline.Share.Mq.EventNames.HotlineOrderExpiredTimeUpdate)]
-        public async Task OrderExpiredTimeUpdate(OrderDto dto)
+        [CapSubscribe(Hotline.Share.Mq.EventNames.HotlineOrderFlowRecalled)]
+        public async Task HotlineOrderFlowRecalled(OrderDto dto)
+        {
+            //如果不是省上派下来的工单,需要汇聚到省上
+            if (dto.Source != ESource.ProvinceStraight)
+            {
+                var submitCaseInfo = await _provinceService.InitData(dto);
+                await _mediator.Publish(new OrderCreatedNotification(submitCaseInfo));
+            }
+        }
+
+        /// <summary>
+        /// 退回--热线工单期满时间变更--服务工单受理
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [NonAction]
+        [CapSubscribe(Hotline.Share.Mq.EventNames.HotlineOrderFlowPrevious)]
+        public async Task HotlineOrderFlowPrevious(OrderDto dto)
         {
             //如果不是省上派下来的工单,需要汇聚到省上
             if (dto.Source != ESource.ProvinceStraight)
@@ -425,12 +442,12 @@ namespace Sharing.Api.Controllers
         }
 
         /// <summary>
-        /// 热线工单一级部门办理---服务工单处理--缺少附件
+        /// 热线工单办理---服务工单处理--缺少附件
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
         [NonAction]
-        [CapSubscribe(Hotline.Share.Mq.EventNames.HotlineOrderLevelOneOrgHandled)]
+        [CapSubscribe(Hotline.Share.Mq.EventNames.HotlineOrderFlowHandled)]
         public async Task SubmitCaseProcess(OrderFlowDto dto)
         {
             //判断是否是热线中心
@@ -454,6 +471,10 @@ namespace Sharing.Api.Controllers
                 //信息上报
                 await _mediator.Publish(new GetCaseProcessReceiveNotification(data));
             }
+
+            //这里判断是否需要往其他平台推送数据
+            await _provinceService.OrderDispatch(dto);
+
         }
 
         /// <summary>

+ 30 - 30
src/Sharing.Api/ProvinceService.cs

@@ -1,9 +1,7 @@
-using Hotline.Share.Dtos.File;
-using Hotline.Share.Dtos.Order;
+using Hotline.Share.Dtos.Order;
 using Hotline.Share.Enums.Order;
 using MapsterMapper;
 using MediatR;
-using Sharing.DaoShu110;
 using Sharing.DaoShu110.Dtos;
 using Sharing.DataExchange;
 using Sharing.Enterprise;
@@ -214,37 +212,39 @@ namespace Sharing.Api
         /// <returns></returns>
         public async Task OrderDispatch(OrderFlowDto dto)
         {
-            var orderDto = dto.Order;
-
-            //获取下一个接办部门
-            var nextHandler = "";
+            #region 第三方提交数据
             if (dto.WorkflowTrace.NextHandlers != null && dto.WorkflowTrace.NextHandlers.Count > 0)
             {
-                nextHandler = dto.WorkflowTrace.NextHandlers[0].Value;
-            }
-            #region 第三方提交数据--目前未做判断
-            if (!string.IsNullOrEmpty(nextHandler))
-            {
-                //需要判断是否需要往110推送
-                if (nextHandler == "市公安局110")
-                    //写入110本地数据库
-                    await InitPoliceSendChainAlarmDs(orderDto);
-
-                //需要判断是否需要往宜宾等地市州推送数据
-                if (nextHandler == "泸州12345")
-                    //市州数据提交
-                    await InitCityDataYB(orderDto);
-
-                //需要判断是否需要往企业专班提交数据
-                if (nextHandler == "企业服务专班")
-                    //企业专班提交数据
-                    await InitEnterpriseData(orderDto);
-
-                //是否向省上派单
-                if (nextHandler == "省12345平台")
-                    await SendCaseInfo(orderDto);
+                foreach (var item in dto.WorkflowTrace.NextHandlers)
+                {
+
+                    if (!string.IsNullOrEmpty(item.Value))
+                    {
+                        //需要判断是否需要往110推送
+                        if (item.Value == "市公安局110")
+                            //写入110本地数据库
+                            await InitPoliceSendChainAlarmDs(dto.Order);
+
+                        //需要判断是否需要往宜宾等地市州推送数据
+                        if (item.Value == "泸州12345")
+                            //市州数据提交
+                            await InitCityDataYB(dto.Order);
+
+                        //需要判断是否需要往企业专班提交数据
+                        if (item.Value == "企业服务专班")
+                            //企业专班提交数据
+                            await InitEnterpriseData(dto.Order);
+
+                        //是否向省上派单
+                        if (item.Value == "省12345平台")
+                            await SendCaseInfo(dto.Order);
+                    }
+                }
             }
             #endregion
+
+            //写本地办理数据
+
         }
 
         /// <summary>

+ 1 - 1
src/Sharing.Application/Sharing.Application.csproj

@@ -8,7 +8,7 @@
 
   <ItemGroup>
     <PackageReference Include="Hotline.Api.Sdk" Version="1.0.2" />
-    <PackageReference Include="Hotline.Share" Version="1.0.28" />
+    <PackageReference Include="Hotline.Share" Version="1.0.29" />
     <PackageReference Include="XF.EasyCaching" Version="1.0.0" />
   </ItemGroup>
 

+ 3 - 1
src/Sharing.ConvergenceMedia/Controllers/ConvergenceMediaController.cs

@@ -17,6 +17,7 @@ namespace Sharing.ConvergenceMedia.Controllers
 {
     public class ConvergenceMediaController : BaseController
     {
+        #region 注入
         private readonly IMapper _mapper;
         private readonly ICapPublisher _capPublisher;
         private readonly IChannelConfigurationManager _channelConfigurationManager;
@@ -46,7 +47,8 @@ namespace Sharing.ConvergenceMedia.Controllers
             _dataOrderRepository = dataOrderRepository;
             _dataOrderWorkFlowRepository = dataOrderWorkFlowRepository;
             _hotlineClient = hotlineClient;
-        }
+        } 
+        #endregion
 
         /// <summary>
         /// 2.1融媒体写信