|
@@ -0,0 +1,594 @@
|
|
|
+using DataSharing.Province.SendTask.ProvinceOther;
|
|
|
+using DataSharing.RawData;
|
|
|
+using DataSharing.SendTask;
|
|
|
+using DataSharing.Share.Dtos.Province;
|
|
|
+using DataSharing.Share.Dtos.Province.HuiJu;
|
|
|
+using DataSharing.Share.Enums;
|
|
|
+using Microsoft.Extensions.Logging;
|
|
|
+using Quartz;
|
|
|
+using System.Text.Json;
|
|
|
+using XF.Domain.Repository;
|
|
|
+
|
|
|
+namespace DataSharing.Province.SendTask
|
|
|
+{
|
|
|
+ public class TaskSubmitVisitInfoJob : IJob, IDisposable
|
|
|
+ {
|
|
|
+ private readonly ILogger<TaskSubmitVisitInfoJob> _logger;
|
|
|
+ private readonly IRepository<DsSendTaskProvinceOther> _sendTaskProvinceOtherRepository;
|
|
|
+ private readonly IRepository<DsWaitSendTaskProvinceOther> _waitSendTaskProvinceOtherRepository;
|
|
|
+ private readonly IChannelConfigurationManager _channelConfigurationManager;
|
|
|
+ private readonly HuiJuClient _huiJuClient;
|
|
|
+ private readonly IRepository<DsSendTaskDetailInfo> _sendTaskDetailInfoRepository;
|
|
|
+ private readonly IRepository<DsOrderVisitSend> _dsOrderVisitSendRepository;
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ ///
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="logger"></param>
|
|
|
+ /// <param name="sendTaskProvinceOtherRepository"></param>
|
|
|
+ /// <param name="waitSendTaskProvinceOtherRepository"></param>
|
|
|
+ /// <param name="channelConfigurationManager"></param>
|
|
|
+ /// <param name="huiJuClient"></param>
|
|
|
+ /// <param name="sendTaskDetailInfoRepository"></param>
|
|
|
+ /// <param name="dsOrderVisitSendRepository"></param>
|
|
|
+ public TaskSubmitVisitInfoJob(ILogger<TaskSubmitVisitInfoJob> logger,
|
|
|
+ IRepository<DsSendTaskProvinceOther> sendTaskProvinceOtherRepository,
|
|
|
+ IRepository<DsWaitSendTaskProvinceOther> waitSendTaskProvinceOtherRepository,
|
|
|
+ IChannelConfigurationManager channelConfigurationManager,
|
|
|
+ HuiJuClient huiJuClient,
|
|
|
+ IRepository<DsSendTaskDetailInfo> sendTaskDetailInfoRepository,
|
|
|
+ IRepository<DsOrderVisitSend> dsOrderVisitSendRepository)
|
|
|
+ {
|
|
|
+ _logger = logger;
|
|
|
+ _sendTaskProvinceOtherRepository = sendTaskProvinceOtherRepository;
|
|
|
+ _waitSendTaskProvinceOtherRepository = waitSendTaskProvinceOtherRepository;
|
|
|
+ _channelConfigurationManager = channelConfigurationManager;
|
|
|
+ _huiJuClient = huiJuClient;
|
|
|
+ _sendTaskDetailInfoRepository = sendTaskDetailInfoRepository;
|
|
|
+ _dsOrderVisitSendRepository = dsOrderVisitSendRepository;
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ ///
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="context"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ public async Task Execute(IJobExecutionContext context)
|
|
|
+ {
|
|
|
+ List<string> listOldData = new()
|
|
|
+ {
|
|
|
+ "RGDH9951150024050100003",
|
|
|
+"RGDH9951150024050100002",
|
|
|
+"RGDH9951150024050400002",
|
|
|
+"RGDH9951150024050400004",
|
|
|
+"RGDH9951150024050400005",
|
|
|
+"RGDH9951150024050400009",
|
|
|
+"RGDH9951150024050400010",
|
|
|
+"RGDH9951150024050400011",
|
|
|
+"RGDH9951150024050400008",
|
|
|
+"RGDH9951150024050500001",
|
|
|
+"RGDH9951150024050500005",
|
|
|
+"RGDH9951150024050500009",
|
|
|
+"RGDH9951150024050500004",
|
|
|
+"RGDH9951150024050600001",
|
|
|
+"RGDH9951150024050600002",
|
|
|
+"RGDH9951150024050600006",
|
|
|
+"RGDH9951150024050600005",
|
|
|
+"RGDH9951150024050600008",
|
|
|
+"RGDH9951150024050600004",
|
|
|
+"RGDH9951150024050600010",
|
|
|
+"RGDH9951150024050600010",
|
|
|
+"RGDH9951150024050600011",
|
|
|
+"RGDH9951150024050700001",
|
|
|
+"RGDH9951150024050800001",
|
|
|
+"RGDH9951150024050800005",
|
|
|
+"RGDH9951150024050800009",
|
|
|
+"RGDH9951150024050800008",
|
|
|
+"RGDH9951150024050800012",
|
|
|
+"RGDH9951150024050800013",
|
|
|
+"RGDH9951150024050800007",
|
|
|
+"RGDH9951150024050900002",
|
|
|
+"RGDH9951150024050900001",
|
|
|
+"RGDH9951150024050900006",
|
|
|
+"RGDH9951150024050900009",
|
|
|
+"RGDH9951150024050900007",
|
|
|
+"RGDH9951150024051000001",
|
|
|
+"RGDH9951150024051100001",
|
|
|
+"RGDH9951150024050100001",
|
|
|
+"RGDH9951150024051100004",
|
|
|
+"RGDH9951150024051100006",
|
|
|
+"RGDH9951150024051200002",
|
|
|
+"RGDH9951150024051200004",
|
|
|
+"RGDH9951150024051300002",
|
|
|
+"RGDH9951150024051300001",
|
|
|
+"RGDH9951150024051400001",
|
|
|
+"RGDH9951150024051500001",
|
|
|
+"RGDH9951150024051500002",
|
|
|
+"RGDH9951150024051500006",
|
|
|
+"RGDH9951150024051500003",
|
|
|
+"RGDH9951150024041200003",
|
|
|
+"RGDH9951150024041200004",
|
|
|
+"RGDH9951150024041200005",
|
|
|
+"RGDH9951150024041300001",
|
|
|
+"RGDH9951150024041300005",
|
|
|
+"RGDH9951150024041300006",
|
|
|
+"RGDH9951150024041300014",
|
|
|
+"RGDH9951150024041300019",
|
|
|
+"RGDH9951150024041300011",
|
|
|
+"RGDH9951150024041300018",
|
|
|
+"RGDH9951150024041300021",
|
|
|
+"RGDH9951150024041300022",
|
|
|
+"RGDH9951150024041300024",
|
|
|
+"RGDH9951150024041400001",
|
|
|
+"RGDH9951150024041400002",
|
|
|
+"RGDH9951150024041400003",
|
|
|
+"RGDH9951150024041400006",
|
|
|
+"RGDH9951150024041500004",
|
|
|
+"RGDH9951150024041500001",
|
|
|
+"RGDH9951150024041500007",
|
|
|
+"RGDH9951150024041500009",
|
|
|
+"RGDH9951150024041500008",
|
|
|
+"RGDH9951150024041500010",
|
|
|
+"RGDH9951150024041500006",
|
|
|
+"RGDH9951150024041600001",
|
|
|
+"RGDH9951150024041700002",
|
|
|
+"RGDH9951150024041700006",
|
|
|
+"RGDH9951150024041700003",
|
|
|
+"RGDH9951150024041700001",
|
|
|
+"RGDH9951150024041700005",
|
|
|
+"RGDH9951150024041800003",
|
|
|
+"RGDH9951150024041800005",
|
|
|
+"RGDH9951150024041800002",
|
|
|
+"RGDH9951150024041800001",
|
|
|
+"RGDH9951150024041800015",
|
|
|
+"RGDH9951150024041800008",
|
|
|
+"RGDH9951150024041800018",
|
|
|
+"RGDH9951150024041800022",
|
|
|
+"RGDH9951150024041800031",
|
|
|
+"RGDH9951150024041800030",
|
|
|
+"RGDH9951150024032900004",
|
|
|
+"RGDH9951150024032900001",
|
|
|
+"RGDH9951150024032900002",
|
|
|
+"RGDH9951150024032900003",
|
|
|
+"RGDH9951150024032900008",
|
|
|
+"RGDH9951150024032900010",
|
|
|
+"RGDH9951150024032900012",
|
|
|
+"RGDH9951150024032900015",
|
|
|
+"RGDH9951150024032900014",
|
|
|
+"RGDH9951150024032900019",
|
|
|
+"RGDH9951150024032900018",
|
|
|
+"RGDH9951150024032900017",
|
|
|
+"RGDH9951150024032900013",
|
|
|
+"RGDH9951150024032900022",
|
|
|
+"RGDH9951150024032900023",
|
|
|
+"RGDH9951150024032900025",
|
|
|
+"RGDH9951150024033000002",
|
|
|
+"RGDH9951150024033000004",
|
|
|
+"RGDH9951150024033000003",
|
|
|
+"RGDH9951150024033000005",
|
|
|
+"RGDH9951150024033100006",
|
|
|
+"RGDH9951150024033100005",
|
|
|
+"RGDH9951150024033100003",
|
|
|
+"RGDH9951150024033100004",
|
|
|
+"RGDH9951150024033100009",
|
|
|
+"RGDH9951150024033100002",
|
|
|
+"RGDH9951150024033100013",
|
|
|
+"RGDH9951150024033100011",
|
|
|
+"RGDH9951150024033100014",
|
|
|
+"RGDH9951150024033100015",
|
|
|
+"RGDH9951150024033100017",
|
|
|
+"QT9951150024040100006",
|
|
|
+"RGDH9951150024040100007",
|
|
|
+"RGDH9951150024040100003",
|
|
|
+"RGDH9951150024040100009",
|
|
|
+"RGDH9951150024040100002",
|
|
|
+"RGDH9951150024040100010",
|
|
|
+"RGDH9951150024040100014",
|
|
|
+"RGDH9951150024040100012",
|
|
|
+"RGDH9951150024040100017",
|
|
|
+"RGDH9951150024040100015",
|
|
|
+"RGDH9951150024040200001",
|
|
|
+"RGDH9951150024040200006",
|
|
|
+"RGDH9951150024040200004",
|
|
|
+"RGDH9951150024040200007",
|
|
|
+"RGDH9951150024040200009",
|
|
|
+"RGDH9951150024040200012",
|
|
|
+"RGDH9951150024040200015",
|
|
|
+"RGDH9951150024040200014",
|
|
|
+"RGDH9951150024040200019",
|
|
|
+"RGDH9951150024041900001",
|
|
|
+"RGDH9951150024041900003",
|
|
|
+"RGDH9951150024041900009",
|
|
|
+"RGDH9951150024042000001",
|
|
|
+"RGDH9951150024042100002",
|
|
|
+"RGDH9951150024042100003",
|
|
|
+"RGDH9951150024042100004",
|
|
|
+"RGDH9951150024042200002",
|
|
|
+"RGDH9951150024042200005",
|
|
|
+"RGDH9951150024042200003",
|
|
|
+"RGDH9951150024042200008",
|
|
|
+"RGDH9951150024042200006",
|
|
|
+"RGDH9951150024042200011",
|
|
|
+"RGDH9951150024042200012",
|
|
|
+"RGDH9951150024042200015",
|
|
|
+"RGDH9951150024042200016",
|
|
|
+"RGDH9951150024042200014",
|
|
|
+"RGDH9951150024042200021",
|
|
|
+"RGDH9951150024042200023",
|
|
|
+"RGDH9951150024042200025",
|
|
|
+"RGDH9951150024040200018",
|
|
|
+"RGDH9951150024040200022",
|
|
|
+"RGDH9951150024040200023",
|
|
|
+"RGDH9951150024040300001",
|
|
|
+"RGDH9951150024040300003",
|
|
|
+"RGDH9951150024042200027",
|
|
|
+"RGDH9951150024042300002",
|
|
|
+"RGDH9951150024042300001",
|
|
|
+"RGDH9951150024042300004",
|
|
|
+"RGDH9951150024042300006",
|
|
|
+"RGDH9951150024040300007",
|
|
|
+"RGDH9951150024040300009",
|
|
|
+"RGDH9951150024040300010",
|
|
|
+"RGDH9951150024040300012",
|
|
|
+"RGDH9951150024040400001",
|
|
|
+"RGDH9951150024042300007",
|
|
|
+"RGDH9951150024042400001",
|
|
|
+"RGDH9951150024042400005",
|
|
|
+"RGDH9951150024042400011",
|
|
|
+"RGDH9951150024042400013",
|
|
|
+"RGDH9951150024040500002",
|
|
|
+"RGDH9951150024040500001",
|
|
|
+"RGDH9951150024040600001",
|
|
|
+"RGDH9951150024040600002",
|
|
|
+"RGDH9951150024040600005",
|
|
|
+"RGDH9951150024040600004",
|
|
|
+"RGDH9951150024040700001",
|
|
|
+"RGDH9951150024040700002",
|
|
|
+"RGDH9951150024040700006",
|
|
|
+"RGDH9951150024040700005",
|
|
|
+"RGDH9951150024040700007",
|
|
|
+"RGDH9951150024040700009",
|
|
|
+"RGDH9951150024040700008",
|
|
|
+"RGDH9951150024040700011",
|
|
|
+"RGDH9951150024040700012",
|
|
|
+"RGDH9951150024040700014",
|
|
|
+"RGDH9951150024040700015",
|
|
|
+"RGDH9951150024040700019",
|
|
|
+"RGDH9951150024040700017",
|
|
|
+"RGDH9951150024040700020",
|
|
|
+"RGDH9951150024040700025",
|
|
|
+"RGDH9951150024042400015",
|
|
|
+"RGDH9951150024042400014",
|
|
|
+"RGDH9951150024042500002",
|
|
|
+"RGDH9951150024042500003",
|
|
|
+"RGDH9951150024042600002",
|
|
|
+"RGDH9951150024040700026",
|
|
|
+"RGDH9951150024040700023",
|
|
|
+"RGDH9951150024040800001",
|
|
|
+"RGDH9951150024040800003",
|
|
|
+"RGDH9951150024040800005",
|
|
|
+"RGDH9951150024040800008",
|
|
|
+"RGDH9951150024040800010",
|
|
|
+"RGDH9951150024040800011",
|
|
|
+"RGDH9951150024040800012",
|
|
|
+"RGDH9951150024040800014",
|
|
|
+"RGDH9951150024040900001",
|
|
|
+"RGDH9951150024040900002",
|
|
|
+"QT9951150024040900006",
|
|
|
+"RGDH9951150024040900009",
|
|
|
+"RGDH9951150024040900008",
|
|
|
+"RGDH9951150024042600003",
|
|
|
+"RGDH9951150024042600006",
|
|
|
+"RGDH9951150024042800001",
|
|
|
+"RGDH9951150024042800003",
|
|
|
+"RGDH9951150024042800005",
|
|
|
+"RGDH9951150024041000005",
|
|
|
+"RGDH9951150024041000007",
|
|
|
+"RGDH9951150024041000006",
|
|
|
+"RGDH9951150024041000010",
|
|
|
+"RGDH9951150024041000004",
|
|
|
+"RGDH9951150024042800009",
|
|
|
+"RGDH9951150024042800006",
|
|
|
+"RGDH9951150024042800008",
|
|
|
+"RGDH9951150024042800012",
|
|
|
+"RGDH9951150024042900002",
|
|
|
+"RGDH9951150024042900001",
|
|
|
+"RGDH9951150024042900005",
|
|
|
+"RGDH9951150024043000005",
|
|
|
+"RGDH9951150024043000007",
|
|
|
+"RGDH9951150024043000008",
|
|
|
+"RGDH9951150024041100001",
|
|
|
+"RGDH9951150024041100006",
|
|
|
+"RGDH9951150024041100004",
|
|
|
+"RGDH9951150024062450001",
|
|
|
+"RGDH9951150024062450002",
|
|
|
+"RGDH9951150024062450007",
|
|
|
+"RGDH9951150024062450008",
|
|
|
+"RGDH9951150024062450009",
|
|
|
+"RGDH9951150024062450011",
|
|
|
+"RGDH9951150024062450012",
|
|
|
+"RGDH9951150024062450013",
|
|
|
+"RGDH9951150024062450014",
|
|
|
+"RGDH9951150024062450016",
|
|
|
+"RGDH9951150024062450017",
|
|
|
+"RGDH9951150024062450018",
|
|
|
+"RGDH9951150024062450019",
|
|
|
+"RGDH9951150024062450020",
|
|
|
+"RGDH9951150024062450022",
|
|
|
+"RGDH9951150024062450023",
|
|
|
+"RGDH9951150024062450024",
|
|
|
+"RGDH9951150024062450025",
|
|
|
+"RGDH9951150024062450026",
|
|
|
+"RGDH9951150024062450027",
|
|
|
+"RGDH9951150024062450028",
|
|
|
+"RGDH9951150024062450029",
|
|
|
+"RGDH9951150024062450030",
|
|
|
+"RGDH9951150024062450031",
|
|
|
+"RGDH9951150024062450033",
|
|
|
+"RGDH9951150024062450034",
|
|
|
+"RGDH9951150024062450035",
|
|
|
+"RGDH9951150024062450036",
|
|
|
+"RGDH9951150024062450037",
|
|
|
+"RGDH9951150024062450038",
|
|
|
+"RGDH9951150024062450039",
|
|
|
+"RGDH9951150024062450040",
|
|
|
+"RGDH9951150024062450041",
|
|
|
+"RGDH9951150024062450042",
|
|
|
+"RGDH9951150024062450043",
|
|
|
+"RGDH9951150024062450044",
|
|
|
+"RGDH9951150024062450045",
|
|
|
+"RGDH9951150024062450046",
|
|
|
+"RGDH9951150024062450047",
|
|
|
+"RGDH9951150024062450048",
|
|
|
+"RGDH9951150024062450049",
|
|
|
+"RGDH9951150024062450050",
|
|
|
+"RGDH9951150024062450051",
|
|
|
+"RGDH9951150024062450052",
|
|
|
+"RGDH9951150024062450021",
|
|
|
+"RGDH9951150024062450053",
|
|
|
+"RGDH9951150024062450054",
|
|
|
+"RGDH9951150024062450055",
|
|
|
+"RGDH9951150024062450056",
|
|
|
+"RGDH9951150024062450060",
|
|
|
+"RGDH9951150024062450062",
|
|
|
+"RGDH9951150024062450064",
|
|
|
+"RGDH9951150024062450065",
|
|
|
+"RGDH9951150024062450066",
|
|
|
+"RGDH9951150024062450067",
|
|
|
+"RGDH9951150024062450068",
|
|
|
+"RGDH9951150024062450069",
|
|
|
+"RGDH9951150024062450070",
|
|
|
+"RGDH9951150024062450071",
|
|
|
+"RGDH9951150024062450072",
|
|
|
+"RGDH9951150024062450073",
|
|
|
+"RGDH9951150024062450074",
|
|
|
+"RGDH9951150024062450076",
|
|
|
+"RGDH9951150024062450077",
|
|
|
+"RGDH9951150024062450078",
|
|
|
+"RGDH9951150024062450079",
|
|
|
+"RGDH9951150024062450080",
|
|
|
+"RGDH9951150024062450081",
|
|
|
+"RGDH9951150024062450058",
|
|
|
+"RGDH9951150024062450082",
|
|
|
+"RGDH9951150024062450084",
|
|
|
+"RGDH9951150024062450085",
|
|
|
+"RGDH9951150024062450086",
|
|
|
+"RGDH9951150024062450087",
|
|
|
+"RGDH9951150024062450057",
|
|
|
+"RGDH9951150024062450088",
|
|
|
+"RGDH9951150024062450089",
|
|
|
+"RGDH9951150024062450090",
|
|
|
+"RGDH9951150024062450091",
|
|
|
+"RGDH9951150024062450093",
|
|
|
+"RGDH9951150024062450094",
|
|
|
+"RGDH9951150024062450095",
|
|
|
+"RGDH9951150024062450096",
|
|
|
+"RGDH9951150024062450097",
|
|
|
+"RGDH9951150024062450098",
|
|
|
+"RGDH9951150024062450099",
|
|
|
+"RGDH9951150024062450100",
|
|
|
+"RGDH9951150024062450101",
|
|
|
+"RGDH9951150024062450102",
|
|
|
+"RGDH9951150024062450103",
|
|
|
+"RGDH9951150024062450104",
|
|
|
+"RGDH9951150024062450105",
|
|
|
+"RGDH9951150024062450106",
|
|
|
+"RGDH9951150024062450107",
|
|
|
+"RGDH9951150024062450108",
|
|
|
+"RGDH9951150024062450109",
|
|
|
+"RGDH9951150024062450110",
|
|
|
+"RGDH9951150024062450111",
|
|
|
+"RGDH9951150024062450112",
|
|
|
+"RGDH9951150024062450113",
|
|
|
+"RGDH9951150024062450114",
|
|
|
+"RGDH9951150024062450118",
|
|
|
+"RGDH9951150024062450116",
|
|
|
+"RGDH9951150024062450119",
|
|
|
+"RGDH9951150024062450120",
|
|
|
+"RGDH9951150024062450121",
|
|
|
+"RGDH9951150024062450122",
|
|
|
+"RGDH9951150024062450123",
|
|
|
+"RGDH9951150024062550160"
|
|
|
+ };
|
|
|
+
|
|
|
+ var configProvince = _channelConfigurationManager.GetConfigurationProvince();
|
|
|
+ //加载数据
|
|
|
+ var tasks = await _waitSendTaskProvinceOtherRepository.Queryable()
|
|
|
+ .Where(d => d.State == EWaitSendTaskState.WaitPush && d.SendTimes <= 6 && d.TaskType == "SubmitVisitInfo")
|
|
|
+ .OrderBy(d => d.CreationTime)
|
|
|
+ .Take(50)
|
|
|
+ .ToListAsync(context.CancellationToken);
|
|
|
+
|
|
|
+ _logger.LogWarning("业务汇聚-服务工单评价读取数据条数--------------------------------------" + tasks.Count);
|
|
|
+
|
|
|
+ if (tasks.Count != 0)
|
|
|
+ {
|
|
|
+ #region 处理请求参数
|
|
|
+ var request = new ProvinceListRequest<Share.Dtos.Province.HuiJu.SubmitVisitInfo>(configProvince.ClientId, configProvince.ClientSecret);
|
|
|
+ List<Share.Dtos.Province.HuiJu.SubmitVisitInfo> listOrder = [];
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ List<DsWaitSendTaskProvinceOther> taskData = [];
|
|
|
+
|
|
|
+ //处理推送数据
|
|
|
+ foreach (var sendTask in tasks)
|
|
|
+ {
|
|
|
+ //状态更改为推送中
|
|
|
+ sendTask.State = EWaitSendTaskState.Pushing;
|
|
|
+ //使用乐观锁,控制数据
|
|
|
+ if (await _waitSendTaskProvinceOtherRepository.Updateable(sendTask).ExecuteCommandWithOptLockAsync() > 0)
|
|
|
+ {
|
|
|
+ if (listOldData.Contains(sendTask.ProvinceNo))
|
|
|
+ {
|
|
|
+ //删除待推送表
|
|
|
+ await _waitSendTaskProvinceOtherRepository.RemoveAsync(sendTask, cancellationToken: context.CancellationToken);
|
|
|
+ #region 处理数据推送主表数据
|
|
|
+ //查询主表
|
|
|
+ var sendData = await _sendTaskProvinceOtherRepository.GetAsync(p => p.Id == sendTask.Id, context.CancellationToken);
|
|
|
+ if (sendData != null)
|
|
|
+ {
|
|
|
+ sendData.LastTime = DateTime.Now;
|
|
|
+ sendData.SendTimes = sendData.SendTimes + 1;
|
|
|
+
|
|
|
+ if (sendData.FirstTime is null)
|
|
|
+ sendData.FirstTime = DateTime.Now;
|
|
|
+
|
|
|
+ sendData.IsSuccess = ESendTaskState.PushSuccess;
|
|
|
+ await _sendTaskProvinceOtherRepository.UpdateAsync(sendData, cancellationToken: context.CancellationToken);
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ var tempData = JsonSerializer.Deserialize<SubmitVisitInfo>(sendTask.RequestData, ProvinceJsonSerializerOptions.UnStandardDatetimeJsonOptions);
|
|
|
+ if (tempData != null)
|
|
|
+ {
|
|
|
+ //组装这一条数据
|
|
|
+ listOrder.Add(tempData);
|
|
|
+ taskData.Add(sendTask);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ _logger.LogWarning("业务汇聚-服务工单评价锁定条数--------------------------------------" + taskData.Count);
|
|
|
+
|
|
|
+ if (listOrder != null && listOrder.Count > 0)
|
|
|
+ {
|
|
|
+ request.SetData(listOrder);
|
|
|
+ var jsonData = request.ToString();
|
|
|
+ _logger.LogWarning("业务汇聚服务工单评价请求参数--------------------------------------" + jsonData);
|
|
|
+ ProvinceResponse result = new();
|
|
|
+ string error = "";
|
|
|
+ //执行推送任务
|
|
|
+ try
|
|
|
+ {
|
|
|
+ result = await _huiJuClient.RequestAsync<ProvinceResponse>(configProvince.HuiJu + PtahDefaults.SubmitVisitInfo, "Post", jsonData, context.CancellationToken);
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ error = ex.Message;
|
|
|
+ }
|
|
|
+ _logger.LogWarning("业务汇聚-服务工单评价返回参数--------------------------------------" + System.Text.RegularExpressions.Regex.Unescape(JsonSerializer.Serialize(result)));
|
|
|
+ if (result != null)
|
|
|
+ {
|
|
|
+ //处理数据
|
|
|
+ foreach (var item in taskData)
|
|
|
+ {
|
|
|
+ //查询是否有错误
|
|
|
+ //有错误处理
|
|
|
+ //没有错误删除待推送表,更新主表
|
|
|
+ bool isError = false;
|
|
|
+ if (result == null || result.Custom == null || result.ReturnInfo == null)
|
|
|
+ {
|
|
|
+ //请求报错,那么则所有的推送失败
|
|
|
+ isError = true;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if (result.Custom.ErrorObjs.Exists(p => p.CaseSerial == item.ProvinceNo && p.ErrorMsg != "本次推送内容中该条数据重复,跳过"))
|
|
|
+ isError = true;
|
|
|
+ }
|
|
|
+
|
|
|
+ #region 处理待推送表数据
|
|
|
+ //处理待推送数据
|
|
|
+ if (isError)
|
|
|
+ {
|
|
|
+ //修改
|
|
|
+ item.LastTime = DateTime.Now;
|
|
|
+ item.SendTimes = item.SendTimes + 1;
|
|
|
+
|
|
|
+ if (item.FirstTime is null)
|
|
|
+ item.FirstTime = DateTime.Now;
|
|
|
+
|
|
|
+ if (item.SendTimes >= 7)
|
|
|
+ item.State = EWaitSendTaskState.PushFail;
|
|
|
+ else
|
|
|
+ item.State = EWaitSendTaskState.WaitPush;
|
|
|
+
|
|
|
+ //修改待推送表
|
|
|
+ await _waitSendTaskProvinceOtherRepository.UpdateAsync(item, context.CancellationToken);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ //删除
|
|
|
+ await _waitSendTaskProvinceOtherRepository.RemoveAsync(item, cancellationToken: context.CancellationToken);
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #region 处理数据推送主表数据
|
|
|
+ //查询主表
|
|
|
+ var sendData = await _sendTaskProvinceOtherRepository.GetAsync(p => p.Id == item.Id, context.CancellationToken);
|
|
|
+ if (sendData != null)
|
|
|
+ {
|
|
|
+ sendData.LastTime = DateTime.Now;
|
|
|
+ sendData.SendTimes = sendData.SendTimes + 1;
|
|
|
+
|
|
|
+ if (sendData.FirstTime is null)
|
|
|
+ sendData.FirstTime = DateTime.Now;
|
|
|
+
|
|
|
+ sendData.IsSuccess = isError == false ? ESendTaskState.PushSuccess : ESendTaskState.PushFail;
|
|
|
+ await _sendTaskProvinceOtherRepository.UpdateAsync(sendData, cancellationToken: context.CancellationToken);
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #region 新增推送明细
|
|
|
+ //新增明细
|
|
|
+ DsSendTaskDetailInfo dsSendTaskDetailInfo = new()
|
|
|
+ {
|
|
|
+ TaskId = item.Id,
|
|
|
+ IsSuccess = !isError,
|
|
|
+ Result = System.Text.RegularExpressions.Regex.Unescape(JsonSerializer.Serialize(result)),
|
|
|
+ ResultErrorData = error,
|
|
|
+ ProcessingServices = _channelConfigurationManager.GetConfigurationProcessingServices()
|
|
|
+ };
|
|
|
+ await _sendTaskDetailInfoRepository.AddAsync(dsSendTaskDetailInfo, context.CancellationToken);
|
|
|
+ #endregion
|
|
|
+
|
|
|
+ #region 处理回访数据推送时间
|
|
|
+ if (!isError)
|
|
|
+ {
|
|
|
+ var visitData = await _dsOrderVisitSendRepository.GetAsync(p => p.ProvinceNo == item.ProvinceNo, context.CancellationToken);
|
|
|
+ if (visitData != null)
|
|
|
+ {
|
|
|
+ if (visitData.FirstSendProvinceTime is null)
|
|
|
+ visitData.FirstSendProvinceTime = DateTime.Now;
|
|
|
+
|
|
|
+ visitData.LastSendProvinceTime = DateTime.Now;
|
|
|
+ await _dsOrderVisitSendRepository.UpdateAsync(visitData, context.CancellationToken);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public void Dispose()
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|