|
@@ -1,27 +1,19 @@
|
|
|
using DataSharing.Province.SendTask.ProvinceOther;
|
|
|
+using DataSharing.RawData;
|
|
|
using DataSharing.SendTask;
|
|
|
-using DataSharing.Share.Dtos.HotlineWeb;
|
|
|
using DataSharing.Share.Dtos.Province;
|
|
|
using DataSharing.Share.Enums;
|
|
|
using Microsoft.Extensions.Logging;
|
|
|
using Newtonsoft.Json;
|
|
|
using Quartz;
|
|
|
-using System;
|
|
|
-using System.Collections.Generic;
|
|
|
-using System.Linq;
|
|
|
-using System.Net.Http;
|
|
|
using System.Net;
|
|
|
-using System.Text;
|
|
|
-using System.Text.Json;
|
|
|
-using System.Threading;
|
|
|
-using System.Threading.Tasks;
|
|
|
using XF.Domain.Repository;
|
|
|
-using static System.Runtime.InteropServices.JavaScript.JSType;
|
|
|
-using System.Xml.Linq;
|
|
|
-using DataSharing.RawData;
|
|
|
|
|
|
namespace DataSharing.Province.SendTask
|
|
|
{
|
|
|
+ /// <summary>
|
|
|
+ ///
|
|
|
+ /// </summary>
|
|
|
public class TaskProvinceOtherJob : IJob, IDisposable
|
|
|
{
|
|
|
private readonly ILogger<TaskProvinceOtherJob> _logger;
|
|
@@ -34,6 +26,18 @@ namespace DataSharing.Province.SendTask
|
|
|
private readonly IHttpClientFactory _httpClientFactory;
|
|
|
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="xieTongClient"></param>
|
|
|
+ /// <param name="sendTaskDetailInfoRepository"></param>
|
|
|
+ /// <param name="httpClientFactory"></param>
|
|
|
+ /// <param name="dsOrderVisitSendRepository"></param>
|
|
|
public TaskProvinceOtherJob(ILogger<TaskProvinceOtherJob> logger,
|
|
|
IRepository<DsSendTaskProvinceOther> sendTaskProvinceOtherRepository,
|
|
|
IRepository<DsWaitSendTaskProvinceOther> waitSendTaskProvinceOtherRepository,
|
|
@@ -72,7 +76,6 @@ namespace DataSharing.Province.SendTask
|
|
|
|
|
|
if (tasks.Count != 0)
|
|
|
{
|
|
|
-
|
|
|
//处理推送数据
|
|
|
foreach (var sendTask in tasks)
|
|
|
{
|
|
@@ -117,6 +120,9 @@ namespace DataSharing.Province.SendTask
|
|
|
}
|
|
|
}
|
|
|
_logger.LogWarning("省接口返回:" + name + "--------------" + System.Text.Json.JsonSerializer.Serialize(result));
|
|
|
+
|
|
|
+ //写入明细表
|
|
|
+ DsSendTaskDetailInfo dsSendTaskInfo = new() { TaskId = sendTask.Id, Result = System.Text.Json.JsonSerializer.Serialize(result), ResultErrorData = error };
|
|
|
if (result is not null)
|
|
|
{
|
|
|
#region 处理待同步表数据
|
|
@@ -139,14 +145,10 @@ namespace DataSharing.Province.SendTask
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
|
+ #region 处理推送任务表
|
|
|
var sendTaskData = await _sendTaskProvinceOtherRepository.GetAsync(p => p.Id == sendTask.Id, context.CancellationToken);
|
|
|
if (sendTaskData != null)
|
|
|
{
|
|
|
- #region 处理推送任务表,推送明细表
|
|
|
-
|
|
|
- //写入明细表
|
|
|
- DsSendTaskDetailInfo dsSendTaskInfo = new() { TaskId = sendTask.Id, Result = System.Text.Json.JsonSerializer.Serialize(result) };
|
|
|
-
|
|
|
//处理推送时间
|
|
|
sendTaskData.LastTime = DateTime.Now;
|
|
|
sendTaskData.SendTimes = sendTaskData.SendTimes + 1;
|
|
@@ -160,34 +162,32 @@ namespace DataSharing.Province.SendTask
|
|
|
dsSendTaskInfo.IsSuccess = true;
|
|
|
}
|
|
|
else
|
|
|
- {
|
|
|
- dsSendTaskInfo.ResultErrorData = error;
|
|
|
sendTaskData.IsSuccess = ESendTaskState.PushFail;
|
|
|
- }
|
|
|
-
|
|
|
- await _sendTaskDetailInfoRepository.AddAsync(dsSendTaskInfo, context.CancellationToken);
|
|
|
+
|
|
|
await _sendTaskProvinceOtherRepository.UpdateAsync(sendTaskData, context.CancellationToken);
|
|
|
- #endregion
|
|
|
+
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
|
|
|
- #region 处理回访数据推送时间
|
|
|
- if (result.ReturnInfo is not null && result.ReturnInfo.Code == "1")
|
|
|
+ #region 处理回访数据推送时间
|
|
|
+ if (result.ReturnInfo is not null && result.ReturnInfo.Code == "1")
|
|
|
+ {
|
|
|
+ if (sendTask.TaskType == "SubmitVisitInfo" || sendTask.TaskType == "GetVisitInfoReceive")
|
|
|
{
|
|
|
- if (sendTask.TaskType == "SubmitVisitInfo" || sendTask.TaskType == "GetVisitInfoReceive")
|
|
|
+ var visitData = await _dsOrderVisitSendRepository.GetAsync(p => p.ProvinceNo == sendTaskData.ProvinceNo, context.CancellationToken);
|
|
|
+ if (visitData != null)
|
|
|
{
|
|
|
- var visitData = await _dsOrderVisitSendRepository.GetAsync(p => p.ProvinceNo == sendTaskData.ProvinceNo, context.CancellationToken);
|
|
|
- if (visitData != null)
|
|
|
- {
|
|
|
- if (visitData.FirstSendProvinceTime is null)
|
|
|
- visitData.FirstSendProvinceTime = DateTime.Now;
|
|
|
+ if (visitData.FirstSendProvinceTime is null)
|
|
|
+ visitData.FirstSendProvinceTime = DateTime.Now;
|
|
|
|
|
|
- visitData.LastSendProvinceTime = DateTime.Now;
|
|
|
- await _dsOrderVisitSendRepository.UpdateAsync(visitData, context.CancellationToken);
|
|
|
- }
|
|
|
+ visitData.LastSendProvinceTime = DateTime.Now;
|
|
|
+ await _dsOrderVisitSendRepository.UpdateAsync(visitData, context.CancellationToken);
|
|
|
}
|
|
|
}
|
|
|
- #endregion
|
|
|
}
|
|
|
+ #endregion
|
|
|
}
|
|
|
+ await _sendTaskDetailInfoRepository.AddAsync(dsSendTaskInfo, context.CancellationToken);
|
|
|
}
|
|
|
}
|
|
|
}
|