TANG JIANG 1 jaar geleden
bovenliggende
commit
9aaeb967c1
2 gewijzigde bestanden met toevoegingen van 415 en 339 verwijderingen
  1. 369 339
      src/DataSharing.Application/Receivers/ProvinceReceiver.cs
  2. 46 0
      src/DataSharing.Share/Enums/EMaterialType.cs

+ 369 - 339
src/DataSharing.Application/Receivers/ProvinceReceiver.cs

@@ -1,4 +1,5 @@
 using DataSharing.DaoShu110;
+using DataSharing.SendTask;
 using DataSharing.Share.Dtos;
 using DataSharing.Share.Dtos.Enterprise;
 using DataSharing.Share.Dtos.Province.Extend;
@@ -14,13 +15,11 @@ using Hotline.Share.Enums.FlowEngine;
 using Hotline.Share.Enums.Order;
 using MapsterMapper;
 using Microsoft.Extensions.Logging;
-using Sharing.Province.Dtos.HuiJu.Send;
 using System.Security.Cryptography;
 using System.Text;
-using DataSharing.SendTask;
 using XF.Domain.Dependency;
 using XF.Domain.Repository;
-using SubmitCaseExtendsInfo = DataSharing.Share.Dtos.Province.HuiJu.SubmitCaseExtendsInfo;
+using static System.Runtime.InteropServices.JavaScript.JSType;
 
 namespace DataSharing.Application.Receivers
 {
@@ -74,7 +73,7 @@ namespace DataSharing.Application.Receivers
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        public async Task GetCaseBackApply(PublishOrderSendBackDto dto, CancellationToken cancellationToken)
+        public async Task GetCaseBackApplyAsync(PublishOrderSendBackDto dto, CancellationToken cancellationToken)
         {
             //处理110退回事件
             if (dto.Order.Source == ESource.Police110)
@@ -104,13 +103,13 @@ namespace DataSharing.Application.Receivers
             if (dto.Order.Source == ESource.ProvinceStraight)
             {
                 var data = _mapper.Map<GetCaseBackApplyInfo>(dto);
-                data.CliengGuid = Guid.NewGuid().ToString();
+                data.CliengGuid = dto.SendBack.Id;
 
                 //将待推送数据写入待推送表
                 await InitPushDataAsync("GetCaseBackApply", "get_case_back_apply", System.Text.Json.JsonSerializer.Serialize(data), cancellationToken);
 
                 //处理附件
-                //  await FileData(dto.SendBack.FileJson, dto.Order.ProvinceNo, data.CliengGuid, dto.Order.AreaCode, cancellationToken);
+                await FileDataAsync(dto.SendBack.FileJson, dto.Order.ProvinceNo, data.CliengGuid, EMaterialType.Process, dto.Order.AreaCode, cancellationToken);
             }
         }
 
@@ -119,7 +118,7 @@ namespace DataSharing.Application.Receivers
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        public async Task SendSuperviseProcessInfo(PublishSuperviseDto dto, CancellationToken cancellationToken)
+        public async Task SendSuperviseProcessInfoAsync(PublishSuperviseDto dto, CancellationToken cancellationToken)
         {
             //工单是省上派下来的,才能进行督办回复
             if (dto.Order.Source == ESource.ProvinceStraight && dto.Order.IsProvince)
@@ -135,18 +134,18 @@ namespace DataSharing.Application.Receivers
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        public async Task SendSuperviseResultInfo(PublishSuperviseDto dto, CancellationToken cancellationToken)
+        public async Task SendSuperviseResultInfoAsync(PublishSuperviseDto dto, CancellationToken cancellationToken)
         {
             //工单是省上派下来的,才能进行督办回复
             if (dto.Order.Source == ESource.ProvinceStraight && dto.Order.IsProvince)
             {
                 var data = _mapper.Map<SendSuperviseResultInfo>(dto);
-                data.CliengGuid = Guid.NewGuid().ToString();
+                data.CliengGuid = dto.Supervise.Id;
 
                 //将待推送数据写入待推送表
                 await InitPushDataAsync("SendSuperviseResultInfo", "send_supervise_result_info", System.Text.Json.JsonSerializer.Serialize(data), cancellationToken);
                 //处理附件
-                // await FileData(dto.Supervise.FileJson, dto.Order.ProvinceNo, data.CliengGuid, dto.Order.AreaCode, cancellationToken);
+                await FileDataAsync(dto.Supervise.FileJson, dto.Order.ProvinceNo, data.CliengGuid, EMaterialType.Supervise, dto.Order.AreaCode, cancellationToken);
 
             }
         }
@@ -156,13 +155,13 @@ namespace DataSharing.Application.Receivers
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        public async Task ScreenCaseInfoSend(PublishScreenDto dto, CancellationToken cancellationToken)
+        public async Task ScreenCaseInfoSendAsync(PublishScreenDto dto, CancellationToken cancellationToken)
         {
             //如果是省上派下来的工单,才能调发起甄别的接口
             if (dto.Order.Source == ESource.ProvinceStraight && dto.Order.IsProvince)
             {
                 var data = _mapper.Map<ScreenCaseInfoSendInfo>(dto);
-                data.CliengGuid = Guid.NewGuid().ToString();
+                data.CliengGuid =dto.Screen.Id;
                 data.ApplyType = dto.Screen.TypeDicName switch
                 {
                     "违反法律法规" => "10",
@@ -173,7 +172,7 @@ namespace DataSharing.Application.Receivers
                 //将待推送数据写入待推送表
                 await InitPushDataAsync("ScreenCaseInfoSend", "screen_case_info_send", System.Text.Json.JsonSerializer.Serialize(data), cancellationToken);
                 //处理附件
-                //   await FileData(dto.Screen.FileJson, dto.Order.ProvinceNo, data.CliengGuid, dto.Order.AreaCode, cancellationToken);
+                await FileDataAsync(dto.Screen.FileJson, dto.Order.ProvinceNo, data.CliengGuid, EMaterialType.Process, dto.Order.AreaCode, cancellationToken);
             }
         }
 
@@ -182,17 +181,17 @@ namespace DataSharing.Application.Receivers
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        public async Task DelayCaseInfoSend(PublishOrderDelayDto dto, CancellationToken cancellationToken)
+        public async Task DelayCaseInfoSendAsync(PublishOrderDelayDto dto, CancellationToken cancellationToken)
         {
             var data = _mapper.Map<DelayCaseInfoSendInfo>(dto);
-            data.CliengGuid = Guid.NewGuid().ToString();
+            data.CliengGuid = dto.Id;
             data.ApplyType = "1";
 
             //将待推送数据写入待推送表
             await InitPushDataAsync("DelayCaseInfoSend", "delay_case_info_send", System.Text.Json.JsonSerializer.Serialize(data), cancellationToken);
 
             //处理附件
-            //    await FileData(dto.FileJson, data.CaseSerial, data.CliengGuid, data.AreaCode, cancellationToken);
+            await FileDataAsync(dto.FileJson, data.CaseSerial, data.CliengGuid, EMaterialType.Process, data.AreaCode, cancellationToken);
         }
 
         #endregion
@@ -204,17 +203,17 @@ namespace DataSharing.Application.Receivers
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        public async Task OrderFlowStarted(OrderDto dto, CancellationToken cancellationToken)
+        public async Task OrderFlowStartedAsync(OrderDto dto, CancellationToken cancellationToken)
         {
             //如果不是省上派下来的工单,需要汇聚到省上
             if (!dto.IsProvince)
             {
-                var data = await InitData(dto, cancellationToken);
+                var data = await InitDataAsync(dto, cancellationToken);
 
                 //将待推送数据写入待推送表
-                await InitPushDataAsync("SubmitCaseInfo", "submit_case_info", System.Text.Json.JsonSerializer.Serialize(data), cancellationToken, TaskPriority: 10);
+                await InitPushDataAsync("SubmitCaseInfo", "submit_case_info", System.Text.Json.JsonSerializer.Serialize(data), cancellationToken, taskPriority: 10);
                 //处理附件
-                //    await FileData(dto.FileJson, submitCaseInfo.CaseSerial, submitCaseInfo.CliengGuid, submitCaseInfo.AreaCode, cancellationToken);
+                await FileDataAsync(dto.FileJson, dto.ProvinceNo, data.CliengGuid, EMaterialType.Acceptance, data.AreaCode, cancellationToken);
             }
 
             //本地保存工单基础数据
@@ -244,7 +243,7 @@ namespace DataSharing.Application.Receivers
                     AllDuration = 0,
                     IsProvince = false,
                     HandleState = "办理中",
-                    FileJson = _mapper.Map<List<DataSharing.Share.Dtos.FileJson>>(dto.FileJson)
+                    FileJson = _mapper.Map<List<FileJson>>(dto.FileJson)
                 };
 
                 await _dsOrderRepository.AddAsync(dataOrder, cancellationToken);
@@ -256,15 +255,15 @@ namespace DataSharing.Application.Receivers
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        public async Task HotlineOrderFlowRecalled(OrderDto dto, CancellationToken cancellationToken)
+        public async Task HotlineOrderFlowRecalledAsync(OrderDto dto, CancellationToken cancellationToken)
         {
             //如果不是省上派下来的工单,需要汇聚到省上
             if (!dto.IsProvince)
             {
-                var data = await InitData(dto, cancellationToken);
+                var data = await InitDataAsync(dto, cancellationToken);
 
                 //将待推送数据写入待推送表
-                await InitPushDataAsync("SubmitCaseInfo", "submit_case_info", System.Text.Json.JsonSerializer.Serialize(data), cancellationToken, TaskPriority: 10);
+                await InitPushDataAsync("SubmitCaseInfo", "submit_case_info", System.Text.Json.JsonSerializer.Serialize(data), cancellationToken, taskPriority: 10);
 
             }
         }
@@ -274,7 +273,7 @@ namespace DataSharing.Application.Receivers
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        public async Task SubmitCaseProcess(OrderFlowDto dto, CancellationToken cancellationToken)
+        public async Task SubmitCaseProcessAsync(OrderFlowDto dto, CancellationToken cancellationToken)
         {
             //判断是否是热线中心
             if (!string.IsNullOrEmpty(dto.Order.ActualHandleOrgCode))
@@ -307,16 +306,16 @@ namespace DataSharing.Application.Receivers
                 await InitPushDataAsync("GetCaseProcessReceive", "get_case_process_receive", System.Text.Json.JsonSerializer.Serialize(data), cancellationToken);
 
                 //处理附件
-                //await FileData(dto.WorkflowTrace.FileJson, data.CaseSerial, data.CliengGuid, dto.Order.AreaCode, cancellationToken);
+                await FileDataAsync(dto.WorkflowTrace.FileJson, dto.Order.ProvinceNo, data.CliengGuid, EMaterialType.Process, dto.Order.AreaCode, cancellationToken);
             }
             else  //如果不是省上派下来的工单
             {
                 //期满时间变更,重新推送数据
                 if (dto.ExpiredTimeChanged)
                 {
-                    var submitCaseInfo = await InitData(dto.Order, cancellationToken);
+                    var submitCaseInfo = await InitDataAsync(dto.Order, cancellationToken);
                     //将待推送数据写入待推送表
-                    await InitPushDataAsync("SubmitCaseInfo", "submit_case_info", System.Text.Json.JsonSerializer.Serialize(submitCaseInfo), cancellationToken, TaskPriority: 10);
+                    await InitPushDataAsync("SubmitCaseInfo", "submit_case_info", System.Text.Json.JsonSerializer.Serialize(submitCaseInfo), cancellationToken, taskPriority: 10);
 
                 }
                 //本地工单走市州接口
@@ -327,11 +326,11 @@ namespace DataSharing.Application.Receivers
                 await InitPushDataAsync("SubmitCaseProcess", "submit_case_process", System.Text.Json.JsonSerializer.Serialize(data), cancellationToken);
 
                 //处理附件
-                //await FileData(dto.WorkflowTrace.FileJson, data.CaseSerial, data.CliengGuid, dto.Order.AreaCode, cancellationToken);
+                await FileDataAsync(dto.WorkflowTrace.FileJson, dto.Order.ProvinceNo, data.CliengGuid, EMaterialType.Process, dto.Order.AreaCode, cancellationToken);
             }
 
             //这里判断是否需要往其他平台推送数据
-            await OrderDispatch(dto, cancellationToken);
+            await OrderDispatchAsync(dto, cancellationToken);
         }
 
         /// <summary>
@@ -339,9 +338,9 @@ namespace DataSharing.Application.Receivers
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        public async Task SubmitVisitInfo(PublishVisitDto dto, CancellationToken cancellationToken)
+        public async Task SubmitVisitInfoAsync(PublishVisitDto dto, CancellationToken cancellationToken)
         {
-            await SubmitVisitInfoData(dto, cancellationToken);
+            await SubmitVisitInfoDataAsync(dto, cancellationToken);
         }
 
         /// <summary>
@@ -349,9 +348,9 @@ namespace DataSharing.Application.Receivers
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        public async Task SubmitOrderScreenSuccess(PublishVisitDto dto, CancellationToken cancellationToken)
+        public async Task SubmitOrderScreenSuccessAsync(PublishVisitDto dto, CancellationToken cancellationToken)
         {
-            await SubmitVisitInfoData(dto, cancellationToken);
+            await SubmitVisitInfoDataAsync(dto, cancellationToken);
         }
 
         /// <summary>
@@ -359,7 +358,7 @@ namespace DataSharing.Application.Receivers
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        public async Task OrderFiled(OrderFlowDto dto, CancellationToken cancellationToken)
+        public async Task OrderFiledAsync(OrderFlowDto dto, CancellationToken cancellationToken)
         {
             //判断是否是热线中心
             if (!string.IsNullOrEmpty(dto.Order.ActualHandleOrgCode))
@@ -372,13 +371,13 @@ namespace DataSharing.Application.Receivers
             //IsProvince 如果是false 则推送服务工单受理
             if (dto != null && dto.Order != null && !dto.Order.IsProvince)
             {
-                var data = await InitData(dto.Order, cancellationToken);
+                var data = await InitDataAsync(dto.Order, cancellationToken);
 
                 //将待推送数据写入待推送表
-                await InitPushDataAsync("SubmitCaseInfo", "submit_case_info", System.Text.Json.JsonSerializer.Serialize(data), cancellationToken, TaskPriority: 10);
+                await InitPushDataAsync("SubmitCaseInfo", "submit_case_info", System.Text.Json.JsonSerializer.Serialize(data), cancellationToken, taskPriority: 10);
 
                 //推送服务工单结果信息-组装110数据
-                await SubmitCaseResult(dto, cancellationToken);
+                await SubmitCaseResultAsync(dto, cancellationToken);
             }
 
             //修改工单基础数据
@@ -399,7 +398,7 @@ namespace DataSharing.Application.Receivers
         /// </summary>
         /// <param name="dtos"></param>
         /// <returns></returns>
-        public async Task SubmitCaseRecord(List<CallConnectOrderDto> dtos, CancellationToken cancellationToken)
+        public async Task SubmitCaseRecordAsync(List<CallConnectOrderDto> dtos, CancellationToken cancellationToken)
         {
             List<SubmitCaseRecordInfo> recordList = new();
             foreach (var item in dtos)
@@ -411,7 +410,7 @@ namespace DataSharing.Application.Receivers
                     data.CaseSerial = item.Order.ProvinceNo;
 
                 //将待推送数据写入待推送表
-                await InitPushDataAsync("SubmitCaseRecord", "submit_case_record", System.Text.Json.JsonSerializer.Serialize(data), cancellationToken, TaskPriority: 20);
+                await InitPushDataAsync("SubmitCaseRecord", "submit_case_record", System.Text.Json.JsonSerializer.Serialize(data), cancellationToken, taskPriority: 20);
 
             }
         }
@@ -421,14 +420,14 @@ namespace DataSharing.Application.Receivers
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        public async Task SubmitCaseRecordOrder(CallConnectOrderDto dto, CancellationToken cancellationToken)
+        public async Task SubmitCaseRecordOrderAsync(CallConnectOrderDto dto, CancellationToken cancellationToken)
         {
             var data = _mapper.Map<SubmitCaseRecordInfo>(dto);
             data.AreaCode = _channelConfigurationManager.GetConfigurationCityCode().AreaCode;
             data.CaseSerial = dto.Order.ProvinceNo;
 
             //将待推送数据写入待推送表
-            await InitPushDataAsync("SubmitCaseRecord", "submit_case_record", System.Text.Json.JsonSerializer.Serialize(data), cancellationToken, TaskPriority: 20);
+            await InitPushDataAsync("SubmitCaseRecord", "submit_case_record", System.Text.Json.JsonSerializer.Serialize(data), cancellationToken, taskPriority: 20);
 
         }
 
@@ -437,7 +436,7 @@ namespace DataSharing.Application.Receivers
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        public async Task SubmitCaseTotal(SubmitCaseTotalInfo dto, CancellationToken cancellationToken)
+        public async Task SubmitCaseTotalAsync(SubmitCaseTotalInfo dto, CancellationToken cancellationToken)
         {
             //将待推送数据写入待推送表
             await InitPushDataAsync("SubmitCaseTotal", "submit_case_total", System.Text.Json.JsonSerializer.Serialize(dto), cancellationToken);
@@ -452,7 +451,7 @@ namespace DataSharing.Application.Receivers
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        public async Task SupplyCaseInfoSend(SupplyCaseInfoSendInfo dto, CancellationToken cancellationToken)
+        public async Task SupplyCaseInfoSendAsync(SupplyCaseInfoSendInfo dto, CancellationToken cancellationToken)
         {
             dto.AreaCode = _channelConfigurationManager.GetConfigurationCityCode().AreaCode;
             dto.CliengGuid = Guid.NewGuid().ToString();
@@ -461,7 +460,7 @@ namespace DataSharing.Application.Receivers
             await InitPushDataAsync("SupplyCaseInfoSend", "supply_case_info_send", System.Text.Json.JsonSerializer.Serialize(dto), cancellationToken);
 
             //处理附件
-            // await FileData(new List<FileJson>(), dto.CaseSerial, data.CliengGuid, dto.AreaCode, cancellationToken);
+            await FileDataAsync(null, dto.CaseSerial, dto.CliengGuid, EMaterialType.Process, dto.AreaCode, cancellationToken);
         }
 
         /// <summary>
@@ -470,7 +469,7 @@ namespace DataSharing.Application.Receivers
         /// <param name="dto"></param>
         /// <param name="cancellationToken"></param>
         /// <returns></returns>
-        public async Task RevokeOrder(PublishSpecialDto dto, CancellationToken cancellationToken)
+        public async Task RevokeOrderAsync(PublishSpecialDto dto, CancellationToken cancellationToken)
         {
             //企业服务
             if (dto.Order.CurrentHandleOrgCode == "001180")
@@ -482,7 +481,7 @@ namespace DataSharing.Application.Receivers
                 };
 
                 //将待推送数据写入待推送表
-                await InitPushDataAsync("EnterpriseCancelWorkOrder", "platform/12345/cancelWorkOrder", System.Text.Json.JsonSerializer.Serialize(dsDataWork), cancellationToken, PlatformSource: EPlatformSource.Enterprise);
+                await InitPushDataAsync("EnterpriseCancelWorkOrder", "platform/12345/cancelWorkOrder", System.Text.Json.JsonSerializer.Serialize(dsDataWork), cancellationToken, platformSource: EPlatformSource.Enterprise);
             }
 
             //省12345
@@ -510,7 +509,7 @@ namespace DataSharing.Application.Receivers
                 //将待推送数据写入待推送表
                 await InitPushDataAsync("SendRevokeCaseInfo", "revoke_case_info", System.Text.Json.JsonSerializer.Serialize(dsRevoke), cancellationToken);
 
-                //  await FileData(dto.Special.FileJson, dsRevoke.CaseSerial, dsRevoke.CliengGuid, dsRevoke.AreaCode, cancellationToken);
+                await FileDataAsync(dto.Special.FileJson, dto.Order.ProvinceNo, dsRevoke.CliengGuid, EMaterialType.Process, dto.Order.AreaCode, cancellationToken);
             }
         }
 
@@ -519,7 +518,7 @@ namespace DataSharing.Application.Receivers
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        public async Task SendRemindCaseInfo(PublishUrgeDto dto, CancellationToken cancellationToken)
+        public async Task SendRemindCaseInfoAsync(PublishUrgeDto dto, CancellationToken cancellationToken)
         {
             //被催办部门为省上,才能调用接口
             if (dto.Urge.OrgName == "")
@@ -531,10 +530,83 @@ namespace DataSharing.Application.Receivers
                 await InitPushDataAsync("SendRemindCaseInfo", "remind_case_info", System.Text.Json.JsonSerializer.Serialize(data), cancellationToken);
 
                 //处理附件
-                // await FileData(dto.Urge.FileJson, dto.Order.ProvinceNo, data.CliengGuid, dto.Order.AreaCode, cancellationToken);
+                await FileDataAsync(dto.Urge.FileJson, dto.Order.ProvinceNo, data.CliengGuid, EMaterialType.Process, dto.Order.AreaCode, cancellationToken);
             }
         }
 
+        /// <summary>
+        /// 接收发布数据
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        //[CapSubscribe(EventNames.HotlineOrderFlowStarted)]
+        public async Task PublishOrderAsync(PublishPublishOrderDto dto, CancellationToken cancellationToken)
+        {
+            if (dto.Order.IsProvince && dto.Order.Source == ESource.ProvinceStraight)
+            {
+                #region 服务工单交办处理结果
+                //判断是否是热线中心
+                if (!string.IsNullOrEmpty(dto.Order.ActualHandleOrgCode) && dto.Order.ActualHandleOrgCode.Substring(0, 3) == "001")
+                    dto.Order.ActualHandleOrgName = "热线中心";
+
+                var data = _mapper.Map<GetCaseResultReceiveInfo>(dto.Order);
+                data.ConcactType = "40";
+                data.FinishType = "1";
+                data.HandleTimeLong = (decimal)dto.Order.AllDuration;
+                switch (dto.Order.RealCommunicationMode)
+                {
+                    case ERealCommunicationMode.Phone:
+                        data.ConcactType = "10";
+                        break;
+                    case ERealCommunicationMode.Locale:
+                        data.ConcactType = "20";
+                        break;
+                    default:
+                        data.ConcactType = "40";
+                        break;
+                }
+                data.CliengGuid = Guid.NewGuid().ToString();
+
+                //中国政府网的数据处理
+                if (dto.Order.SourceChannelCode == "ZGZFW")
+                {
+                    data.Notes = "无";
+                    data.MsgOpenByArea = dto.ProPublishState == true ? "1" : "0";
+                    data.AreaNotPublicReason = dto.NoPubReason;
+                    data.FeedBackAnswerContent = dto.ArrangeOpinion;
+                    data.FeedBackTel = dto.FeedBackPhone;
+                    data.EventType = "";
+                    data.Eventname = "";
+                    data.ContactFlag = "1";
+                    data.AssessFlag = "1";
+                    data.AssessOpinion = "1";
+                    data.AssessContent = "";
+                }
+
+                await InitPushDataAsync("GetCaseResultReceive", "get_case_result_receive", System.Text.Json.JsonSerializer.Serialize(data), cancellationToken);
+
+                //处理附件
+                await FileDataAsync(null, dto.Order.ProvinceNo, data.CliengGuid, EMaterialType.Result, dto.Order.AreaCode, cancellationToken);
+                #endregion
+            }
+
+            //政民互动提交公开
+            if (dto.Order.SourceChannelCode == "ZMHD")
+            {
+                var data = _mapper.Map<ZmhdCaseInfoPublicInfo>(dto);
+                //将待推送数据写入待推送表
+                await InitPushDataAsync("ZmhdCaseInfoPublic", "zmhd_case_info_public", System.Text.Json.JsonSerializer.Serialize(data), cancellationToken);
+            }
+
+            //工单基础数据修改为可以评价
+            var dataOrder = await _dsOrderRepository.GetAsync(p => p.OrderId == dto.Order.Id, cancellationToken);
+            if (dataOrder != null)
+            {
+                dataOrder.VisitTypeState = EVisitTypeState.Visit;
+                await _dsOrderRepository.UpdateAsync(dataOrder, cancellationToken);
+            }
+        }
         #endregion
 
         #region 协同-第四批次
@@ -545,7 +617,7 @@ namespace DataSharing.Application.Receivers
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        public async Task GetKnowledgeInfoSend(KnowledgeSendDto dto, CancellationToken cancellationToken)
+        public async Task GetKnowledgeInfoSendAsync(KnowledgeSendDto dto, CancellationToken cancellationToken)
         {
             var data = _mapper.Map<KnowledgeInfoSendInfo>(dto);
             data.AreaCode = _channelConfigurationManager.GetConfigurationCityCode().AreaCode;
@@ -570,7 +642,7 @@ namespace DataSharing.Application.Receivers
             #endregion
 
             //知识附件处理
-            // await FileData(dto.FileJson, dto.UID, data.CliengGuid, data.AreaCode, cancellationToken);
+            await FileDataAsync(dto.FileJson, dto.UID, data.CliengGuid, EMaterialType.Knowledge, data.AreaCode, cancellationToken);
 
         }
 
@@ -579,7 +651,7 @@ namespace DataSharing.Application.Receivers
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        public async Task GetKnowledgeInfoUpdate(KnowledgeSendDto dto, CancellationToken cancellationToken)
+        public async Task GetKnowledgeInfoUpdateAsync(KnowledgeSendDto dto, CancellationToken cancellationToken)
         {
             var data = _mapper.Map<GetKnowledgeInfoUpdateInfo>(dto);
             data.AreaCode = _channelConfigurationManager.GetConfigurationCityCode().AreaCode;
@@ -604,7 +676,7 @@ namespace DataSharing.Application.Receivers
             #endregion
 
             //知识附件处理
-            //    await FileData(dto.FileJson, dto.UID, data.CliengGuid, data.AreaCode, cancellationToken);
+            await FileDataAsync(dto.FileJson, dto.UID, data.CliengGuid, EMaterialType.Knowledge, data.AreaCode, cancellationToken);
         }
 
         /// <summary>
@@ -612,7 +684,7 @@ namespace DataSharing.Application.Receivers
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        public async Task GetKnowledgeInfoAbandon(KnowledgeSendDto dto, CancellationToken cancellationToken)
+        public async Task GetKnowledgeInfoAbandonAsync(KnowledgeSendDto dto, CancellationToken cancellationToken)
         {
             var data = _mapper.Map<GetKnowledgeInfoAbandonInfo>(dto);
             data.AreaCode = _channelConfigurationManager.GetConfigurationCityCode().AreaCode;
@@ -631,87 +703,13 @@ namespace DataSharing.Application.Receivers
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        public async Task SendRealTimeStatus(SendRealTimeStatusInfo dto, CancellationToken cancellationToken)
+        public async Task SendRealTimeStatusAsync(SendRealTimeStatusInfo dto, CancellationToken cancellationToken)
         {
             dto.AreaCode = _channelConfigurationManager.GetConfigurationCityCode().AreaCode;
             await InitPushDataAsync("SendRealTimeStatus", "sendrealtimestatus", System.Text.Json.JsonSerializer.Serialize(dto), cancellationToken);
         }
         #endregion
 
-        /// <summary>
-        /// 接收发布数据
-        /// </summary>
-        /// <param name="dto"></param>
-        /// <param name="cancellationToken"></param>
-        /// <returns></returns>
-       //[CapSubscribe(EventNames.HotlineOrderFlowStarted)]
-        public async Task PublishOrder(PublishPublishOrderDto dto, CancellationToken cancellationToken)
-        {
-            if (dto.Order.IsProvince && dto.Order.Source == ESource.ProvinceStraight)
-            {
-                #region 服务工单交办处理结果
-                //判断是否是热线中心
-                if (!string.IsNullOrEmpty(dto.Order.ActualHandleOrgCode) && dto.Order.ActualHandleOrgCode.Substring(0, 3) == "001")
-                    dto.Order.ActualHandleOrgName = "热线中心";
-
-                var data = _mapper.Map<GetCaseResultReceiveInfo>(dto.Order);
-                data.ConcactType = "40";
-                data.FinishType = "1";
-                data.HandleTimeLong = (decimal)dto.Order.AllDuration;
-                switch (dto.Order.RealCommunicationMode)
-                {
-                    case ERealCommunicationMode.Phone:
-                        data.ConcactType = "10";
-                        break;
-                    case ERealCommunicationMode.Locale:
-                        data.ConcactType = "20";
-                        break;
-                    default:
-                        data.ConcactType = "40";
-                        break;
-                }
-                data.CliengGuid = Guid.NewGuid().ToString();
-
-                //中国政府网的数据处理
-                if (dto.Order.SourceChannelCode == "ZGZFW")
-                {
-                    data.Notes = "无";
-                    data.MsgOpenByArea = dto.ProPublishState == true ? "1" : "0";
-                    data.AreaNotPublicReason = dto.NoPubReason;
-                    data.FeedBackAnswerContent = dto.ArrangeOpinion;
-                    data.FeedBackTel = dto.FeedBackPhone;
-                    data.EventType = "";
-                    data.Eventname = "";
-                    data.ContactFlag = "1";
-                    data.AssessFlag = "1";
-                    data.AssessOpinion = "1";
-                    data.AssessContent = "";
-                }
-
-                await InitPushDataAsync("GetCaseResultReceive", "get_case_result_receive", System.Text.Json.JsonSerializer.Serialize(data), cancellationToken);
-
-                //处理附件
-                //await FileData(new List<FileJson>(), data.CaseSerial, data.CliengGuid, dto.Order.AreaCode, cancellationToken);
-                #endregion
-            }
-
-            //政民互动提交公开
-            if (dto.Order.SourceChannelCode == "ZMHD")
-            {
-                var data = _mapper.Map<ZmhdCaseInfoPublicInfo>(dto);
-                //将待推送数据写入待推送表
-                await InitPushDataAsync("ZmhdCaseInfoPublic", "zmhd_case_info_public", System.Text.Json.JsonSerializer.Serialize(data), cancellationToken);
-            }
-
-            //工单基础数据修改为可以评价
-            var dataOrder = await _dsOrderRepository.GetAsync(p => p.OrderId == dto.Order.Id, cancellationToken);
-            if (dataOrder != null)
-            {
-                dataOrder.VisitTypeState = EVisitTypeState.Visit;
-                await _dsOrderRepository.UpdateAsync(dataOrder, cancellationToken);
-            }
-        }
-
         #region 私有方法
 
         #region 省数据处理
@@ -720,7 +718,7 @@ namespace DataSharing.Application.Receivers
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        private async Task OrderDispatch(OrderFlowDto dto, CancellationToken cancellationToken)
+        private async Task OrderDispatchAsync(OrderFlowDto dto, CancellationToken cancellationToken)
         {
             if (dto.WorkflowTrace.NextHandlers != null && dto.WorkflowTrace.NextHandlers.Count > 0)
             {
@@ -731,21 +729,21 @@ namespace DataSharing.Application.Receivers
                         //需要判断是否需要往110推送
                         if (item.Key == "001179")
                             //写入110本地数据库
-                            await InitPoliceSendChainAlarmDs(dto.Order, cancellationToken);
+                            await InitPoliceSendChainAlarmDsAsync(dto.Order, cancellationToken);
 
                         //需要判断是否需要往宜宾等地市州推送数据
                         if (item.Key == "泸州12345")
                             //市州数据提交
-                            await InitCityDataYB(dto.Order, cancellationToken);
+                            await InitCityDataYBAsync(dto.Order, cancellationToken);
 
                         //需要判断是否需要往企业专班提交数据
                         if (item.Key == "001180")
                             //企业专班提交数据
-                            await InitEnterpriseData(dto.Order, cancellationToken);
+                            await InitEnterpriseDataAsync(dto.Order, cancellationToken);
 
                         //是否向省上派单
                         if (item.Key == "001170")
-                            await SendCaseInfoData(dto.Order, cancellationToken);
+                            await SendCaseInfoDataAsync(dto.Order, cancellationToken);
                     }
                 }
             }
@@ -757,7 +755,7 @@ namespace DataSharing.Application.Receivers
         /// <param name="dto"></param>
         /// <param name="cancellationToken"></param>
         /// <returns></returns>
-        private async Task SubmitVisitInfoData(PublishVisitDto dto, CancellationToken cancellationToken)
+        private async Task SubmitVisitInfoDataAsync(PublishVisitDto dto, CancellationToken cancellationToken)
         {
             #region 修改工单基础数据为已评价
             //修改工单基础数据为已评价
@@ -814,9 +812,9 @@ namespace DataSharing.Application.Receivers
                 data.CliengGuid = Guid.NewGuid().ToString();
 
                 //将待推送数据写入待推送表
-                await InitPushDataAsync("GetVisitInfoReceive", "get_visit_info_receive", System.Text.Json.JsonSerializer.Serialize(data), cancellationToken, TaskPriority: 5);
+                await InitPushDataAsync("GetVisitInfoReceive", "get_visit_info_receive", System.Text.Json.JsonSerializer.Serialize(data), cancellationToken, taskPriority: 5);
                 //处理附件
-                // await FileData(new List<FileJson>(), data.CaseSerial, data.CliengGuid, data.AreaCode, cancellationToken);
+                await FileDataAsync(null, data.CaseSerial, data.CliengGuid, EMaterialType.Visit, data.AreaCode, cancellationToken);
             }
             else
             {
@@ -825,10 +823,10 @@ namespace DataSharing.Application.Receivers
                 data.CliengGuid = Guid.NewGuid().ToString();
 
                 //将待推送数据写入待推送表
-                await InitPushDataAsync("SubmitVisitInfo", "submit_visit_info", System.Text.Json.JsonSerializer.Serialize(data), cancellationToken, TaskPriority: 5);
+                await InitPushDataAsync("SubmitVisitInfo", "submit_visit_info", System.Text.Json.JsonSerializer.Serialize(data), cancellationToken, taskPriority: 5);
 
                 //处理附件
-                //  await FileData(new List<FileJson>(), data.CaseSerial, data.CliengGuid, data.AreaCode, cancellationToken);
+                await FileDataAsync(null, data.CaseSerial, data.CliengGuid, EMaterialType.Visit, data.AreaCode, cancellationToken);
 
                 //组装处理110数据
                 if (dto.Order.Source == ESource.Police110)
@@ -865,7 +863,7 @@ namespace DataSharing.Application.Receivers
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        private async Task SubmitCaseResult(OrderFlowDto dto, CancellationToken cancellationToken)
+        private async Task SubmitCaseResultAsync(OrderFlowDto dto, CancellationToken cancellationToken)
         {
             var data = _mapper.Map<SubmitCaseResultInfo>(dto);
             data.ConcactType = "40";
@@ -877,12 +875,12 @@ namespace DataSharing.Application.Receivers
             await InitPushDataAsync("SubmitCaseResult", "submit_case_result", System.Text.Json.JsonSerializer.Serialize(data), cancellationToken);
 
             //处理附件
-            //   await FileData(new List<FileJson>(), data.CaseSerial, data.CliengGuid, dto.Order.AreaCode, cancellationToken);
+            await FileDataAsync(dto.WorkflowTrace.FileJson, data.CaseSerial, data.CliengGuid, EMaterialType.Result, dto.Order.AreaCode, cancellationToken);
             //判断如果是110过来的数据,就组装数据
             //组装110
             if (dto.Order.Source == ESource.Police110)
             {
-                await InitPoliceSendChainDealDs(dto, cancellationToken);
+                await InitPoliceSendChainDealDsAsync(dto, cancellationToken);
             }
         }
 
@@ -891,7 +889,7 @@ namespace DataSharing.Application.Receivers
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        private async Task<SubmitCaseInfo> InitData(OrderDto dto, CancellationToken cancellationToken)
+        private async Task<SubmitCaseInfo> InitDataAsync(OrderDto dto, CancellationToken cancellationToken)
         {
             var submitCaseInfo = _mapper.Map<SubmitCaseInfo>(dto);
 
@@ -936,10 +934,214 @@ namespace DataSharing.Application.Receivers
                     submitCaseInfo.CaseType = "40";
                     break;
             }
-
             return submitCaseInfo;
         }
 
+        /// <summary>
+        /// 服务工单拓展信息
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        private async Task SubmitCaseExtendsAsync(OrderDto dto, CancellationToken cancellationToken)
+        {
+            var orderExtension = dto.OrderExtension;
+            if (orderExtension is null)
+                return;
+
+            //工单类型
+            string formType = orderExtension.OrderTypeCode;
+
+            //处理为统一的市场监管表单
+            if (formType == "scjgjts" || formType == "scjgjjb")
+                formType = "scjgj";
+
+            DataSharing.Share.Dtos.Province.HuiJu.SubmitCaseExtendsInfo submitCaseExtendsInfo = new()
+            {
+                CaseSerial = dto.ProvinceNo,
+                FormType = formType
+            };
+
+            //处理扩展信息
+            switch (formType.ToLower())
+            {
+                case "yl"://医疗表单
+                    //转换数据
+                    submitCaseExtendsInfo.FormMedical = _mapper.Map<FormMedicalInfo>(orderExtension);
+                    break;
+                case "zwfw"://四川政务服务网技术工单
+                    submitCaseExtendsInfo.FormNetWorktec = _mapper.Map<FormNetWorktecInfo>(orderExtension);
+                    break;
+                case "th"://电视购物及商铺购买退换货工单
+                    submitCaseExtendsInfo.FormReturnexChange = _mapper.Map<FormReturnexChangeInfo>(orderExtension);
+                    break;
+                case "gsgl"://高速公路工单
+                    submitCaseExtendsInfo.FormExpressWay = _mapper.Map<FormExpressWayInfo>(orderExtension);
+                    break;
+                case "xjgg"://电视台虚假广告工单
+                    submitCaseExtendsInfo.FormShamPub = _mapper.Map<FormShamPubInfo>(orderExtension);
+                    break;
+                case "swfwsq"://12366热线诉求交办
+                    submitCaseExtendsInfo.FormTaxationComplaint = _mapper.Map<FormTaxationComplaintInfo>(orderExtension);
+                    break;
+                case "swfwzx"://12366热线咨询交办
+                    submitCaseExtendsInfo.FormTaxationConsulting = _mapper.Map<FormTaxationConsultingInfo>(orderExtension);
+                    break;
+                case "jtfwjd"://12328服务监督
+                    submitCaseExtendsInfo.FormTraffic = _mapper.Map<FormTrafficInfo>(orderExtension);
+                    break;
+                case "yzxf"://邮政业消费者申诉
+                    submitCaseExtendsInfo.FormPost = _mapper.Map<FormPostInfo>(orderExtension);
+                    break;
+                case "hbjb"://环保举报业务
+                    submitCaseExtendsInfo.FormEnvironMent = _mapper.Map<FormEnvironMentInfo>(orderExtension);
+                    break;
+                case "scjgj"://12315个性化表单
+                    var formMarket = _mapper.Map<FormMarketInfo>(orderExtension);
+                    //转换数据
+                    switch (orderExtension.OrderTypeCode)
+                    {
+                        case "scjgjjb":
+                            formMarket.Rqsttypy = "25";
+                            break;
+                        case "scjgjts":
+                            formMarket.Rqsttypy = "20";
+                            foreach (var item in orderExtension.ComplainTypes)
+                                formMarket.AppealContent += item.Value + ",";
+                            formMarket.AppealContent = formMarket.AppealContent.TrimEnd(',');
+                            break;
+                        default:
+                            break;
+                    }
+                    formMarket.HandDepCode = dto.AcceptorOrgCode;
+                    formMarket.HandDep = dto.AcceptorOrgName;
+                    formMarket.Zxgh = dto.AcceptorStaffNo;
+                    formMarket.AccregperId = dto.AcceptorId;
+                    formMarket.AccregperName = dto.AcceptorName;
+                    formMarket.RegTime = Convert.ToDateTime(dto.CreationTime);
+                    formMarket.CmTime = dto.StartTime;
+                    submitCaseExtendsInfo.FormMarket = formMarket;
+                    break;
+                default:
+                    break;
+            }
+
+            //将待推送数据写入待推送表
+            await InitPushDataAsync("SubmitCaseExtends", "submit_case_extends", System.Text.Json.JsonSerializer.Serialize(submitCaseExtendsInfo), cancellationToken);
+        }
+
+        /// <summary>
+        /// 往省上派单
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        private async Task SendCaseInfoDataAsync(OrderDto dto, CancellationToken cancellationToken)
+        {
+            //先上传拓展信息
+            if (dto.OrderExtension != null)
+                await SubmitCaseExtendsAsync(dto, cancellationToken);
+
+            //在处理工单信息
+            var sendCaseInfo = _mapper.Map<SendCaseInfo>(dto);
+
+            if (dto.OrderExtension != null)
+                sendCaseInfo.IsExtends = "1";
+            else
+                sendCaseInfo.IsExtends = "0";
+
+            #region 处理数据
+            //处理性别
+            switch (dto.FromGender)
+            {
+                case EGender.Female:
+                    sendCaseInfo.AppLicantSex = "0";
+                    break;
+                case EGender.Male:
+                    sendCaseInfo.AppLicantSex = "1";
+                    break;
+                case EGender.Unknown:
+                    sendCaseInfo.AppLicantSex = "2";
+                    break;
+                default:
+                    sendCaseInfo.AppLicantSex = "2";
+                    break;
+            }
+
+            //处理证件类型
+            sendCaseInfo.CertifiCateType = dto.LicenceTypeCode switch
+            {
+                "10" => "10",
+                "40" => "20",
+                "55" => "30",
+                "57" => "40",
+                _ => "50",
+            };
+
+            //处理紧急程度
+            sendCaseInfo.CaseIsUrgent = dto.EmergencyLevel switch
+            {
+                EEmergencyLevel.QuiteEmergency => "10",
+                EEmergencyLevel.Emergency => "20",
+                _ => "30",
+            };
+
+            //处理诉求类型
+            switch (sendCaseInfo.CaseType)
+            {
+                case "10":
+                case "15":
+                case "20":
+                case "25":
+                case "30":
+                case "35":
+                    break;
+                default:
+                    sendCaseInfo.CaseType = "40";
+                    break;
+            }
+            #endregion
+
+            //将待推送数据写入待推送表
+            await InitPushDataAsync("SendCaseInfo", "send_case_info", System.Text.Json.JsonSerializer.Serialize(sendCaseInfo), cancellationToken);
+
+        }
+
+        /// <summary>
+        /// 附件处理
+        /// </summary>
+        /// <param name="fileJson">附件</param>
+        /// <param name="caseSerial">工单编号</param>
+        /// <param name="cliengGuid">附件ID</param>
+        /// <param name="materialType">附件类型   10:受理材料,20:环节材料,30:结果材料,40:回访评价材料,50:督办材料,60:知识库材料</param>
+        /// <param name="areaCode">区域ID</param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        private async Task FileDataAsync(List<Hotline.Share.Dtos.File.FileJson> fileJson, string caseSerial, string cliengGuid, EMaterialType materialType, string areaCode, CancellationToken cancellationToken)
+        {
+            if (fileJson != null && fileJson.Count > 0)
+            {
+                //将受到的数据写入本地数据库
+                GetCaseMaterialInfoModel materialInfo = new()
+                {
+                    CaseSerial = caseSerial,
+                    CliengGuid = cliengGuid,
+                    AreaCode = areaCode,
+                    MaterialType = materialType switch
+                    {
+                        EMaterialType.Acceptance => "10",
+                        EMaterialType.Process => "20",
+                        EMaterialType.Result => "30",
+                        EMaterialType.Visit => "40",
+                        EMaterialType.Supervise => "50",
+                        EMaterialType.Knowledge => "60",
+                        _ => "20",
+                    }
+                };
+
+                //待推送数据写入待推送表
+                await InitPushDataAsync("GetCaseMaterialInfo", "get_case_material_info", System.Text.Json.JsonSerializer.Serialize(materialInfo), cancellationToken, fileJson: _mapper.Map<List<FileJson>>(fileJson));
+            }
+        }
+
         #endregion
 
         #region 组装110数据
@@ -948,7 +1150,7 @@ namespace DataSharing.Application.Receivers
         /// </summary>
         /// <param name="orderDto"></param>
         /// <returns></returns>
-        private async Task InitPoliceSendChainAlarmDs(OrderDto orderDto, CancellationToken cancellationToken)
+        private async Task InitPoliceSendChainAlarmDsAsync(OrderDto orderDto, CancellationToken cancellationToken)
         {
             DsPoliceSendChainAlarmDs policeSend = new()
             {
@@ -990,7 +1192,7 @@ namespace DataSharing.Application.Receivers
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        private async Task InitPoliceSendChainDealDs(OrderFlowDto dto, CancellationToken cancellationToken)
+        private async Task InitPoliceSendChainDealDsAsync(OrderFlowDto dto, CancellationToken cancellationToken)
         {
             var data = await _policeSendChainDealDsRepository.GetAsync(p => p.OrderId == dto.Order.Id && p.DisposalType == (int)EDsDisposalType.OrderFiled, cancellationToken);
             if (data == null)
@@ -1034,7 +1236,7 @@ namespace DataSharing.Application.Receivers
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        private async Task InitCityDataYB(OrderDto dto, CancellationToken cancellationToken)
+        private async Task InitCityDataYBAsync(OrderDto dto, CancellationToken cancellationToken)
         {
             var cityHandOver = "";// _channelConfigurationManager.GetConfigurationCityHandOver();
             string source = "";// string.IsNullOrEmpty(dto.Source) ? cityHandOver.SendCityName : cityDataSend.Source;
@@ -1072,7 +1274,7 @@ namespace DataSharing.Application.Receivers
             };
 
             //写入待推送数据
-            await InitPushDataAsync("InitCityDataYB", "CityHandOver.asmx/FlowWrite", System.Text.Json.JsonSerializer.Serialize(dicParam), cancellationToken, PlatformSource: EPlatformSource.CityDataExchange);
+            await InitPushDataAsync("InitCityDataYB", "CityHandOver.asmx/FlowWrite", System.Text.Json.JsonSerializer.Serialize(dicParam), cancellationToken, platformSource: EPlatformSource.CityDataExchange);
 
         }
         #endregion
@@ -1083,213 +1285,41 @@ namespace DataSharing.Application.Receivers
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        private async Task InitEnterpriseData(OrderDto dto, CancellationToken cancellationToken)
+        private async Task InitEnterpriseDataAsync(OrderDto dto, CancellationToken cancellationToken)
         {
             var enterpriseData = _mapper.Map<PushWorkOrder>(dto);
             var fileJson = _mapper.Map<List<FileJson>>(dto.FileJson);
             //将待推送数据写入待推送表
-            await InitPushDataAsync("EnterprisePushWorkOrder", "platform/12345/pushWorkOrder", System.Text.Json.JsonSerializer.Serialize(enterpriseData), cancellationToken, PlatformSource: EPlatformSource.Enterprise, FileJson: fileJson);
-
-        }
-        #endregion
-
-        #region 往省上派单
-        /// <summary>
-        /// 往省上派单
-        /// </summary>
-        /// <param name="dto"></param>
-        /// <returns></returns>
-        private async Task SendCaseInfoData(OrderDto dto, CancellationToken cancellationToken)
-        {
-            //先上传拓展信息
-            if (dto.OrderExtension != null)
-                await SubmitCaseExtends(dto, cancellationToken);
-
-            //在处理工单信息
-            var sendCaseInfo = _mapper.Map<SendCaseInfo>(dto);
-
-            if (dto.OrderExtension != null)
-                sendCaseInfo.IsExtends = "1";
-            else
-                sendCaseInfo.IsExtends = "0";
-
-            #region 处理数据
-            //处理性别
-            switch (dto.FromGender)
-            {
-                case EGender.Female:
-                    sendCaseInfo.AppLicantSex = "0";
-                    break;
-                case EGender.Male:
-                    sendCaseInfo.AppLicantSex = "1";
-                    break;
-                case EGender.Unknown:
-                    sendCaseInfo.AppLicantSex = "2";
-                    break;
-                default:
-                    sendCaseInfo.AppLicantSex = "2";
-                    break;
-            }
-
-            //处理证件类型
-            sendCaseInfo.CertifiCateType = dto.LicenceTypeCode switch
-            {
-                "10" => "10",
-                "40" => "20",
-                "55" => "30",
-                "57" => "40",
-                _ => "50",
-            };
-
-            //处理紧急程度
-            sendCaseInfo.CaseIsUrgent = dto.EmergencyLevel switch
-            {
-                EEmergencyLevel.QuiteEmergency => "10",
-                EEmergencyLevel.Emergency => "20",
-                _ => "30",
-            };
-
-            //处理诉求类型
-            switch (sendCaseInfo.CaseType)
-            {
-                case "10":
-                case "15":
-                case "20":
-                case "25":
-                case "30":
-                case "35":
-                    break;
-                default:
-                    sendCaseInfo.CaseType = "40";
-                    break;
-            }
-            #endregion
-
-            //将待推送数据写入待推送表
-            await InitPushDataAsync("SendCaseInfo", "send_case_info", System.Text.Json.JsonSerializer.Serialize(sendCaseInfo), cancellationToken);
-
-        }
-        #endregion
-
-        #region 服务工单拓展信息
-        /// <summary>
-        /// 服务工单拓展信息
-        /// </summary>
-        /// <param name="dto"></param>
-        /// <returns></returns>
-        private async Task SubmitCaseExtends(OrderDto dto, CancellationToken cancellationToken)
-        {
-            var orderExtension = dto.OrderExtension;
-            if (orderExtension is null)
-                return;
+            await InitPushDataAsync("EnterprisePushWorkOrder", "platform/12345/pushWorkOrder", System.Text.Json.JsonSerializer.Serialize(enterpriseData), cancellationToken, platformSource: EPlatformSource.Enterprise, fileJson: fileJson);
 
-            //工单类型
-            string formType = orderExtension.OrderTypeCode;
-
-            //处理为统一的市场监管表单
-            if (formType == "scjgjts" || formType == "scjgjjb")
-                formType = "scjgj";
-
-            SubmitCaseExtendsInfo submitCaseExtendsInfo = new()
-            {
-                CaseSerial = dto.ProvinceNo,
-                FormType = formType
-            };
-
-            //处理扩展信息
-            switch (formType.ToLower())
-            {
-                case "yl"://医疗表单
-                    //转换数据
-                    submitCaseExtendsInfo.FormMedical = _mapper.Map<FormMedicalInfo>(orderExtension);
-                    break;
-                case "zwfw"://四川政务服务网技术工单
-                    submitCaseExtendsInfo.FormNetWorktec = _mapper.Map<FormNetWorktecInfo>(orderExtension);
-                    break;
-                case "th"://电视购物及商铺购买退换货工单
-                    submitCaseExtendsInfo.FormReturnexChange = _mapper.Map<FormReturnexChangeInfo>(orderExtension);
-                    break;
-                case "gsgl"://高速公路工单
-                    submitCaseExtendsInfo.FormExpressWay = _mapper.Map<FormExpressWayInfo>(orderExtension);
-                    break;
-                case "xjgg"://电视台虚假广告工单
-                    submitCaseExtendsInfo.FormShamPub = _mapper.Map<FormShamPubInfo>(orderExtension);
-                    break;
-                case "swfwsq"://12366热线诉求交办
-                    submitCaseExtendsInfo.FormTaxationComplaint = _mapper.Map<FormTaxationComplaintInfo>(orderExtension);
-                    break;
-                case "swfwzx"://12366热线咨询交办
-                    submitCaseExtendsInfo.FormTaxationConsulting = _mapper.Map<FormTaxationConsultingInfo>(orderExtension);
-                    break;
-                case "jtfwjd"://12328服务监督
-                    submitCaseExtendsInfo.FormTraffic = _mapper.Map<FormTrafficInfo>(orderExtension);
-                    break;
-                case "yzxf"://邮政业消费者申诉
-                    submitCaseExtendsInfo.FormPost = _mapper.Map<FormPostInfo>(orderExtension);
-                    break;
-                case "hbjb"://环保举报业务
-                    submitCaseExtendsInfo.FormEnvironMent = _mapper.Map<FormEnvironMentInfo>(orderExtension);
-                    break;
-                case "scjgj"://12315个性化表单
-                    var formMarket = _mapper.Map<FormMarketInfo>(orderExtension);
-                    //转换数据
-                    switch (orderExtension.OrderTypeCode)
-                    {
-                        case "scjgjjb":
-                            formMarket.Rqsttypy = "25";
-                            break;
-                        case "scjgjts":
-                            formMarket.Rqsttypy = "20";
-                            foreach (var item in orderExtension.ComplainTypes)
-                                formMarket.AppealContent += item.Value + ",";
-                            formMarket.AppealContent = formMarket.AppealContent.TrimEnd(',');
-                            break;
-                        default:
-                            break;
-                    }
-                    formMarket.HandDepCode = dto.AcceptorOrgCode;
-                    formMarket.HandDep = dto.AcceptorOrgName;
-                    formMarket.Zxgh = dto.AcceptorStaffNo;
-                    formMarket.AccregperId = dto.AcceptorId;
-                    formMarket.AccregperName = dto.AcceptorName;
-                    formMarket.RegTime = Convert.ToDateTime(dto.CreationTime);
-                    formMarket.CmTime = dto.StartTime;
-                    submitCaseExtendsInfo.FormMarket = formMarket;
-                    break;
-                default:
-                    break;
-            }
-
-            //将待推送数据写入待推送表
-            await InitPushDataAsync("SubmitCaseExtends", "submit_case_extends", System.Text.Json.JsonSerializer.Serialize(submitCaseExtendsInfo), cancellationToken);
         }
         #endregion
 
         #region 初始化待推送数据
         /// 初始化待推送数据
         /// </summary>
-        /// <param name="TaskType">任务类型</param>
-        /// <param name="Path">请求地址</param>
-        /// <param name="Request">请求参数</param>
+        /// <param name="taskType">任务类型</param>
+        /// <param name="path">请求地址</param>
+        /// <param name="request">请求参数</param>
         /// <param name="cancellationToken"></param>
-        /// <param name="HttpMethod">请求方式</param>
-        /// <param name="PlatformSource">推送平台</param>
-        /// <param name="TaskPriority">任务优先级(0:最低级别)</param>
-        /// <param name="FileJson">附件</param>
+        /// <param name="httpMethod">请求方式</param>
+        /// <param name="platformSource">推送平台</param>
+        /// <param name="taskPriority">任务优先级(0:最低级别)</param>
+        /// <param name="fileJson">附件</param>
         /// <returns></returns>
-        private async Task InitPushDataAsync(string TaskType, string Path, string Request, CancellationToken cancellationToken, string HttpMethod = "Post",
-            EPlatformSource PlatformSource = EPlatformSource.Province, int TaskPriority = 0, List<FileJson>? FileJson = null)
+        private async Task InitPushDataAsync(string taskType, string path, string request, CancellationToken cancellationToken, string httpMethod = "Post",
+            EPlatformSource platformSource = EPlatformSource.Province, int taskPriority = 0, List<FileJson>? fileJson = null)
         {
             //将待推送数据写入待推送表
             DsSendTask dsSendTask = new()
             {
-                TaskPriority = TaskPriority,
-                TaskType = TaskType,
-                HttpMethod = HttpMethod,
-                Path = Path,
-                Request = Request,
-                PlatformSource = PlatformSource,
-                FileJson = FileJson
+                TaskPriority = taskPriority,
+                TaskType = taskType,
+                HttpMethod = httpMethod,
+                Path = path,
+                Request = request,
+                PlatformSource = platformSource,
+                FileJson = fileJson
             };
             await _dsSendTaskRepository.AddAsync(dsSendTask, cancellationToken);
         }

+ 46 - 0
src/DataSharing.Share/Enums/EMaterialType.cs

@@ -0,0 +1,46 @@
+using System.ComponentModel;
+
+namespace DataSharing.Share.Enums
+{
+    /// <summary>
+    /// 材料类型
+    /// </summary>
+    public enum EMaterialType
+    {
+        /// <summary>
+        /// 受理材料   10:受理材料,20:环节材料,30:结果材料,40:回访评价材料,50:督办材料,60:知识库材料
+        /// </summary>
+        [Description("受理材料")]
+        Acceptance = 10,
+
+        /// <summary>
+        /// 环节材料
+        /// </summary>
+        [Description("环节材料")]
+        Process = 20,
+
+        /// <summary>
+        /// 结果材料
+        /// </summary>
+        [Description("结果材料")]
+        Result = 30,
+
+        /// <summary>
+        /// 回访评价材料
+        /// </summary>
+        [Description("回访评价材料")]
+        Visit = 40,
+
+        /// <summary>
+        /// 督办材料
+        /// </summary>
+        [Description("督办材料")]
+        Supervise = 50,
+
+        /// <summary>
+        /// 知识库材料
+        /// </summary>
+        [Description("知识库材料")]
+        Knowledge = 60,
+    }
+}