tangjiang 7 months ago
parent
commit
0f85d4ac64

+ 30 - 0
src/DataSharing.Share/Dtos/YiBin/Enterprise/PushWorkOrder.cs

@@ -11,90 +11,120 @@ namespace DataSharing.Share.Dtos.YiBin.Enterprise
         /// 企业CODE
         /// </summary>
         [JsonPropertyName("enterpriseCode")]
+        [MDisplayName("企业CODE")]
+        [VRequired]
         public string EnterpriseCode { get; set; }
 
         /// <summary>
         /// 专班CODE
         /// </summary>
         [JsonPropertyName("specialTeamCode")]
+        [MDisplayName("专班CODE")]
+        [VRequired]
         public string SpecialTeamCode { get; set; }
 
         /// <summary>
         /// 服务工单编号
         /// </summary>
         [JsonPropertyName("workOrderNo")]
+        [MDisplayName("服务工单编号")]
+        [VRequired]
         public string WorkOrderNo { get; set; }
 
         /// <summary>
         /// 服务工单标题
         /// </summary>
         [JsonPropertyName("workOrderTitle")]
+        [MDisplayName("服务工单标题")]
+        [VRequired]
         public string WorkOrderTitle { get; set; }
 
         /// <summary>
         /// 受理时间(yyyy-MM-dd HH:mm:ss格式)
         /// </summary>
         [JsonPropertyName("acceptTime")]
+        [MDisplayName("受理时间")]
+        [VRequired]
         public string AcceptTime { get; set; }
 
         /// <summary>
         /// 诉求渠道
         /// </summary>
         [JsonPropertyName("appealChannel")]
+        [MDisplayName("诉求渠道")]
+        [VRequired]
         public string AppealChannel { get; set; }
 
         /// <summary>
         /// 联系电话
         /// </summary>
         [JsonPropertyName("contactPhone")]
+        [MDisplayName("联系电话")]
+        [VRequired]
         public string ContactPhone { get; set; }
 
         /// <summary>
         ///服务对象姓名
         /// </summary>
         [JsonPropertyName("contactName")]
+        [MDisplayName("服务对象姓名")]
+        [VRequired]
         public string ContactName { get; set; }
 
         /// <summary>
         /// 诉求类型
         /// </summary>
         [JsonPropertyName("appealType")]
+        [MDisplayName("诉求类型")]
+        [VRequired]
         public string AppealType { get; set; }
 
         /// <summary>
         /// 热点类型
         /// </summary>
         [JsonPropertyName("hotspotType")]
+        [MDisplayName("热点类型")]
+        [VRequired]
         public string HotspotType { get; set; }
 
         /// <summary>
         /// 诉求内容
         /// </summary>
         [JsonPropertyName("appealContent")]
+        [MDisplayName("诉求内容")]
+        [VRequired]
         public string AppealContent { get; set; }
 
         /// <summary>
         /// 紧急程度
         /// </summary>
         [JsonPropertyName("urgencyDegree")]
+        [MDisplayName("紧急程度")]
+        [VRequired]
         public string UrgencyDegree { get; set; }
 
         /// <summary>
         /// 行政区划代码
         /// </summary>
         [JsonPropertyName("regionCode")]
+        [MDisplayName("行政区划代码")]
+        [VRequired]
         public string RegionCode { get; set; }
 
         /// <summary>
         /// 期满时间(yyyy-MM-dd HH:mm:ss格式)
         /// </summary>
         [JsonPropertyName("expirationTime")]
+        [MDisplayName("期满时间")]
+        [VRequired]
         public string ExpirationTime { get; set; }
 
         /// <summary>
         /// 事发时间(yyyy-MM-dd HH:mm:ss格式)
         /// </summary>
         [JsonPropertyName("incidentTime")]
+        [MDisplayName("事发时间")]
+        [VRequired]
         public string? IncidentTime { get; set; }
 
         /// <summary>

+ 12 - 1
src/DataSharing.YiBin/Enterprise/EnterprisePusherProviderService.cs

@@ -131,12 +131,23 @@ namespace DataSharing.YiBin.Enterprise
             if (!baseAddress.EndsWith('/'))
                 baseAddress += "/";
 
-            var enterprise = await _enterpriseClient.RequestAsync<EnterpriseResponse>(baseAddress + dto.Path, dto.HttpMethod, request, cancellationToken);
+            EnterpriseResponse enterprise = new();
+            string error = "";
+            try
+            {
+                enterprise = await _enterpriseClient.RequestAsync<EnterpriseResponse>(baseAddress + dto.Path, dto.HttpMethod, request, cancellationToken);
+            }
+            catch (Exception ex)
+            {
+                error = ex.Message;
+            }
+
             //写入推送明细表
             DsSendTaskDetailInfo dsSendTaskInfo = new()
             {
                 TaskId = dto.Id,
                 Result = System.Text.Json.JsonSerializer.Serialize(enterprise),
+                ResultErrorData = error,
                 ProcessingServices = _channelConfigurationManager.GetConfigurationProcessingServices()
             };
             //如果推送成功修改数据状态

+ 7 - 1
src/DataSharing.YiBin/Enterprise/EnterpriseService.cs

@@ -1,5 +1,6 @@
 using DataSharing.Province;
 using DataSharing.SendTask;
+using DataSharing.Share.Dtos;
 using DataSharing.Share.Dtos.YiBin.Enterprise;
 using DataSharing.Share.Enums;
 using Hotline.Share.Dtos.File;
@@ -7,7 +8,7 @@ using Hotline.Share.Dtos.Order;
 using MapsterMapper;
 using Microsoft.Extensions.Logging;
 using System.Text.Json;
-using static System.Runtime.InteropServices.JavaScript.JSType;
+using XF.Domain.Exceptions;
 
 namespace DataSharing.YiBin.Enterprise
 {
@@ -47,6 +48,11 @@ namespace DataSharing.YiBin.Enterprise
             enterpriseData.ExpirationTime = string.IsNullOrEmpty(enterpriseData.ExpirationTime) == true ? "" : Convert.ToDateTime(enterpriseData.ExpirationTime).ToString("yyyy-MM-dd HH:mm:ss");
             enterpriseData.IncidentTime = string.IsNullOrEmpty(enterpriseData.IncidentTime) == true ? Convert.ToDateTime(enterpriseData.AcceptTime).ToString("yyyy-MM-dd HH:mm:ss") : Convert.ToDateTime(enterpriseData.IncidentTime).ToString("yyyy-MM-dd HH:mm:ss");
 
+            //验证接收的数据是否正确
+            string strResult = enterpriseData.Validate();
+            if (!string.IsNullOrEmpty(strResult))
+                throw new UserFriendlyException(strResult);
+
             var fileJson = _mapper.Map<List<FileJson>>(dto.FileJson);
 
             //将待推送数据写入待推送表

+ 1 - 1
src/DataSharing/SendTask/TaskOtherPlatformsJob.cs

@@ -54,7 +54,7 @@ namespace DataSharing.SendTask
         {
             //加载数据
             var tasks = await _waitSendTaskOtherPlatformsRepository.Queryable()
-              .Where(d => d.State == EWaitSendTaskState.WaitPush && d.SendTimes <= 6)
+              .Where(d => d.State == EWaitSendTaskState.Pushing && d.SendTimes <= 6)
                .OrderBy(d => d.CreationTime)
                .Take(10)
                .ToListAsync(context.CancellationToken);