|
@@ -74,9 +74,10 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
private readonly PusherProvider _pusherProvider;
|
|
|
private readonly IHttpClientFactory _httpClientFactory;
|
|
|
private readonly IRepository<DsGetCaseDistrecordSend> _getCaseDistrecordSendRepository;
|
|
|
+ private readonly XieTongClient _xieTongClient;
|
|
|
|
|
|
/// <summary>
|
|
|
- /// 注入
|
|
|
+ ///
|
|
|
/// </summary>
|
|
|
/// <param name="submitCaseInfoRepository"></param>
|
|
|
/// <param name="mapper"></param>
|
|
@@ -128,6 +129,7 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
/// <param name="pusherProvider"></param>
|
|
|
/// <param name="httpClientFactory"></param>
|
|
|
/// <param name="getCaseDistrecordSendRepository"></param>
|
|
|
+ /// <param name="xieTongClient"></param>
|
|
|
public PusherProviderService(IRepository<DsSubmitCaseInfo> submitCaseInfoRepository,
|
|
|
IMapper mapper,
|
|
|
IMediator mediator,
|
|
@@ -177,7 +179,8 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
IRepository<DsOrderWorkFlow> dataOrderWorkFlowRepository,
|
|
|
PusherProvider pusherProvider,
|
|
|
IHttpClientFactory httpClientFactory,
|
|
|
- IRepository<DsGetCaseDistrecordSend> getCaseDistrecordSendRepository)
|
|
|
+ IRepository<DsGetCaseDistrecordSend> getCaseDistrecordSendRepository,
|
|
|
+ XieTongClient xieTongClient)
|
|
|
{
|
|
|
_submitCaseInfoRepository = submitCaseInfoRepository;
|
|
|
_mapper = mapper;
|
|
@@ -229,6 +232,7 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
_pusherProvider = pusherProvider;
|
|
|
_httpClientFactory = httpClientFactory;
|
|
|
_getCaseDistrecordSendRepository = getCaseDistrecordSendRepository;
|
|
|
+ _xieTongClient = xieTongClient;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
@@ -238,38 +242,52 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
/// <param name="submitCaseInfo"></param>
|
|
|
/// <param name="cancellationToken"></param>
|
|
|
/// <returns></returns>
|
|
|
- public async Task ProvinceOrderCreatedPusher(DsSubmitCaseInfo submitCaseInfo, CancellationToken cancellationToken)
|
|
|
+ public async Task ProvinceOrderCreatedPusher(List<DsSubmitCaseInfo> submitCaseInfo, CancellationToken cancellationToken)
|
|
|
{
|
|
|
var pusher = _pusherProvider.CreatePusher(_channelConfigurationManager);
|
|
|
|
|
|
- var dataReceive = _mapper.Map<CaseInfo>(submitCaseInfo);
|
|
|
+ var dataReceive = _mapper.Map<List<CaseInfo>>(submitCaseInfo);
|
|
|
var request = new SubmitCaseInfoRequest();
|
|
|
|
|
|
request.ForeachClass(dataReceive);
|
|
|
|
|
|
var data = new SubmitCaseInfoData
|
|
|
{
|
|
|
- CaseInfos = new List<CaseInfo>
|
|
|
- {
|
|
|
- dataReceive
|
|
|
- }
|
|
|
+ CaseInfos = dataReceive
|
|
|
};
|
|
|
|
|
|
request.SetData(data);
|
|
|
|
|
|
var response = await pusher.PushOrderCreatedAsync(request, cancellationToken);
|
|
|
-
|
|
|
//如果推送成功修改数据状态
|
|
|
if (response != null)
|
|
|
{
|
|
|
- if (response.Code == "1")
|
|
|
- submitCaseInfo.SyncState = "1";
|
|
|
- else
|
|
|
- submitCaseInfo.SyncState = "2";
|
|
|
+ if (response != null)
|
|
|
+ {
|
|
|
+ List<ErrorInfo> list = new();
|
|
|
+ if (response.custom != null && response.custom.errorObjs != null && response.custom.errorObjs.Count > 0)
|
|
|
+ {
|
|
|
+ list = response.custom.errorObjs;
|
|
|
+ }
|
|
|
+ foreach (var item in submitCaseInfo)
|
|
|
+ {
|
|
|
+ if (list != null && list.Count > 0)
|
|
|
+ {
|
|
|
+ if (list.Find(p => p.caseid == item.CaseSerial) != null)
|
|
|
+ item.SyncState = "2";
|
|
|
+ else
|
|
|
+ item.SyncState = "1";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ item.SyncState = "1";
|
|
|
+
|
|
|
+ await _submitCaseInfoRepository.UpdateAsync(item, cancellationToken);
|
|
|
|
|
|
- submitCaseInfo.ReturnResult = JsonConvert.SerializeObject(response);
|
|
|
- await _submitCaseInfoRepository.UpdateAsync(submitCaseInfo, cancellationToken);
|
|
|
+ //处理同步记录
|
|
|
+ await UpdateWaitingPushData(item.Id, item.SyncState, JsonConvert.SerializeObject(response), cancellationToken: cancellationToken);
|
|
|
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -279,7 +297,7 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
/// <param name="dto"></param>
|
|
|
/// <param name="cancellationToken"></param>
|
|
|
/// <returns></returns>
|
|
|
- public async Task SubmitVisitInfoPusher(DsGetVisitInfoReceive data, CancellationToken cancellationToken)
|
|
|
+ public async Task GetVisitInfoReceivePusher(DsGetVisitInfoReceive data, CancellationToken cancellationToken)
|
|
|
{
|
|
|
//信息上报
|
|
|
var pusher = _pusherProvider.CreatePusher(_channelConfigurationManager);
|
|
@@ -302,6 +320,10 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
|
|
|
data.ReturnResult = JsonConvert.SerializeObject(response);
|
|
|
await _getVisitInfoReceiveRepository.UpdateAsync(data, cancellationToken);
|
|
|
+
|
|
|
+ //处理同步记录
|
|
|
+ await UpdateWaitingPushData(data.Id, data.SyncState, JsonConvert.SerializeObject(response), cancellationToken: cancellationToken);
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -327,18 +349,47 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
});
|
|
|
|
|
|
var response = await pusher.PushSubmitCaseRecordAsync(request, cancellationToken);
|
|
|
-
|
|
|
//如果推送成功修改数据状态
|
|
|
if (response != null)
|
|
|
{
|
|
|
- //if (response.Code == "1")
|
|
|
- // notification.DataOrder.SyncState = "1";
|
|
|
- //else
|
|
|
- // notification.DataOrder.SyncState = "2";
|
|
|
+ if (response != null)
|
|
|
+ {
|
|
|
+ List<ErrorInfo> list = new();
|
|
|
+ if (response.custom != null && response.custom.errorObjs != null && response.custom.errorObjs.Count > 0)
|
|
|
+ {
|
|
|
+ list = response.custom.errorObjs;
|
|
|
+ }
|
|
|
+ foreach (var item in dto)
|
|
|
+ {
|
|
|
+ if (list != null && list.Count > 0)
|
|
|
+ {
|
|
|
+ if (list.Find(p => p.caseid == item.CaseSerial) != null)
|
|
|
+ item.SyncState = "2";
|
|
|
+ else
|
|
|
+ item.SyncState = "1";
|
|
|
+ }
|
|
|
+ else
|
|
|
+ item.SyncState = "1";
|
|
|
|
|
|
- //notification.DataOrder.ReturnResult = Newtonsoft.Json.JsonConvert.SerializeObject(response);
|
|
|
- //await _submitCaseRecordRepository.UpdateAsync(notification.DataOrder);
|
|
|
+ await _submitCaseRecordRepository.UpdateAsync(item, cancellationToken);
|
|
|
+
|
|
|
+ //处理同步记录
|
|
|
+ await UpdateWaitingPushData(item.Id, item.SyncState, JsonConvert.SerializeObject(response), cancellationToken: cancellationToken);
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
+ ////如果推送成功修改数据状态
|
|
|
+ //if (response != null)
|
|
|
+ //{
|
|
|
+ // //if (response.Code == "1")
|
|
|
+ // // notification.DataOrder.SyncState = "1";
|
|
|
+ // //else
|
|
|
+ // // notification.DataOrder.SyncState = "2";
|
|
|
+
|
|
|
+ // //notification.DataOrder.ReturnResult = Newtonsoft.Json.JsonConvert.SerializeObject(response);
|
|
|
+ // //await _submitCaseRecordRepository.UpdateAsync(notification.DataOrder);
|
|
|
+ //}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -411,6 +462,9 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
|
|
|
caseInfo.ReturnResult = Newtonsoft.Json.JsonConvert.SerializeObject(response);
|
|
|
await _receiveCaseExtendsRepository.UpdateAsync(caseInfo, cancellationToken);
|
|
|
+ //处理同步记录
|
|
|
+ await UpdateWaitingPushData(caseInfo.Id, caseInfo.SyncState, JsonConvert.SerializeObject(response), cancellationToken: cancellationToken);
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -444,6 +498,9 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
|
|
|
dto.ReturnResult = JsonConvert.SerializeObject(response);
|
|
|
await _sendCaseInfoRepository.UpdateAsync(dto, cancellationToken);
|
|
|
+ //处理同步记录
|
|
|
+ await UpdateWaitingPushData(dto.Id, dto.SyncState, JsonConvert.SerializeObject(response), cancellationToken: cancellationToken);
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -453,7 +510,7 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
/// <param name="dto"></param>
|
|
|
/// <param name="cancellationToken"></param>
|
|
|
/// <returns></returns>
|
|
|
- public async Task SubmitCaseProcessPusher(DsGetCaseProcessReceive dto, CancellationToken cancellationToken)
|
|
|
+ public async Task GetCaseProcessReceivePusher(DsGetCaseProcessReceive dto, CancellationToken cancellationToken)
|
|
|
{
|
|
|
var pusher = _pusherProvider.CreatePusher(_channelConfigurationManager);
|
|
|
|
|
@@ -475,6 +532,8 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
|
|
|
dto.ReturnResult = JsonConvert.SerializeObject(response);
|
|
|
await _getCaseProcessReceiveRepository.UpdateAsync(dto, cancellationToken);
|
|
|
+ //处理同步记录
|
|
|
+ await UpdateWaitingPushData(dto.Id, dto.SyncState, JsonConvert.SerializeObject(response), cancellationToken: cancellationToken);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -506,6 +565,8 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
|
|
|
dto.ReturnResult = JsonConvert.SerializeObject(response);
|
|
|
await _getCaseBackApplyRepository.UpdateAsync(dto, cancellationToken);
|
|
|
+ //处理同步记录
|
|
|
+ await UpdateWaitingPushData(dto.Id, dto.SyncState, JsonConvert.SerializeObject(response), cancellationToken: cancellationToken);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -537,6 +598,8 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
|
|
|
dto.ReturnResult = JsonConvert.SerializeObject(response);
|
|
|
await _sendSuperviseProcessInfoRepository.UpdateAsync(dto, cancellationToken);
|
|
|
+ //处理同步记录
|
|
|
+ await UpdateWaitingPushData(dto.Id, dto.SyncState, JsonConvert.SerializeObject(response), cancellationToken: cancellationToken);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -568,6 +631,8 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
|
|
|
dto.ReturnResult = JsonConvert.SerializeObject(response);
|
|
|
await _sendSuperviseResultInfoRepository.UpdateAsync(dto, cancellationToken);
|
|
|
+ //处理同步记录
|
|
|
+ await UpdateWaitingPushData(dto.Id, dto.SyncState, JsonConvert.SerializeObject(response), cancellationToken: cancellationToken);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -600,6 +665,8 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
|
|
|
dto.ReturnResult = JsonConvert.SerializeObject(response);
|
|
|
await _screenCaseInfoSendRepository.UpdateAsync(dto, cancellationToken);
|
|
|
+ //处理同步记录
|
|
|
+ await UpdateWaitingPushData(dto.Id, dto.SyncState, JsonConvert.SerializeObject(response), cancellationToken: cancellationToken);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -631,6 +698,8 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
|
|
|
dto.ReturnResult = Newtonsoft.Json.JsonConvert.SerializeObject(response);
|
|
|
await _remindCaseInfoRepository.UpdateAsync(dto, cancellationToken);
|
|
|
+ //处理同步记录
|
|
|
+ await UpdateWaitingPushData(dto.Id, dto.SyncState, JsonConvert.SerializeObject(response), cancellationToken: cancellationToken);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -662,6 +731,8 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
|
|
|
dto.ReturnResult = Newtonsoft.Json.JsonConvert.SerializeObject(response);
|
|
|
await _getKnowledgeInfoSendRepository.UpdateAsync(dto, cancellationToken);
|
|
|
+ //处理同步记录
|
|
|
+ await UpdateWaitingPushData(dto.Id, dto.SyncState, JsonConvert.SerializeObject(response), cancellationToken: cancellationToken);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -693,6 +764,8 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
|
|
|
dto.ReturnResult = Newtonsoft.Json.JsonConvert.SerializeObject(response);
|
|
|
await _getKnowledgeInfoUpdateRepository.UpdateAsync(dto, cancellationToken);
|
|
|
+ //处理同步记录
|
|
|
+ await UpdateWaitingPushData(dto.Id, dto.SyncState, JsonConvert.SerializeObject(response), cancellationToken: cancellationToken);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -726,6 +799,8 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
|
|
|
dto.ReturnResult = Newtonsoft.Json.JsonConvert.SerializeObject(response);
|
|
|
await _getKnowledgeInfoAbandonRepository.UpdateAsync(dto, cancellationToken);
|
|
|
+ //处理同步记录
|
|
|
+ await UpdateWaitingPushData(dto.Id, dto.SyncState, JsonConvert.SerializeObject(response), cancellationToken: cancellationToken);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -757,6 +832,8 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
|
|
|
dto.ReturnResult = Newtonsoft.Json.JsonConvert.SerializeObject(response);
|
|
|
await _sendRealTimeStatusRepository.UpdateAsync(dto, cancellationToken);
|
|
|
+ //处理同步记录
|
|
|
+ await UpdateWaitingPushData(dto.Id, dto.SyncState, JsonConvert.SerializeObject(response), cancellationToken: cancellationToken);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -788,6 +865,8 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
|
|
|
dto.ReturnResult = Newtonsoft.Json.JsonConvert.SerializeObject(response);
|
|
|
await _delayCaseInfoSendRepository.UpdateAsync(dto, cancellationToken);
|
|
|
+ //处理同步记录
|
|
|
+ await UpdateWaitingPushData(dto.Id, dto.SyncState, JsonConvert.SerializeObject(response), cancellationToken: cancellationToken);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -819,6 +898,8 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
|
|
|
dto.ReturnResult = Newtonsoft.Json.JsonConvert.SerializeObject(response);
|
|
|
await _zMHDCaseInfoPublicRepository.UpdateAsync(dto, cancellationToken);
|
|
|
+ //处理同步记录
|
|
|
+ await UpdateWaitingPushData(dto.Id, dto.SyncState, JsonConvert.SerializeObject(response), cancellationToken: cancellationToken);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -859,6 +940,8 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
|
|
|
dto.ReturnResult = Newtonsoft.Json.JsonConvert.SerializeObject(response);
|
|
|
await _submitCaseTotalRepository.UpdateAsync(dto, cancellationToken);
|
|
|
+ //处理同步记录
|
|
|
+ await UpdateWaitingPushData(dto.Id, dto.SyncState, JsonConvert.SerializeObject(response), cancellationToken: cancellationToken);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -890,6 +973,8 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
|
|
|
dto.ReturnResult = Newtonsoft.Json.JsonConvert.SerializeObject(response);
|
|
|
await _supplyCaseInfoSendRepository.UpdateAsync(dto, cancellationToken);
|
|
|
+ //处理同步记录
|
|
|
+ await UpdateWaitingPushData(dto.Id, dto.SyncState, JsonConvert.SerializeObject(response), cancellationToken: cancellationToken);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -921,6 +1006,9 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
|
|
|
dto.ReturnResult = Newtonsoft.Json.JsonConvert.SerializeObject(response);
|
|
|
await _revokeCaseInfoRepository.UpdateAsync(dto, cancellationToken);
|
|
|
+
|
|
|
+ //处理同步记录
|
|
|
+ await UpdateWaitingPushData(dto.Id, dto.SyncState, JsonConvert.SerializeObject(response), cancellationToken: cancellationToken);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -973,7 +1061,9 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
item.SyncState = "1";
|
|
|
|
|
|
await _submitCaseProcessRepository.UpdateAsync(item, cancellationToken);
|
|
|
- await _waitingPushDataRepository.RemoveAsync(p => p.SyncID == item.Id, cancellationToken: cancellationToken);
|
|
|
+
|
|
|
+ //处理同步记录
|
|
|
+ await UpdateWaitingPushData(item.Id, item.SyncState, JsonConvert.SerializeObject(response), cancellationToken: cancellationToken);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1039,7 +1129,9 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
item.SyncState = "1";
|
|
|
|
|
|
await _submitCaseResultRepository.UpdateAsync(item, cancellationToken);
|
|
|
- await _waitingPushDataRepository.RemoveAsync(p => p.SyncID == item.Id, cancellationToken: cancellationToken);
|
|
|
+
|
|
|
+ //处理同步记录
|
|
|
+ await UpdateWaitingPushData(item.Id, item.SyncState, JsonConvert.SerializeObject(response), cancellationToken: cancellationToken);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1103,7 +1195,9 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
item.SyncState = "1";
|
|
|
|
|
|
await _submitVisitInfoRepository.UpdateAsync(item, cancellationToken);
|
|
|
- await _waitingPushDataRepository.RemoveAsync(p => p.SyncID == item.Id, cancellationToken: cancellationToken);
|
|
|
+
|
|
|
+ //处理同步记录
|
|
|
+ await UpdateWaitingPushData(item.Id, item.SyncState, JsonConvert.SerializeObject(response), cancellationToken: cancellationToken);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1122,22 +1216,22 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
var dataReceive = _mapper.Map<GetCaseMaterialInfoModel>(item);
|
|
|
|
|
|
//附件上传
|
|
|
- var result = "";// await SendFile(dataReceive, item.FileName);
|
|
|
-
|
|
|
- //结果处理
|
|
|
- if (result == "1")
|
|
|
+ var result = await SendFileData(dataReceive, item.FileName, item.FileId);
|
|
|
+ if (result != null && result.ReturnInfo != null)
|
|
|
{
|
|
|
- //移除待发表数据
|
|
|
- await _waitingPushDataRepository.RemoveAsync(p => p.SyncID == item.Id, cancellationToken: cancellationToken);
|
|
|
-
|
|
|
- //更新推送表状态
|
|
|
- item.SyncState = "1";
|
|
|
+ //结果处理
|
|
|
+ if (result.ReturnInfo.Code == "1")
|
|
|
+ //更新推送表状态
|
|
|
+ item.SyncState = "1";
|
|
|
+ else
|
|
|
+ item.SyncState = "2";
|
|
|
}
|
|
|
else
|
|
|
- {
|
|
|
item.SyncState = "2";
|
|
|
- }
|
|
|
await _getCaseMaterialInfoRepository.UpdateAsync(item, cancellationToken);
|
|
|
+
|
|
|
+ //处理同步记录
|
|
|
+ await UpdateWaitingPushData(item.Id, item.SyncState, JsonConvert.SerializeObject(result), cancellationToken: cancellationToken);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1184,5 +1278,83 @@ namespace Hotline.DataSharing.Province.Services
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 将文件流上传到附件服务器 ----还需要拉取文件流
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <param name="fileName"></param>
|
|
|
+ /// <param name="fileId"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ private async Task<ProvinceResponse> SendFileData(GetCaseMaterialInfoModel dto, string fileName, string fileId)
|
|
|
+ {
|
|
|
+
|
|
|
+ //获取配置信息
|
|
|
+ var configProvince = _channelConfigurationManager.GetConfigurationProvince();
|
|
|
+
|
|
|
+ //获取附件上传Token
|
|
|
+ string strToken = await _xieTongClient.GetTokenAsync(default);
|
|
|
+
|
|
|
+ //组装请求参数
|
|
|
+ var model = new GetCaseMaterialInfoRequest
|
|
|
+ {
|
|
|
+ paras = dto,
|
|
|
+ token = new ClientInfo(configProvince.ClientId, configProvince.ClientSecret)
|
|
|
+ };
|
|
|
+
|
|
|
+ Dictionary<string, object> dicParam = new()
|
|
|
+ {
|
|
|
+ { "params", Newtonsoft.Json.JsonConvert.SerializeObject(model) } // 第一个接口参数,json格式字符串
|
|
|
+ };
|
|
|
+
|
|
|
+ // 文件内容
|
|
|
+ byte[] file = Convert.FromBase64String("");//这里需要获取附件的流
|
|
|
+
|
|
|
+ // 构造字典文件数据
|
|
|
+ // 接口参数名称为files
|
|
|
+ CFormUpload.FileParameter fileParameter = new CFormUpload.FileParameter("files", file, fileName, null);
|
|
|
+ dicParam.Add(fileName, fileParameter);
|
|
|
+
|
|
|
+ string strUrl = configProvince.HuiJu + "get_case_material_info";
|
|
|
+ // 上传附件
|
|
|
+ string strResult = CFormUpload.MultipartFormDataPost(strUrl, null, dicParam, strToken);
|
|
|
+
|
|
|
+ return Newtonsoft.Json.JsonConvert.DeserializeObject<ProvinceResponse>(strResult);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ ///
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dataId"></param>
|
|
|
+ /// <param name="SyncState"></param>
|
|
|
+ /// <param name="result"></param>
|
|
|
+ /// <param name="cancellationToken"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ private async Task UpdateWaitingPushData(string dataId, string SyncState, string result, CancellationToken cancellationToken)
|
|
|
+ {
|
|
|
+ //处理同步记录
|
|
|
+ var waitingPushData = await _waitingPushDataRepository.GetAsync(p => p.SyncID == dataId);
|
|
|
+ if (waitingPushData != null)
|
|
|
+ {
|
|
|
+ //第一次同步时间
|
|
|
+ if (waitingPushData.FirstSyncProvinceTime is null)
|
|
|
+ waitingPushData.FirstSyncProvinceTime = DateTime.Now;
|
|
|
+ else
|
|
|
+ waitingPushData.SyncCount++;
|
|
|
+
|
|
|
+ //同步成功时间
|
|
|
+ if (SyncState == "1")
|
|
|
+ {
|
|
|
+ waitingPushData.SuccessSyncTime = DateTime.Now;
|
|
|
+ }
|
|
|
+ //最新同步时间
|
|
|
+ waitingPushData.NewSyncProvinceTime = DateTime.Now;
|
|
|
+ waitingPushData.SyncState = SyncState;
|
|
|
+ waitingPushData.ReturnResult = JsonConvert.SerializeObject(result);
|
|
|
+ await _waitingPushDataRepository.UpdateAsync(waitingPushData, cancellationToken: cancellationToken);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|