|
@@ -1,306 +1,306 @@
|
|
-using Hotline.DataSharing.Province.HuiJu.Send;
|
|
|
|
-using Hotline.DataSharing.Province.Other;
|
|
|
|
-using Hotline.DataSharing.Province.Services;
|
|
|
|
-using Hotline.DataSharing.Province.XieTong.Knowledge;
|
|
|
|
-using Hotline.DataSharing.Province.XieTong.Receive;
|
|
|
|
-using Hotline.DataSharing.Province.XieTong.Send;
|
|
|
|
-using MediatR;
|
|
|
|
-using Microsoft.AspNetCore.Http;
|
|
|
|
-using Microsoft.Extensions.DependencyInjection;
|
|
|
|
-using Microsoft.Extensions.Hosting;
|
|
|
|
-using System.Threading;
|
|
|
|
-using XF.Domain.Repository;
|
|
|
|
-using static System.Runtime.InteropServices.JavaScript.JSType;
|
|
|
|
-
|
|
|
|
-namespace Hotline.Application.DataSharing.Province
|
|
|
|
-{
|
|
|
|
- /// <summary>
|
|
|
|
- /// 后台定时任务
|
|
|
|
- /// </summary>
|
|
|
|
- public class PushDataBgService : BackgroundService
|
|
|
|
- {
|
|
|
|
- private readonly IServiceScopeFactory _serviceScopeFactory;
|
|
|
|
-
|
|
|
|
- /// <summary>
|
|
|
|
- ///
|
|
|
|
- /// </summary>
|
|
|
|
- /// <param name="serviceScopeFactory"></param>
|
|
|
|
- public PushDataBgService(IServiceScopeFactory serviceScopeFactory)
|
|
|
|
- {
|
|
|
|
- _serviceScopeFactory = serviceScopeFactory;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- /// <summary>
|
|
|
|
- ///
|
|
|
|
- /// </summary>
|
|
|
|
- /// <param name="stoppingToken"></param>
|
|
|
|
- /// <returns></returns>
|
|
|
|
- protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
|
|
|
- {
|
|
|
|
- //10分钟扫描一次数据库
|
|
|
|
- using var sc = _serviceScopeFactory.CreateScope();
|
|
|
|
- var time = TimeSpan.FromSeconds(60 * 10);
|
|
|
|
- while (!stoppingToken.IsCancellationRequested)
|
|
|
|
- {
|
|
|
|
- using var scope = _serviceScopeFactory.CreateScope();
|
|
|
|
- var _waitingPushDataRepository = scope.ServiceProvider.GetService<IRepository<DsWaitingPushData>>();
|
|
|
|
- var _sendCaseInfoRepository = scope.ServiceProvider.GetService<IRepository<DsSendCaseInfo>>();
|
|
|
|
- var _mediator = scope.ServiceProvider.GetService<IMediator>();
|
|
|
|
- var _pusherProviderService = scope.ServiceProvider.GetService<IPusherProviderService>();
|
|
|
|
-
|
|
|
|
- #region 批量推送省数据
|
|
|
|
- //查询待推送数据
|
|
|
|
- var listData = await _waitingPushDataRepository
|
|
|
|
- .Queryable()
|
|
|
|
- .Take(30)
|
|
|
|
- .OrderByDescending(p => p.Priority)
|
|
|
|
- .ToListAsync();
|
|
|
|
- var isContinue = true;
|
|
|
|
- if (listData != null && listData.Count > 0)
|
|
|
|
- {
|
|
|
|
- List<DsSubmitCaseProcess> submitCaseProcesses = new(); //服务工单处理过程
|
|
|
|
- List<DsSubmitCaseResult> submitCaseResults = new(); //服务工单处理结果
|
|
|
|
- List<DsSubmitVisitInfo> submitVisitInfos = new(); //服务工单回访评价
|
|
|
|
- List<DsGetCaseMaterialInfo> getCaseMaterialInfos = new();//附件上传处理
|
|
|
|
- DsGetCaseBackApply dsGetCaseBackApply = null;//退回申请
|
|
|
|
- DsSendSuperviseProcessInfo dsSendSuperviseProcessInfo = null;//服务工单督办过程
|
|
|
|
- DsSendSuperviseResultInfo dsSendSuperviseResultInfo = null;//服务工单督办结果
|
|
|
|
- DsScreenCaseInfoSend dsScreenCaseInfoSend = null;//工单发起甄别
|
|
|
|
- DsDelayCaseInfoSend dsDelayCaseInfoSend = null;//服务工单申请延时
|
|
|
|
- DsZmhdCaseInfoPublic dsZmhdCaseInfoPublic = null;//政民互动提交公开
|
|
|
|
- List<DsSubmitCaseInfo> dsSubmitCaseInfos = new();//服务工单受理推送工单--批量
|
|
|
|
-
|
|
|
|
- DsGetCaseProcessReceive dsGetCaseProcessReceive = null;//服务工单交办处理过程
|
|
|
|
- DsGetCaseResultReceive dsGetCaseResultReceive = null;//服务工单交办处理结果
|
|
|
|
-
|
|
|
|
- DsGetVisitInfoReceive dsGetVisitInfoReceive = null;//服务工单交办评价
|
|
|
|
- List<DsSubmitCaseRecord> dsSubmitCaseRecords = new();//挂电话推送--批量推送
|
|
|
|
- DsSubmitCaseTotal dsSubmitCaseTotal = null;//统计数据
|
|
|
|
- DsSupplyCaseInfoSend dsSupplyCaseInfoSend = null;//上报补充诉求
|
|
|
|
- DsRevokeCaseInfo dsRevokeCaseInfo = null;//服务工单撤单
|
|
|
|
- DsRemindCaseInfo dsRemindCaseInfo = null;//服务工单催单
|
|
|
|
- DsGetKnowledgeInfoSend dsGetKnowledgeInfoSend = null;//知识库上报
|
|
|
|
- DsGetKnowledgeInfoUpdate dsGetKnowledgeInfoUpdate = null;//知识库变更
|
|
|
|
- DsGetKnowledgeInfoAbandon dsGetKnowledgeInfoAbandon = null;//知识库下架
|
|
|
|
- DsSendRealTimeStatus dsSendRealTimeStatus = null;//实时服务上报
|
|
|
|
- //根据查询出来数据组装推送数据
|
|
|
|
- foreach (var item in listData)
|
|
|
|
- {
|
|
|
|
- switch (item.ServiceInterface)
|
|
|
|
- {
|
|
|
|
- case "GetCaseBackApply"://退回申请
|
|
|
|
- dsGetCaseBackApply = System.Text.Json.JsonSerializer.Deserialize<DsGetCaseBackApply>(item.Data);
|
|
|
|
- break;
|
|
|
|
- case "SendSuperviseProcessInfo"://服务工单督办过程
|
|
|
|
- dsSendSuperviseProcessInfo = System.Text.Json.JsonSerializer.Deserialize<DsSendSuperviseProcessInfo>(item.Data);
|
|
|
|
- break;
|
|
|
|
- case "SendSuperviseResultInfo"://服务工单督办结果
|
|
|
|
- dsSendSuperviseResultInfo = System.Text.Json.JsonSerializer.Deserialize<DsSendSuperviseResultInfo>(item.Data);
|
|
|
|
- break;
|
|
|
|
- case "ScreenCaseInfoSend"://工单发起甄别
|
|
|
|
- dsScreenCaseInfoSend = System.Text.Json.JsonSerializer.Deserialize<DsScreenCaseInfoSend>(item.Data);
|
|
|
|
- break;
|
|
|
|
- case "DelayCaseInfoSend"://服务工单申请延时
|
|
|
|
- dsDelayCaseInfoSend = System.Text.Json.JsonSerializer.Deserialize<DsDelayCaseInfoSend>(item.Data);
|
|
|
|
- break;
|
|
|
|
- case "ZmhdCaseInfoPublic"://政民互动提交公开
|
|
|
|
- dsZmhdCaseInfoPublic = System.Text.Json.JsonSerializer.Deserialize<DsZmhdCaseInfoPublic>(item.Data);
|
|
|
|
- break;
|
|
|
|
- case "SubmitCaseInfo"://服务工单受理推送工单
|
|
|
|
- var submitCaseInfo = System.Text.Json.JsonSerializer.Deserialize<DsSubmitCaseInfo>(item.Data);
|
|
|
|
- if (submitCaseInfo != null) dsSubmitCaseInfos.Add(submitCaseInfo);
|
|
|
|
- break;
|
|
|
|
- case "GetCaseProcessReceive"://服务工单交办处理过程
|
|
|
|
- dsGetCaseProcessReceive = System.Text.Json.JsonSerializer.Deserialize<DsGetCaseProcessReceive>(item.Data);
|
|
|
|
- break;
|
|
|
|
- case "GetCaseResultReceive"://服务工单交办处理结果
|
|
|
|
- dsGetCaseResultReceive = System.Text.Json.JsonSerializer.Deserialize<DsGetCaseResultReceive>(item.Data);
|
|
|
|
- break;
|
|
|
|
- case "GetVisitInfoReceive"://服务工单交办评价
|
|
|
|
- dsGetVisitInfoReceive = System.Text.Json.JsonSerializer.Deserialize<DsGetVisitInfoReceive>(item.Data);
|
|
|
|
- break;
|
|
|
|
- case "SubmitCaseRecord"://挂电话推送--批量推送
|
|
|
|
- var caseRecord = System.Text.Json.JsonSerializer.Deserialize<DsSubmitCaseRecord>(item.Data);
|
|
|
|
- if (caseRecord != null) dsSubmitCaseRecords.Add(caseRecord);
|
|
|
|
- break;
|
|
|
|
- case "SubmitCaseTotal"://统计数据
|
|
|
|
- dsSubmitCaseTotal = System.Text.Json.JsonSerializer.Deserialize<DsSubmitCaseTotal>(item.Data);
|
|
|
|
- break;
|
|
|
|
- case "SupplyCaseInfoSend"://上报补充诉求
|
|
|
|
- dsSupplyCaseInfoSend = System.Text.Json.JsonSerializer.Deserialize<DsSupplyCaseInfoSend>(item.Data);
|
|
|
|
- break;
|
|
|
|
- case "SendRevokeCaseInfo"://服务工单撤单
|
|
|
|
- dsRevokeCaseInfo = System.Text.Json.JsonSerializer.Deserialize<DsRevokeCaseInfo>(item.Data);
|
|
|
|
- break;
|
|
|
|
- case "SendRemindCaseInfo"://服务工单催单
|
|
|
|
- dsRemindCaseInfo = System.Text.Json.JsonSerializer.Deserialize<DsRemindCaseInfo>(item.Data);
|
|
|
|
- break;
|
|
|
|
- case "GetKnowledgeInfoSend"://知识库上报
|
|
|
|
- dsGetKnowledgeInfoSend = System.Text.Json.JsonSerializer.Deserialize<DsGetKnowledgeInfoSend>(item.Data);
|
|
|
|
- break;
|
|
|
|
- case "GetKnowledgeInfoUpdate"://知识库变更
|
|
|
|
- dsGetKnowledgeInfoUpdate = System.Text.Json.JsonSerializer.Deserialize<DsGetKnowledgeInfoUpdate>(item.Data);
|
|
|
|
- break;
|
|
|
|
- case "GetKnowledgeInfoAbandon"://知识库下架
|
|
|
|
- dsGetKnowledgeInfoAbandon = System.Text.Json.JsonSerializer.Deserialize<DsGetKnowledgeInfoAbandon>(item.Data);
|
|
|
|
- break;
|
|
|
|
- case "SendRealTimeStatus"://实时服务上报
|
|
|
|
- dsSendRealTimeStatus = System.Text.Json.JsonSerializer.Deserialize<DsSendRealTimeStatus>(item.Data);
|
|
|
|
- break;
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- case "SubmitCaseProcess"://服务工单处理过程
|
|
|
|
- var caseProcess = System.Text.Json.JsonSerializer.Deserialize<DsSubmitCaseProcess>(item.Data);
|
|
|
|
- if (caseProcess != null) submitCaseProcesses.Add(caseProcess);
|
|
|
|
- break;
|
|
|
|
- case "SubmitCaseResult": //服务工单处理结果
|
|
|
|
- var caseResult = System.Text.Json.JsonSerializer.Deserialize<DsSubmitCaseResult>(item.Data);
|
|
|
|
- if (caseResult != null) submitCaseResults.Add(caseResult);
|
|
|
|
- break;
|
|
|
|
- case "SubmitVisitInfo"://服务工单回访评价
|
|
|
|
- var visitInfo = System.Text.Json.JsonSerializer.Deserialize<DsSubmitVisitInfo>(item.Data);
|
|
|
|
- if (visitInfo != null) submitVisitInfos.Add(visitInfo);
|
|
|
|
- break;
|
|
|
|
- case "GetCaseMaterialInfo"://附件
|
|
|
|
- var materialInfo = System.Text.Json.JsonSerializer.Deserialize<DsGetCaseMaterialInfo>(item.Data);
|
|
|
|
- if (materialInfo != null) getCaseMaterialInfos.Add(materialInfo);
|
|
|
|
- break;
|
|
|
|
- default:
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- //推送对应消息
|
|
|
|
- //退回申请
|
|
|
|
- if (dsGetCaseBackApply != null)
|
|
|
|
- await _pusherProviderService.GetCaseBackApplyPusher(dsGetCaseBackApply, default);
|
|
|
|
-
|
|
|
|
- //服务工单督办过程
|
|
|
|
- if (dsSendSuperviseProcessInfo != null)
|
|
|
|
- await _pusherProviderService.SendSuperviseProcessInfoPusher(dsSendSuperviseProcessInfo, default);
|
|
|
|
-
|
|
|
|
- //服务工单督办过程
|
|
|
|
- if (dsSendSuperviseResultInfo != null)
|
|
|
|
- await _pusherProviderService.SendSuperviseResultInfoPusher(dsSendSuperviseResultInfo, default);
|
|
|
|
-
|
|
|
|
- //工单发起甄别
|
|
|
|
- if (dsScreenCaseInfoSend != null)
|
|
|
|
- await _pusherProviderService.ScreenCaseInfoSendPusher(dsScreenCaseInfoSend, default);
|
|
|
|
-
|
|
|
|
- //服务工单申请延时
|
|
|
|
- if (dsDelayCaseInfoSend != null)
|
|
|
|
- await _pusherProviderService.DelayCaseInfoSendPusher(dsDelayCaseInfoSend, default);
|
|
|
|
-
|
|
|
|
- //政民互动提交公开
|
|
|
|
- if (dsZmhdCaseInfoPublic != null)
|
|
|
|
- await _pusherProviderService.ZmhdCaseInfoPublicPusher(dsZmhdCaseInfoPublic, default);
|
|
|
|
-
|
|
|
|
- //服务工单受理推送工单
|
|
|
|
- if (dsSubmitCaseInfos != null && dsSubmitCaseInfos.Count > 0)
|
|
|
|
- await _pusherProviderService.ProvinceOrderCreatedPusher(dsSubmitCaseInfos, default);
|
|
|
|
-
|
|
|
|
- //服务工单交办处理过程
|
|
|
|
- if (dsGetCaseProcessReceive != null)
|
|
|
|
- await _pusherProviderService.GetCaseProcessReceivePusher(dsGetCaseProcessReceive, default);
|
|
|
|
-
|
|
|
|
- //服务工单交办处理结果
|
|
|
|
- if (dsGetCaseResultReceive != null)
|
|
|
|
- await _pusherProviderService.GetCaseResultReceivePusher(dsGetCaseResultReceive, default);
|
|
|
|
-
|
|
|
|
- //服务工单交办评价请求
|
|
|
|
- if (dsGetVisitInfoReceive != null)
|
|
|
|
- await _pusherProviderService.GetVisitInfoReceivePusher(dsGetVisitInfoReceive, default);
|
|
|
|
-
|
|
|
|
- // 挂电话推送--批量推送
|
|
|
|
- if (dsSubmitCaseRecords != null && dsSubmitCaseRecords.Count > 0)
|
|
|
|
- await _pusherProviderService.SubmitCaseRecordPusher(dsSubmitCaseRecords, default);
|
|
|
|
-
|
|
|
|
- // 统计数据
|
|
|
|
- if (dsSubmitCaseTotal != null)
|
|
|
|
- await _pusherProviderService.SubmitCaseTotalPusher(dsSubmitCaseTotal, default);
|
|
|
|
-
|
|
|
|
- // 上报补充诉求
|
|
|
|
- if (dsSupplyCaseInfoSend != null)
|
|
|
|
- await _pusherProviderService.SupplyCaseInfoSendPusher(dsSupplyCaseInfoSend, default);
|
|
|
|
-
|
|
|
|
- // 服务工单撤单
|
|
|
|
- if (dsRevokeCaseInfo != null)
|
|
|
|
- await _pusherProviderService.SendRevokeCaseInfoPusher(dsRevokeCaseInfo, default);
|
|
|
|
-
|
|
|
|
- // 服务工单催单
|
|
|
|
- if (dsRemindCaseInfo != null)
|
|
|
|
- await _pusherProviderService.SendRemindCaseInfoPusher(dsRemindCaseInfo, default);
|
|
|
|
-
|
|
|
|
- // 知识库上报
|
|
|
|
- if (dsGetKnowledgeInfoSend != null)
|
|
|
|
- await _pusherProviderService.GetKnowledgeInfoSendPusher(dsGetKnowledgeInfoSend, default);
|
|
|
|
-
|
|
|
|
- // 知识库变更
|
|
|
|
- if (dsGetKnowledgeInfoUpdate != null)
|
|
|
|
- await _pusherProviderService.GetKnowledgeInfoUpdatePusher(dsGetKnowledgeInfoUpdate, default);
|
|
|
|
-
|
|
|
|
- // 知识库下架
|
|
|
|
- if (dsGetKnowledgeInfoAbandon != null)
|
|
|
|
- await _pusherProviderService.GetKnowledgeInfoAbandonPusher(dsGetKnowledgeInfoAbandon, default);
|
|
|
|
-
|
|
|
|
- // 实时服务上报
|
|
|
|
- if (dsSendRealTimeStatus != null)
|
|
|
|
- await _pusherProviderService.SendRealTimeStatusPusher(dsSendRealTimeStatus, default);
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- //服务工单处理过程
|
|
|
|
- if (submitCaseProcesses != null && submitCaseProcesses.Count > 0)
|
|
|
|
- {
|
|
|
|
- await _pusherProviderService.SubmitCaseProcessPusher(submitCaseProcesses, default);
|
|
|
|
- // await _mediator.Publish(new SubmitCaseProcessNotification(submitCaseProcesses));
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- //服务工单处理结果
|
|
|
|
- if (submitCaseResults != null && submitCaseResults.Count > 0)
|
|
|
|
- {
|
|
|
|
- await _pusherProviderService.SubmitCaseResultPusher(submitCaseResults, default);
|
|
|
|
- // await _mediator.Publish(new SubmitCaseResultNotification(submitCaseResults));
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- //服务工单回访评价
|
|
|
|
- if (submitVisitInfos != null && submitVisitInfos.Count > 0)
|
|
|
|
- {
|
|
|
|
- await _pusherProviderService.SubmitVisitInfoPusher(submitVisitInfos, default);
|
|
|
|
- // await _mediator.Publish(new SubmitVisitInfoNotification(submitVisitInfos));
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- //附件上传处理
|
|
|
|
- if (getCaseMaterialInfos != null && getCaseMaterialInfos.Count > 0)
|
|
|
|
- {
|
|
|
|
- await _pusherProviderService.GetCaseMaterialInfoPusher(getCaseMaterialInfos, default);
|
|
|
|
- // await _mediator.Publish(new GetCaseMaterialInfoNotification(getCaseMaterialInfos));
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- else
|
|
|
|
- isContinue = false;
|
|
|
|
- #endregion
|
|
|
|
-
|
|
|
|
- #region 拉取12315工单办理信息
|
|
|
|
- //查询是否存在需要拉取办理信息的工单
|
|
|
|
- var listSendCaseInfo = await _sendCaseInfoRepository
|
|
|
|
- .Queryable()
|
|
|
|
- .OrderBy(p => p.CreationTime)
|
|
|
|
- .ToListAsync();
|
|
|
|
- //处理数据
|
|
|
|
- if (listSendCaseInfo != null && listSendCaseInfo.Count > 0)
|
|
|
|
- {
|
|
|
|
- foreach (var item in listSendCaseInfo)
|
|
|
|
- await _pusherProviderService.GetCaseDistrecordSendPusher(item.CaseSerial, default);// _mediator.Publish(new GetCaseDistrecordSendNotification(item.CaseSerial));
|
|
|
|
- }
|
|
|
|
- else
|
|
|
|
- isContinue = false;
|
|
|
|
- #endregion
|
|
|
|
-
|
|
|
|
- //如果数据都为空,停止
|
|
|
|
- if (!isContinue)
|
|
|
|
- await Task.Delay(time, stoppingToken);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
|
|
+//using Hotline.DataSharing.Province.HuiJu.Send;
|
|
|
|
+//using Hotline.DataSharing.Province.Other;
|
|
|
|
+//using Hotline.DataSharing.Province.Services;
|
|
|
|
+//using Hotline.DataSharing.Province.XieTong.Knowledge;
|
|
|
|
+//using Hotline.DataSharing.Province.XieTong.Receive;
|
|
|
|
+//using Hotline.DataSharing.Province.XieTong.Send;
|
|
|
|
+//using MediatR;
|
|
|
|
+//using Microsoft.AspNetCore.Http;
|
|
|
|
+//using Microsoft.Extensions.DependencyInjection;
|
|
|
|
+//using Microsoft.Extensions.Hosting;
|
|
|
|
+//using System.Threading;
|
|
|
|
+//using XF.Domain.Repository;
|
|
|
|
+//using static System.Runtime.InteropServices.JavaScript.JSType;
|
|
|
|
+
|
|
|
|
+//namespace Hotline.Application.DataSharing.Province
|
|
|
|
+//{
|
|
|
|
+// /// <summary>
|
|
|
|
+// /// 后台定时任务
|
|
|
|
+// /// </summary>
|
|
|
|
+// public class PushDataBgService : BackgroundService
|
|
|
|
+// {
|
|
|
|
+// private readonly IServiceScopeFactory _serviceScopeFactory;
|
|
|
|
+
|
|
|
|
+// /// <summary>
|
|
|
|
+// ///
|
|
|
|
+// /// </summary>
|
|
|
|
+// /// <param name="serviceScopeFactory"></param>
|
|
|
|
+// public PushDataBgService(IServiceScopeFactory serviceScopeFactory)
|
|
|
|
+// {
|
|
|
|
+// _serviceScopeFactory = serviceScopeFactory;
|
|
|
|
+// }
|
|
|
|
+
|
|
|
|
+// /// <summary>
|
|
|
|
+// ///
|
|
|
|
+// /// </summary>
|
|
|
|
+// /// <param name="stoppingToken"></param>
|
|
|
|
+// /// <returns></returns>
|
|
|
|
+// protected override async Task ExecuteAsync(CancellationToken stoppingToken)
|
|
|
|
+// {
|
|
|
|
+// //10分钟扫描一次数据库
|
|
|
|
+// using var sc = _serviceScopeFactory.CreateScope();
|
|
|
|
+// var time = TimeSpan.FromSeconds(60 * 10);
|
|
|
|
+// while (!stoppingToken.IsCancellationRequested)
|
|
|
|
+// {
|
|
|
|
+// using var scope = _serviceScopeFactory.CreateScope();
|
|
|
|
+// var _waitingPushDataRepository = scope.ServiceProvider.GetService<IRepository<DsWaitingPushData>>();
|
|
|
|
+// var _sendCaseInfoRepository = scope.ServiceProvider.GetService<IRepository<DsSendCaseInfo>>();
|
|
|
|
+// var _mediator = scope.ServiceProvider.GetService<IMediator>();
|
|
|
|
+// var _pusherProviderService = scope.ServiceProvider.GetService<IPusherProviderService>();
|
|
|
|
+
|
|
|
|
+// #region 批量推送省数据
|
|
|
|
+// //查询待推送数据
|
|
|
|
+// var listData = await _waitingPushDataRepository
|
|
|
|
+// .Queryable()
|
|
|
|
+// .Take(30)
|
|
|
|
+// .OrderByDescending(p => p.Priority)
|
|
|
|
+// .ToListAsync();
|
|
|
|
+// var isContinue = true;
|
|
|
|
+// if (listData != null && listData.Count > 0)
|
|
|
|
+// {
|
|
|
|
+// List<DsSubmitCaseProcess> submitCaseProcesses = new(); //服务工单处理过程
|
|
|
|
+// List<DsSubmitCaseResult> submitCaseResults = new(); //服务工单处理结果
|
|
|
|
+// List<DsSubmitVisitInfo> submitVisitInfos = new(); //服务工单回访评价
|
|
|
|
+// List<DsGetCaseMaterialInfo> getCaseMaterialInfos = new();//附件上传处理
|
|
|
|
+// DsGetCaseBackApply dsGetCaseBackApply = null;//退回申请
|
|
|
|
+// DsSendSuperviseProcessInfo dsSendSuperviseProcessInfo = null;//服务工单督办过程
|
|
|
|
+// DsSendSuperviseResultInfo dsSendSuperviseResultInfo = null;//服务工单督办结果
|
|
|
|
+// DsScreenCaseInfoSend dsScreenCaseInfoSend = null;//工单发起甄别
|
|
|
|
+// DsDelayCaseInfoSend dsDelayCaseInfoSend = null;//服务工单申请延时
|
|
|
|
+// DsZmhdCaseInfoPublic dsZmhdCaseInfoPublic = null;//政民互动提交公开
|
|
|
|
+// List<DsSubmitCaseInfo> dsSubmitCaseInfos = new();//服务工单受理推送工单--批量
|
|
|
|
+
|
|
|
|
+// DsGetCaseProcessReceive dsGetCaseProcessReceive = null;//服务工单交办处理过程
|
|
|
|
+// DsGetCaseResultReceive dsGetCaseResultReceive = null;//服务工单交办处理结果
|
|
|
|
+
|
|
|
|
+// DsGetVisitInfoReceive dsGetVisitInfoReceive = null;//服务工单交办评价
|
|
|
|
+// List<DsSubmitCaseRecord> dsSubmitCaseRecords = new();//挂电话推送--批量推送
|
|
|
|
+// DsSubmitCaseTotal dsSubmitCaseTotal = null;//统计数据
|
|
|
|
+// DsSupplyCaseInfoSend dsSupplyCaseInfoSend = null;//上报补充诉求
|
|
|
|
+// DsRevokeCaseInfo dsRevokeCaseInfo = null;//服务工单撤单
|
|
|
|
+// DsRemindCaseInfo dsRemindCaseInfo = null;//服务工单催单
|
|
|
|
+// DsGetKnowledgeInfoSend dsGetKnowledgeInfoSend = null;//知识库上报
|
|
|
|
+// DsGetKnowledgeInfoUpdate dsGetKnowledgeInfoUpdate = null;//知识库变更
|
|
|
|
+// DsGetKnowledgeInfoAbandon dsGetKnowledgeInfoAbandon = null;//知识库下架
|
|
|
|
+// DsSendRealTimeStatus dsSendRealTimeStatus = null;//实时服务上报
|
|
|
|
+// //根据查询出来数据组装推送数据
|
|
|
|
+// foreach (var item in listData)
|
|
|
|
+// {
|
|
|
|
+// switch (item.ServiceInterface)
|
|
|
|
+// {
|
|
|
|
+// case "GetCaseBackApply"://退回申请
|
|
|
|
+// dsGetCaseBackApply = System.Text.Json.JsonSerializer.Deserialize<DsGetCaseBackApply>(item.Data);
|
|
|
|
+// break;
|
|
|
|
+// case "SendSuperviseProcessInfo"://服务工单督办过程
|
|
|
|
+// dsSendSuperviseProcessInfo = System.Text.Json.JsonSerializer.Deserialize<DsSendSuperviseProcessInfo>(item.Data);
|
|
|
|
+// break;
|
|
|
|
+// case "SendSuperviseResultInfo"://服务工单督办结果
|
|
|
|
+// dsSendSuperviseResultInfo = System.Text.Json.JsonSerializer.Deserialize<DsSendSuperviseResultInfo>(item.Data);
|
|
|
|
+// break;
|
|
|
|
+// case "ScreenCaseInfoSend"://工单发起甄别
|
|
|
|
+// dsScreenCaseInfoSend = System.Text.Json.JsonSerializer.Deserialize<DsScreenCaseInfoSend>(item.Data);
|
|
|
|
+// break;
|
|
|
|
+// case "DelayCaseInfoSend"://服务工单申请延时
|
|
|
|
+// dsDelayCaseInfoSend = System.Text.Json.JsonSerializer.Deserialize<DsDelayCaseInfoSend>(item.Data);
|
|
|
|
+// break;
|
|
|
|
+// case "ZmhdCaseInfoPublic"://政民互动提交公开
|
|
|
|
+// dsZmhdCaseInfoPublic = System.Text.Json.JsonSerializer.Deserialize<DsZmhdCaseInfoPublic>(item.Data);
|
|
|
|
+// break;
|
|
|
|
+// case "SubmitCaseInfo"://服务工单受理推送工单
|
|
|
|
+// var submitCaseInfo = System.Text.Json.JsonSerializer.Deserialize<DsSubmitCaseInfo>(item.Data);
|
|
|
|
+// if (submitCaseInfo != null) dsSubmitCaseInfos.Add(submitCaseInfo);
|
|
|
|
+// break;
|
|
|
|
+// case "GetCaseProcessReceive"://服务工单交办处理过程
|
|
|
|
+// dsGetCaseProcessReceive = System.Text.Json.JsonSerializer.Deserialize<DsGetCaseProcessReceive>(item.Data);
|
|
|
|
+// break;
|
|
|
|
+// case "GetCaseResultReceive"://服务工单交办处理结果
|
|
|
|
+// dsGetCaseResultReceive = System.Text.Json.JsonSerializer.Deserialize<DsGetCaseResultReceive>(item.Data);
|
|
|
|
+// break;
|
|
|
|
+// case "GetVisitInfoReceive"://服务工单交办评价
|
|
|
|
+// dsGetVisitInfoReceive = System.Text.Json.JsonSerializer.Deserialize<DsGetVisitInfoReceive>(item.Data);
|
|
|
|
+// break;
|
|
|
|
+// case "SubmitCaseRecord"://挂电话推送--批量推送
|
|
|
|
+// var caseRecord = System.Text.Json.JsonSerializer.Deserialize<DsSubmitCaseRecord>(item.Data);
|
|
|
|
+// if (caseRecord != null) dsSubmitCaseRecords.Add(caseRecord);
|
|
|
|
+// break;
|
|
|
|
+// case "SubmitCaseTotal"://统计数据
|
|
|
|
+// dsSubmitCaseTotal = System.Text.Json.JsonSerializer.Deserialize<DsSubmitCaseTotal>(item.Data);
|
|
|
|
+// break;
|
|
|
|
+// case "SupplyCaseInfoSend"://上报补充诉求
|
|
|
|
+// dsSupplyCaseInfoSend = System.Text.Json.JsonSerializer.Deserialize<DsSupplyCaseInfoSend>(item.Data);
|
|
|
|
+// break;
|
|
|
|
+// case "SendRevokeCaseInfo"://服务工单撤单
|
|
|
|
+// dsRevokeCaseInfo = System.Text.Json.JsonSerializer.Deserialize<DsRevokeCaseInfo>(item.Data);
|
|
|
|
+// break;
|
|
|
|
+// case "SendRemindCaseInfo"://服务工单催单
|
|
|
|
+// dsRemindCaseInfo = System.Text.Json.JsonSerializer.Deserialize<DsRemindCaseInfo>(item.Data);
|
|
|
|
+// break;
|
|
|
|
+// case "GetKnowledgeInfoSend"://知识库上报
|
|
|
|
+// dsGetKnowledgeInfoSend = System.Text.Json.JsonSerializer.Deserialize<DsGetKnowledgeInfoSend>(item.Data);
|
|
|
|
+// break;
|
|
|
|
+// case "GetKnowledgeInfoUpdate"://知识库变更
|
|
|
|
+// dsGetKnowledgeInfoUpdate = System.Text.Json.JsonSerializer.Deserialize<DsGetKnowledgeInfoUpdate>(item.Data);
|
|
|
|
+// break;
|
|
|
|
+// case "GetKnowledgeInfoAbandon"://知识库下架
|
|
|
|
+// dsGetKnowledgeInfoAbandon = System.Text.Json.JsonSerializer.Deserialize<DsGetKnowledgeInfoAbandon>(item.Data);
|
|
|
|
+// break;
|
|
|
|
+// case "SendRealTimeStatus"://实时服务上报
|
|
|
|
+// dsSendRealTimeStatus = System.Text.Json.JsonSerializer.Deserialize<DsSendRealTimeStatus>(item.Data);
|
|
|
|
+// break;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+// case "SubmitCaseProcess"://服务工单处理过程
|
|
|
|
+// var caseProcess = System.Text.Json.JsonSerializer.Deserialize<DsSubmitCaseProcess>(item.Data);
|
|
|
|
+// if (caseProcess != null) submitCaseProcesses.Add(caseProcess);
|
|
|
|
+// break;
|
|
|
|
+// case "SubmitCaseResult": //服务工单处理结果
|
|
|
|
+// var caseResult = System.Text.Json.JsonSerializer.Deserialize<DsSubmitCaseResult>(item.Data);
|
|
|
|
+// if (caseResult != null) submitCaseResults.Add(caseResult);
|
|
|
|
+// break;
|
|
|
|
+// case "SubmitVisitInfo"://服务工单回访评价
|
|
|
|
+// var visitInfo = System.Text.Json.JsonSerializer.Deserialize<DsSubmitVisitInfo>(item.Data);
|
|
|
|
+// if (visitInfo != null) submitVisitInfos.Add(visitInfo);
|
|
|
|
+// break;
|
|
|
|
+// case "GetCaseMaterialInfo"://附件
|
|
|
|
+// var materialInfo = System.Text.Json.JsonSerializer.Deserialize<DsGetCaseMaterialInfo>(item.Data);
|
|
|
|
+// if (materialInfo != null) getCaseMaterialInfos.Add(materialInfo);
|
|
|
|
+// break;
|
|
|
|
+// default:
|
|
|
|
+// break;
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+
|
|
|
|
+// //推送对应消息
|
|
|
|
+// //退回申请
|
|
|
|
+// if (dsGetCaseBackApply != null)
|
|
|
|
+// await _pusherProviderService.GetCaseBackApplyPusher(dsGetCaseBackApply, default);
|
|
|
|
+
|
|
|
|
+// //服务工单督办过程
|
|
|
|
+// if (dsSendSuperviseProcessInfo != null)
|
|
|
|
+// await _pusherProviderService.SendSuperviseProcessInfoPusher(dsSendSuperviseProcessInfo, default);
|
|
|
|
+
|
|
|
|
+// //服务工单督办过程
|
|
|
|
+// if (dsSendSuperviseResultInfo != null)
|
|
|
|
+// await _pusherProviderService.SendSuperviseResultInfoPusher(dsSendSuperviseResultInfo, default);
|
|
|
|
+
|
|
|
|
+// //工单发起甄别
|
|
|
|
+// if (dsScreenCaseInfoSend != null)
|
|
|
|
+// await _pusherProviderService.ScreenCaseInfoSendPusher(dsScreenCaseInfoSend, default);
|
|
|
|
+
|
|
|
|
+// //服务工单申请延时
|
|
|
|
+// if (dsDelayCaseInfoSend != null)
|
|
|
|
+// await _pusherProviderService.DelayCaseInfoSendPusher(dsDelayCaseInfoSend, default);
|
|
|
|
+
|
|
|
|
+// //政民互动提交公开
|
|
|
|
+// if (dsZmhdCaseInfoPublic != null)
|
|
|
|
+// await _pusherProviderService.ZmhdCaseInfoPublicPusher(dsZmhdCaseInfoPublic, default);
|
|
|
|
+
|
|
|
|
+// //服务工单受理推送工单
|
|
|
|
+// if (dsSubmitCaseInfos != null && dsSubmitCaseInfos.Count > 0)
|
|
|
|
+// await _pusherProviderService.ProvinceOrderCreatedPusher(dsSubmitCaseInfos, default);
|
|
|
|
+
|
|
|
|
+// //服务工单交办处理过程
|
|
|
|
+// if (dsGetCaseProcessReceive != null)
|
|
|
|
+// await _pusherProviderService.GetCaseProcessReceivePusher(dsGetCaseProcessReceive, default);
|
|
|
|
+
|
|
|
|
+// //服务工单交办处理结果
|
|
|
|
+// if (dsGetCaseResultReceive != null)
|
|
|
|
+// await _pusherProviderService.GetCaseResultReceivePusher(dsGetCaseResultReceive, default);
|
|
|
|
+
|
|
|
|
+// //服务工单交办评价请求
|
|
|
|
+// if (dsGetVisitInfoReceive != null)
|
|
|
|
+// await _pusherProviderService.GetVisitInfoReceivePusher(dsGetVisitInfoReceive, default);
|
|
|
|
+
|
|
|
|
+// // 挂电话推送--批量推送
|
|
|
|
+// if (dsSubmitCaseRecords != null && dsSubmitCaseRecords.Count > 0)
|
|
|
|
+// await _pusherProviderService.SubmitCaseRecordPusher(dsSubmitCaseRecords, default);
|
|
|
|
+
|
|
|
|
+// // 统计数据
|
|
|
|
+// if (dsSubmitCaseTotal != null)
|
|
|
|
+// await _pusherProviderService.SubmitCaseTotalPusher(dsSubmitCaseTotal, default);
|
|
|
|
+
|
|
|
|
+// // 上报补充诉求
|
|
|
|
+// if (dsSupplyCaseInfoSend != null)
|
|
|
|
+// await _pusherProviderService.SupplyCaseInfoSendPusher(dsSupplyCaseInfoSend, default);
|
|
|
|
+
|
|
|
|
+// // 服务工单撤单
|
|
|
|
+// if (dsRevokeCaseInfo != null)
|
|
|
|
+// await _pusherProviderService.SendRevokeCaseInfoPusher(dsRevokeCaseInfo, default);
|
|
|
|
+
|
|
|
|
+// // 服务工单催单
|
|
|
|
+// if (dsRemindCaseInfo != null)
|
|
|
|
+// await _pusherProviderService.SendRemindCaseInfoPusher(dsRemindCaseInfo, default);
|
|
|
|
+
|
|
|
|
+// // 知识库上报
|
|
|
|
+// if (dsGetKnowledgeInfoSend != null)
|
|
|
|
+// await _pusherProviderService.GetKnowledgeInfoSendPusher(dsGetKnowledgeInfoSend, default);
|
|
|
|
+
|
|
|
|
+// // 知识库变更
|
|
|
|
+// if (dsGetKnowledgeInfoUpdate != null)
|
|
|
|
+// await _pusherProviderService.GetKnowledgeInfoUpdatePusher(dsGetKnowledgeInfoUpdate, default);
|
|
|
|
+
|
|
|
|
+// // 知识库下架
|
|
|
|
+// if (dsGetKnowledgeInfoAbandon != null)
|
|
|
|
+// await _pusherProviderService.GetKnowledgeInfoAbandonPusher(dsGetKnowledgeInfoAbandon, default);
|
|
|
|
+
|
|
|
|
+// // 实时服务上报
|
|
|
|
+// if (dsSendRealTimeStatus != null)
|
|
|
|
+// await _pusherProviderService.SendRealTimeStatusPusher(dsSendRealTimeStatus, default);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+// //服务工单处理过程
|
|
|
|
+// if (submitCaseProcesses != null && submitCaseProcesses.Count > 0)
|
|
|
|
+// {
|
|
|
|
+// await _pusherProviderService.SubmitCaseProcessPusher(submitCaseProcesses, default);
|
|
|
|
+// // await _mediator.Publish(new SubmitCaseProcessNotification(submitCaseProcesses));
|
|
|
|
+// }
|
|
|
|
+
|
|
|
|
+// //服务工单处理结果
|
|
|
|
+// if (submitCaseResults != null && submitCaseResults.Count > 0)
|
|
|
|
+// {
|
|
|
|
+// await _pusherProviderService.SubmitCaseResultPusher(submitCaseResults, default);
|
|
|
|
+// // await _mediator.Publish(new SubmitCaseResultNotification(submitCaseResults));
|
|
|
|
+// }
|
|
|
|
+
|
|
|
|
+// //服务工单回访评价
|
|
|
|
+// if (submitVisitInfos != null && submitVisitInfos.Count > 0)
|
|
|
|
+// {
|
|
|
|
+// await _pusherProviderService.SubmitVisitInfoPusher(submitVisitInfos, default);
|
|
|
|
+// // await _mediator.Publish(new SubmitVisitInfoNotification(submitVisitInfos));
|
|
|
|
+// }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+// //附件上传处理
|
|
|
|
+// if (getCaseMaterialInfos != null && getCaseMaterialInfos.Count > 0)
|
|
|
|
+// {
|
|
|
|
+// await _pusherProviderService.GetCaseMaterialInfoPusher(getCaseMaterialInfos, default);
|
|
|
|
+// // await _mediator.Publish(new GetCaseMaterialInfoNotification(getCaseMaterialInfos));
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// else
|
|
|
|
+// isContinue = false;
|
|
|
|
+// #endregion
|
|
|
|
+
|
|
|
|
+// #region 拉取12315工单办理信息
|
|
|
|
+// //查询是否存在需要拉取办理信息的工单
|
|
|
|
+// var listSendCaseInfo = await _sendCaseInfoRepository
|
|
|
|
+// .Queryable()
|
|
|
|
+// .OrderBy(p => p.CreationTime)
|
|
|
|
+// .ToListAsync();
|
|
|
|
+// //处理数据
|
|
|
|
+// if (listSendCaseInfo != null && listSendCaseInfo.Count > 0)
|
|
|
|
+// {
|
|
|
|
+// foreach (var item in listSendCaseInfo)
|
|
|
|
+// await _pusherProviderService.GetCaseDistrecordSendPusher(item.CaseSerial, default);// _mediator.Publish(new GetCaseDistrecordSendNotification(item.CaseSerial));
|
|
|
|
+// }
|
|
|
|
+// else
|
|
|
|
+// isContinue = false;
|
|
|
|
+// #endregion
|
|
|
|
+
|
|
|
|
+// //如果数据都为空,停止
|
|
|
|
+// if (!isContinue)
|
|
|
|
+// await Task.Delay(time, stoppingToken);
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+//}
|