tangjiang 3 ماه پیش
والد
کامیت
367d14c571
25فایلهای تغییر یافته به همراه384 افزوده شده و 69 حذف شده
  1. 22 0
      src/DataSharing.Application/Mappers/LZ110MapperRegisters.cs
  2. 0 4
      src/DataSharing.Host/Controllers/Police110/PoliceDCJTController.cs
  3. 1 4
      src/DataSharing.Host/Controllers/Police110/PoliceDSController.cs
  4. 5 2
      src/DataSharing.Host/Controllers/ProvinceController.cs
  5. 4 1
      src/DataSharing.LuZhou/DataSharing.LuZhou.csproj
  6. 24 0
      src/DataSharing.LuZhou/Encrypt/EncryptHandler.cs
  7. 7 0
      src/DataSharing.LuZhou/Encrypt/IEncryptHandler.cs
  8. 12 0
      src/DataSharing.LuZhou/ILuZhou110Service.cs
  9. 74 0
      src/DataSharing.LuZhou/LZ110/LZ110Defaults.cs
  10. 34 0
      src/DataSharing.LuZhou/LZ110/LZ110Invoker.cs
  11. 117 0
      src/DataSharing.LuZhou/LuZhou110Service.cs
  12. 10 2
      src/DataSharing.Share/Dtos/LuZhou/LZ110BasicInfoDto.cs
  13. 5 2
      src/DataSharing.Share/Dtos/LuZhou/LZ110CallBackDto.cs
  14. 5 2
      src/DataSharing.Share/Dtos/LuZhou/LZ110ExtensionRequestDto.cs
  15. 20 0
      src/DataSharing.Share/Dtos/LuZhou/LZ110FlowedDto.cs
  16. 0 17
      src/DataSharing.Share/Dtos/LuZhou/LZ110FlowedMessage.cs
  17. 5 2
      src/DataSharing.Share/Dtos/LuZhou/LZ110HandResultDto.cs
  18. 4 1
      src/DataSharing.Share/Dtos/LuZhou/LZ110UpdateStatusDto.cs
  19. 5 2
      src/DataSharing.Share/Dtos/LuZhou/LZ110ZBasicInfoDto.cs
  20. 3 3
      src/DataSharing.Share/Dtos/LuZhou/LZ110ZCallBackDto.cs
  21. 3 3
      src/DataSharing.Share/Dtos/LuZhou/LZ110ZExtensionRequestDto.cs
  22. 21 0
      src/DataSharing.Share/Dtos/LuZhou/LZ110ZFlowedDto.cs
  23. 0 21
      src/DataSharing.Share/Dtos/LuZhou/LZ110ZFlowedMessage.cs
  24. 2 2
      src/DataSharing.Share/Dtos/LuZhou/LZ110ZHandResultDto.cs
  25. 1 1
      src/DataSharing.Share/Dtos/LuZhou/LZ110ZUpdateStatusDto.cs

+ 22 - 0
src/DataSharing.Application/Mappers/LZ110MapperRegisters.cs

@@ -0,0 +1,22 @@
+using DataSharing.LuZhou.LZ110;
+using Mapster;
+
+namespace DataSharing.Application.Mappers
+{
+    public class LZ110MapperRegisters : IRegister
+    {
+        public void Register(TypeAdapterConfig config)
+        {
+            config.NewConfig<LZ110BaseResponse, LZ110ApiResponse<LZ110BaseResponse>>()
+                .Ignore(d => d.Data)
+                .Map(d => d.Message, x => x.ResponseStatusObject.StatusString)
+                .AfterMapping((s, d) =>
+                {
+                    var success = int.TryParse(s.ResponseStatusObject.StatusCode, out var code);
+                    d.Code = success ? code : 1;
+                });
+
+
+        }
+    }
+}

+ 0 - 4
src/DataSharing.Host/Controllers/Police110/PoliceDCJTController.cs

@@ -38,7 +38,6 @@ namespace DataSharing.Host.Controllers.Police110
         private readonly IRepository<DsPoliceSendChainAlarmDcjt> _dsPoliceSendChainAlarmDcjtRepository;
         private readonly IRepository<DsPoliceSendChainDealDcjt> _dsPoliceSendChainDealDcjtRepository;
         private readonly IRepository<DsKnowledgeRawData> _dsKnowledgeRawDataRepository;
-        private readonly IRepository<DsOrder> _dsOrderRepository;
         private readonly IRepository<DsReceivePoliceData> _dsReceivePoliceDataRepository;
         private readonly FwClient _fwClient;
         private readonly ISharingConfigurationManager _sharingConfigurationManager;
@@ -55,7 +54,6 @@ namespace DataSharing.Host.Controllers.Police110
         /// <param name="dsPoliceSendChainAlarmDcjtRepository"></param>
         /// <param name="dsPoliceSendChainDealDcjtRepository"></param>
         /// <param name="dsKnowledgeRawDataRepository"></param>
-        /// <param name="dsOrderRepository"></param>
         /// <param name="dsReceivePoliceDataRepository"></param>
         /// <param name="fwClient"></param>
         /// <param name="sharingConfigurationManager"></param>
@@ -68,7 +66,6 @@ namespace DataSharing.Host.Controllers.Police110
             IRepository<DsPoliceSendChainAlarmDcjt> dsPoliceSendChainAlarmDcjtRepository,
             IRepository<DsPoliceSendChainDealDcjt> dsPoliceSendChainDealDcjtRepository,
             IRepository<DsKnowledgeRawData> dsKnowledgeRawDataRepository,
-            IRepository<DsOrder> dsOrderRepository,
             IRepository<DsReceivePoliceData> dsReceivePoliceDataRepository,
             FwClient fwClient,
             ISharingConfigurationManager sharingConfigurationManager,
@@ -82,7 +79,6 @@ namespace DataSharing.Host.Controllers.Police110
             _dsPoliceSendChainAlarmDcjtRepository = dsPoliceSendChainAlarmDcjtRepository;
             _dsPoliceSendChainDealDcjtRepository = dsPoliceSendChainDealDcjtRepository;
             _dsKnowledgeRawDataRepository = dsKnowledgeRawDataRepository;
-            _dsOrderRepository = dsOrderRepository;
             _dsReceivePoliceDataRepository = dsReceivePoliceDataRepository;
             _fwClient = fwClient;
             _sharingConfigurationManager = sharingConfigurationManager;

+ 1 - 4
src/DataSharing.Host/Controllers/Police110/PoliceDSController.cs

@@ -37,7 +37,6 @@ namespace DataSharing.Host.Controllers.Police110
         private readonly IRepository<DsPoliceSendChainAlarmDs> _dsPoliceSendChainAlarmDsRepository;
         private readonly IRepository<DsPoliceSendChainDealDs> _dsPoliceSendChainDealDsRepository;
         private readonly IRepository<DsKnowledgeRawData> _dsKnowledgeRawDataRepository;
-        private readonly IRepository<DsOrder> _dsOrderRepository;
         private readonly IRepository<DsReceivePoliceData> _dsReceivePoliceDataRepository;
         private readonly FwClient _fwClient;
         private readonly ISharingConfigurationManager _sharingConfigurationManager;
@@ -54,19 +53,18 @@ namespace DataSharing.Host.Controllers.Police110
         /// <param name="dsPoliceSendChainAlarmDsRepository"></param>
         /// <param name="dsPoliceSendChainDealDsRepository"></param>
         /// <param name="dsKnowledgeRawDataRepository"></param>
-        /// <param name="dsOrderRepository"></param>
         /// <param name="dsReceivePoliceDataRepository"></param>
         /// <param name="fwClient"></param>
         /// <param name="sharingConfigurationManager"></param>
         /// <param name="sendHotlineErrorDataRepository"></param>
         /// <param name="dsReceiveHandleDataRepository"></param>
+        /// <param name="logger"></param>
         public PoliceDSController(IMapper mapper,
             ICapPublisher capPublisher,
             IMediator mediator,
             IRepository<DsPoliceSendChainAlarmDs> dsPoliceSendChainAlarmDsRepository,
             IRepository<DsPoliceSendChainDealDs> dsPoliceSendChainDealDsRepository,
             IRepository<DsKnowledgeRawData> dsKnowledgeRawDataRepository,
-            IRepository<DsOrder> dsOrderRepository,
             IRepository<DsReceivePoliceData> dsReceivePoliceDataRepository,
             FwClient fwClient,
             ISharingConfigurationManager sharingConfigurationManager,
@@ -80,7 +78,6 @@ namespace DataSharing.Host.Controllers.Police110
             _dsPoliceSendChainAlarmDsRepository = dsPoliceSendChainAlarmDsRepository;
             _dsPoliceSendChainDealDsRepository = dsPoliceSendChainDealDsRepository;
             _dsKnowledgeRawDataRepository = dsKnowledgeRawDataRepository;
-            _dsOrderRepository = dsOrderRepository;
             _dsReceivePoliceDataRepository = dsReceivePoliceDataRepository;
             _fwClient = fwClient;
             _sharingConfigurationManager = sharingConfigurationManager;

+ 5 - 2
src/DataSharing.Host/Controllers/ProvinceController.cs

@@ -1238,13 +1238,16 @@ namespace DataSharing.Host.Controllers
                 return fileDtos;
             foreach (var item in list)
             {
+                string strSubFileName = item.FileName.LastIndexOf(".") > 0 ? item.FileName.Substring(0, item.FileName.LastIndexOf(".")) : item.FileName;
                 fileDtos.Add(new FileDto()
                 {
-                    Name = item.FileName,
+                    FileName = item.FileName + "." + item.Type,
+                    Name = strSubFileName,
                     Type = item.Type,
                     Classify = Classify,
                     Additions = item.Additions,
-                    Path = item.Path
+                    Path = item.Path,
+                    AllPath = item.Path
                 });
             }
             return fileDtos;

+ 4 - 1
src/DataSharing.LuZhou/DataSharing.LuZhou.csproj

@@ -7,7 +7,10 @@
   </PropertyGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\DataSharing.Police110\DataSharing.Police110.csproj" />
+    <PackageReference Include="NETCore.Encrypt" Version="2.1.0" />
+  </ItemGroup>
+
+  <ItemGroup>
     <ProjectReference Include="..\DataSharing\DataSharing.csproj" />
   </ItemGroup>
 

+ 24 - 0
src/DataSharing.LuZhou/Encrypt/EncryptHandler.cs

@@ -0,0 +1,24 @@
+using DataSharing.LuZhou.LZ110;
+using DataSharing.Share.Dtos.LuZhou;
+using NETCore.Encrypt;
+
+namespace DataSharing.LuZhou.Encrypt
+{
+    public static class EncryptHandler
+    {
+        public static TModel AES<TModel>(TModel model) where TModel : ICanEncrypt
+        {
+            var infos = typeof(TModel).GetProperties();
+            foreach (var info in infos)
+            {
+                var value = info.GetValue(model)?.ToString() ?? string.Empty;
+                if (!string.IsNullOrEmpty(value))
+                {
+                    info.SetValue(model, EncryptProvider.AESEncrypt(value, LZ110Defaults.EncryptKey));
+                }
+            }
+            return model;
+        }
+    }
+
+}

+ 7 - 0
src/DataSharing.LuZhou/Encrypt/IEncryptHandler.cs

@@ -0,0 +1,7 @@
+namespace DataSharing.LuZhou.Encrypt
+{
+    public interface IEncryptHandler
+    {
+        TModel AES<TModel>(TModel model);
+    }
+}

+ 12 - 0
src/DataSharing.LuZhou/ILuZhou110Service.cs

@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DataSharing.LuZhou
+{
+    public interface ILuZhou110Service
+    {
+    }
+}

+ 74 - 0
src/DataSharing.LuZhou/LZ110/LZ110Defaults.cs

@@ -0,0 +1,74 @@
+namespace DataSharing.LuZhou.LZ110
+{
+    public class LZ110Defaults
+    {
+        /// <summary>
+        /// 加密KEY
+        /// </summary>
+        public const string EncryptKey = "A9927A4AA5CB4DCB9F2452429BE54285";
+
+        #region 汇聚
+        /// <summary>
+        /// 12345工单基础信息--汇聚
+        /// </summary>
+        public const string SendBasicInfo = "/PSPC/SC/12345/GDJCXX";
+
+        /// <summary>
+        /// 12345工单流转办理--汇聚
+        /// </summary>
+        public const string SendFlowed = "/PSPC/SC/12345/GDLZBL";
+
+        /// <summary>
+        /// 12345工单延期申请--汇聚
+        /// </summary>
+        public const string SendExtensionRequest = "/PSPC/SC/12345/GDYQSQ";
+
+        /// <summary>
+        /// 12345工单办理状态--汇聚
+        /// </summary>
+        public const string SendUpdateStatus = "/PSPC/SC/12345/GDBLZT";
+
+        /// <summary>
+        /// 12345工单回访信息--汇聚
+        /// </summary>
+        public const string SendCallBack = "/PSPC/SC/12345/GDHFXX";
+
+        /// <summary>
+        /// 12345工单办理结果--汇聚
+        /// </summary>
+        public const string SendHandResult = "/PSPC/SC/12345/GDBLJG"; 
+        #endregion
+
+        #region 交互
+        /// <summary>
+        /// 12345工单基础信息--交互
+        /// </summary>
+        public const string InteractiveBasicInfo = "/PSPC/SC/12345/DBGDXX";
+
+        /// <summary>
+        /// 12345工单流转办理--交互
+        /// </summary>
+        public const string InteractiveFlowed = "/PSPC/SC/12345/110ZRGDLZBL";
+
+        /// <summary>
+        /// 12345工单延期申请--交互
+        /// </summary>
+        public const string InteractiveExtensionRequest = "/PSPC/SC/12345/110ZRGDYQSQ";
+
+        /// <summary>
+        /// 12345工单办理状态--交互
+        /// </summary>
+        public const string InteractiveUpdateStatus = "/PSPC/SC/12345/110ZRGDBLZT";
+
+        /// <summary>
+        /// 12345工单回访信息--交互
+        /// </summary>
+        public const string InteractiveCallBack = "/PSPC/SC/12345/110ZRGDHFXX";
+
+        /// <summary>
+        /// 12345工单办理结果--交互
+        /// </summary>
+        public const string InteractiveHandResult = "/PSPC/SC/12345/110ZRGDBLJG"; 
+        #endregion
+    }
+}

+ 34 - 0
src/DataSharing.LuZhou/LZ110/LZ110Invoker.cs

@@ -1,6 +1,9 @@
 using MapsterMapper;
 using Microsoft.Extensions.Logging;
+using Org.BouncyCastle.Asn1.Ocsp;
+using System.Net.Http.Headers;
 using System.Net.Http.Json;
+using System.Text;
 using System.Text.Json;
 
 namespace DataSharing.LuZhou.LZ110
@@ -49,5 +52,36 @@ namespace DataSharing.LuZhou.LZ110
             return new LZ110ApiResponse<TResponse> { Code = 0, Data = response };
         }
 
+        /// <summary>
+        /// 请求
+        /// </summary>
+        /// <typeparam name="TResponse"></typeparam>
+        /// <param name="url"></param>
+        /// <param name="stringContent"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        public async Task<LZ110ApiResponse<TResponse>> RequestStringContentAsync<TResponse>(string url, string? stringContent = null, CancellationToken cancellationToken = default)
+        {
+            using var client = _httpClientFactory.CreateClient();
+            client.BaseAddress = new Uri(_sharingConfigurationManager.GetLuZhouConfig().LuZhou110.SendDataAddress);
+            client.DefaultRequestHeaders.Add("User-Identify", "12345rexian");
+            var serializeOptions = new JsonSerializerOptions
+            {
+                PropertyNamingPolicy = new JsonPascalNamingPolicy(),
+            };
+
+            _logger.LogInformation($"发起请求LZ110地址:{url}");
+            _logger.LogInformation($"发起请求LZ110内容:{stringContent}");
+            var result = await client.PostAsJsonAsync(url, new StringContent(stringContent, Encoding.UTF8, new MediaTypeWithQualityHeaderValue("application/json")), serializeOptions, cancellationToken);
+
+            if (result is null || !result.IsSuccessStatusCode)
+            {
+                _logger.LogError($"泸州110接口请求失败,request: {url}");
+                return new LZ110ApiResponse<TResponse> { Code = 1, Message = $"泸州110接口请求失败,request: {url}" };
+            }
+            var response = await result.Content.ReadFromJsonAsync<TResponse>();
+            return new LZ110ApiResponse<TResponse> { Code = 0, Data = response };
+        }
+
     }
 }

+ 117 - 0
src/DataSharing.LuZhou/LuZhou110Service.cs

@@ -0,0 +1,117 @@
+using DataSharing.LuZhou.LZ110;
+using DataSharing.Share.Dtos.LuZhou;
+using Hotline.Share.Dtos.Order;
+using Hotline.Share.Enums.Order;
+using MapsterMapper;
+using Microsoft.AspNetCore.SignalR;
+using Microsoft.Extensions.Logging;
+using Polly;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace DataSharing.LuZhou
+{
+    public class LuZhou110Service : ILuZhou110Service
+    {
+        private readonly IMapper _mapper;
+        private readonly ILogger<LuZhou110Service> _logger;
+
+        public LuZhou110Service(IMapper mapper, ILogger<LuZhou110Service> logger
+            )
+        {
+            _mapper = mapper;
+            _logger = logger;
+        }
+
+        public async Task InitData(OrderFlowDto dto, CancellationToken cancellationToken)
+        {
+            var order = dto.Order;
+            var gender = "";
+            if (order.FromGender == EGender.Female)
+                gender = "女";
+            if (order.FromGender == EGender.Male)
+                gender = "男";
+            #region 接受数据汇聚 工单基础信息
+            LZ110BasicInfoDto basicInfoDto = new LZ110BasicInfoDto()
+            {
+                FlowID = order.Id,
+                Code = order.No,
+                PoliceCode = "",
+                AreaName = order.AreaCode.Substring(0, 6),
+                AddDate = order.CreationTime.ToString("yyyy/MM/dd HH:mm:ss"),
+                FromTel = order.FromPhone,
+                CallerName = order.FromName,
+                Gender = gender,
+                ContactTel = order.Contact,
+                IDCard = order.LicenceNo,
+                TelHome = "",
+                Address = order.Province + order.City + order.County + order.Street,
+                WorkUnit = "",
+                Title = order.Title,
+                PurTypeName = order.AcceptType,
+                FromName = order.SourceChannel,
+                ConTypeName = order.HotspotSpliceName,
+                Content = order.Content,
+                IsSecrecy = order.IsSecret == true ? "1" : "0"
+            };
+            #endregion
+
+            #region 接受数据汇聚 工单流转信息
+            LZ110FlowedDto flowedDto = new LZ110FlowedDto()
+            {
+                RunID = dto.WorkflowTrace.Id,
+                FlowID = order.Id,
+                Code = order.No,
+                NodeName = "",
+                NodeType = "",
+                HandleBMName = order.ActualHandleOrgName,
+                HandleUserName = order.ActualHandlerName,
+                HandleTime = order.ActualHandleTime.HasValue == true ? order.ActualHandleTime.Value.ToString("yyyy/MM/dd HH:mm:ss") : DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"),
+                HandleOpinion = order.ActualOpinion,
+                IsPolice = "0",
+            };
+
+
+            #endregion
+
+            #region 接受数据汇聚 工单办理状态
+            LZ110UpdateStatusDto updateStatusDto = new LZ110UpdateStatusDto()
+            {
+                Code = order.No,
+                FlowID = order.Id,
+                PoliceCode = "",
+                HandleState = "已归档",
+            };
+
+
+            #endregion
+
+            #region 接受数据汇聚 工单办理结果
+
+            LZ110HandResultDto handResultDto = new LZ110HandResultDto()
+            {
+                Code = order.No,
+                HandleUserName = order.ActualHandlerName,
+                HandleBMName = order.ActualHandleOrgName,
+                HandleTime = order.FiledTime.HasValue == true ? order.FiledTime.Value.ToString("yyyy/MM/dd HH:mm:ss") : DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"),
+                HandleOpinion = order.FileOpinion,
+                HandleState = "办理完成",
+                PoliceCode = "",
+            };
+
+            #endregion
+
+            #region 接受数据汇聚 工单延期申请
+
+            #endregion
+
+            #region 接受数据汇聚 工单回访信息
+
+            #endregion
+
+        }
+    }
+}

+ 10 - 2
src/DataSharing.Share/Dtos/LuZhou/LZ110ZBasicInfoMessage.cs → src/DataSharing.Share/Dtos/LuZhou/LZ110BasicInfoDto.cs

@@ -1,12 +1,15 @@
 namespace DataSharing.Share.Dtos.LuZhou
 {
-    public class LZ110ZBasicInfoMessage
+    /// <summary>
+    /// 工单基础信息
+    /// </summary>
+    public class LZ110BasicInfoDto : ICanEncrypt
     {
         public string FlowID { get; set; }
         public string Code { get; set; }
         public string PoliceCode { get; set; }
         public string AreaName { get; set; }
-        public DateTime AddDate { get; set; }
+        public string AddDate { get; set; }
         public string FromTel { get; set; }
         public string CallerName { get; set; }
         public string Gender { get; set; }
@@ -22,4 +25,9 @@
         public string Content { get; set; }
         public string IsSecrecy { get; set; }
     }
+
+    public interface ICanEncrypt
+    {
+
+    }
 }

+ 5 - 2
src/DataSharing.Share/Dtos/LuZhou/LZ110CallBackMessage.cs → src/DataSharing.Share/Dtos/LuZhou/LZ110CallBackDto.cs

@@ -1,8 +1,11 @@
 namespace DataSharing.Share.Dtos.LuZhou;
 
-public class LZ110CallBackMessage
+/// <summary>
+/// 工单回访信息
+/// </summary>
+public class LZ110CallBackDto : ICanEncrypt
 {
-    public DateTime VisitTime { get; set; }
+    public string VisitTime { get; set; }
     public string SeatsContent { get; set; }
     public string FlowID { get; set; }
     public string SeatsResult { get; set; }

+ 5 - 2
src/DataSharing.Share/Dtos/LuZhou/LZ110ExtensionRequestMessage.cs → src/DataSharing.Share/Dtos/LuZhou/LZ110ExtensionRequestDto.cs

@@ -1,12 +1,15 @@
 namespace DataSharing.Share.Dtos.LuZhou;
 
-public class LZ110ExtensionRequestMessage
+/// <summary>
+/// 工单延期申请
+/// </summary>
+public class LZ110ExtensionRequestDto : ICanEncrypt
 {
     public string Code { get; set; }
     public string ApplyUserName { get; set; }
     public string ApplyBMName { get; set; }
     public string FPID { get; set; }
-    public DateTime ApplyTime { get; set; }
+    public string ApplyTime { get; set; }
     public string RunID { get; set; }
     public string ApplyTimeLimit { get; set; }
     public string ApplyContent { get; set; }

+ 20 - 0
src/DataSharing.Share/Dtos/LuZhou/LZ110FlowedDto.cs

@@ -0,0 +1,20 @@
+namespace DataSharing.Share.Dtos.LuZhou;
+
+/// <summary>
+/// 工单流转信息
+/// </summary>
+public class LZ110FlowedDto : ICanEncrypt
+{
+    public string RunID { get; set; } = string.Empty;
+    public string FlowID { get; set; } = string.Empty;
+    public string Code { get; set; } = string.Empty;
+    public string NodeName { get; set; } = string.Empty;
+    public string NodeType { get; set; } = string.Empty;
+    public string HandleBMName { get; set; } = string.Empty;
+    public string HandleUserName { get; set; } = string.Empty;
+    public string HandleTime { get; set; }
+    public string HandleOpinion { get; set; } = string.Empty;
+    public string IsPolice { get; set; } = string.Empty;
+    public string PoliceCode { get; set; } = string.Empty;
+    public string HandleState { get; set; } = string.Empty;
+}

+ 0 - 17
src/DataSharing.Share/Dtos/LuZhou/LZ110FlowedMessage.cs

@@ -1,17 +0,0 @@
-namespace DataSharing.Share.Dtos.LuZhou;
-
-public class LZ110FlowedMessage
-{
-    public string RunID { get; set; }
-    public string FlowID { get; set; }
-    public string Code { get; set; }
-    public string NodeName { get; set; }
-    public string NodeType { get; set; }
-    public string HandleBMName { get; set; }
-    public string HandleUserName { get; set; }
-    public DateTime HandleTime { get; set; }
-    public string HandleOpinion { get; set; }
-    public string IsPolice { get; set; }
-    public string PoliceCode { get; set; }
-    public string HandleState { get; set; }
-}

+ 5 - 2
src/DataSharing.Share/Dtos/LuZhou/LZ110HandResultMessage.cs → src/DataSharing.Share/Dtos/LuZhou/LZ110HandResultDto.cs

@@ -1,13 +1,16 @@
 namespace DataSharing.Share.Dtos.LuZhou;
 
-public class LZ110HandResultMessage
+/// <summary>
+/// 工单办理结果
+/// </summary>
+public class LZ110HandResultDto : ICanEncrypt
 {
     public string Code { get; set; }
     public string HandleUserName { get; set; }
     public string HandleState { get; set; }
     public string HandleBMName { get; set; }
     public string HandleOpinion { get; set; }
-    public DateTime HandleTime { get; set; }
+    public string HandleTime { get; set; }
     public string PoliceCode { get; set; }
 }
 

+ 4 - 1
src/DataSharing.Share/Dtos/LuZhou/LZ110UpdateStatusMessage.cs → src/DataSharing.Share/Dtos/LuZhou/LZ110UpdateStatusDto.cs

@@ -1,6 +1,9 @@
 namespace DataSharing.Share.Dtos.LuZhou;
 
-public class LZ110UpdateStatusMessage
+/// <summary>
+/// 工单办理状态
+/// </summary>
+public class LZ110UpdateStatusDto : ICanEncrypt
 {
     public string Code { get; set; }
     public string FlowID { get; set; }

+ 5 - 2
src/DataSharing.Share/Dtos/LuZhou/LZ110BasicInfoMessage.cs → src/DataSharing.Share/Dtos/LuZhou/LZ110ZBasicInfoDto.cs

@@ -1,12 +1,15 @@
 namespace DataSharing.Share.Dtos.LuZhou
 {
-    public class LZ110BasicInfoMessage
+    /// <summary>
+    /// 接受数据推送 工单基础信息
+    /// </summary>
+    public class LZ110ZBasicInfoDto : ICanEncrypt
     {
         public string FlowID { get; set; }
         public string Code { get; set; }
         public string PoliceCode { get; set; }
         public string AreaName { get; set; }
-        public DateTime AddDate { get; set; }
+        public string AddDate { get; set; }
         public string FromTel { get; set; }
         public string CallerName { get; set; }
         public string Gender { get; set; }

+ 3 - 3
src/DataSharing.Share/Dtos/LuZhou/LZ110ZCallBackMessage.cs → src/DataSharing.Share/Dtos/LuZhou/LZ110ZCallBackDto.cs

@@ -3,9 +3,9 @@
     /// <summary>
     /// 12345工单回访信息
     /// </summary>
-    public class LZ110ZCallBackMessage
+    public class LZ110ZCallBackDto : ICanEncrypt
     {
-        public DateTime VisitTime { get; set; }
+        public string VisitTime { get; set; }
         public string SeatsContent { get; set; }
         public string FlowID { get; set; }
         public string SeatsResult { get; set; }
@@ -15,6 +15,6 @@
         public string BMContent { get; set; }
         public string VisitMethod { get; set; }
         public string BMResult { get; set; }
-        public string PoliceCode { get; set; }
+        public string PoliceCode { get; set; } = string.Empty;
     }
 }

+ 3 - 3
src/DataSharing.Share/Dtos/LuZhou/LZ110ZExtensionRequestMessage.cs → src/DataSharing.Share/Dtos/LuZhou/LZ110ZExtensionRequestDto.cs

@@ -3,17 +3,17 @@
     /// <summary>
     /// 12345工单延期申请
     /// </summary>
-    public class LZ110ZExtensionRequestMessage
+    public class LZ110ZExtensionRequestDto : ICanEncrypt
     {
         public string Code { get; set; }
         public string ApplyUserName { get; set; }
         public string ApplyBMName { get; set; }
         public string FPID { get; set; }
-        public DateTime ApplyTime { get; set; }
+        public string ApplyTime { get; set; }
         public string RunID { get; set; }
         public string ApplyTimeLimit { get; set; }
         public string ApplyContent { get; set; }
         public string FlowID { get; set; }
-        public string PoliceCode { get; set; }
+        public string PoliceCode { get; set; } = string.Empty;
     }
 }

+ 21 - 0
src/DataSharing.Share/Dtos/LuZhou/LZ110ZFlowedDto.cs

@@ -0,0 +1,21 @@
+namespace DataSharing.Share.Dtos.LuZhou
+{
+    /// <summary>
+    /// 12345工单流转办理
+    /// </summary>
+    public class LZ110ZFlowedDto : ICanEncrypt
+    {
+        public string RunID { get; set; } = string.Empty;
+        public string FlowID { get; set; } = string.Empty;
+        public string Code { get; set; } = string.Empty;
+        public string NodeName { get; set; } = string.Empty;
+        public string NodeType { get; set; } = string.Empty;
+        public string HandleBMName { get; set; } = string.Empty;
+        public string HandleUserName { get; set; } = string.Empty;
+        public string HandleTime { get; set; }
+        public string HandleOpinion { get; set; } = string.Empty;
+        public string IsPolice { get; set; } = string.Empty;
+        public string PoliceCode { get; set; } = string.Empty;
+        public string HandleState { get; set; } = string.Empty;
+    }
+}

+ 0 - 21
src/DataSharing.Share/Dtos/LuZhou/LZ110ZFlowedMessage.cs

@@ -1,21 +0,0 @@
-namespace DataSharing.Share.Dtos.LuZhou
-{
-    /// <summary>
-    /// 12345工单流转办理
-    /// </summary>
-    public class LZ110ZFlowedMessage
-    {
-        public string RunID { get; set; }
-        public string FlowID { get; set; }
-        public string Code { get; set; }
-        public string NodeName { get; set; }
-        public string NodeType { get; set; }
-        public string HandleBMName { get; set; }
-        public string HandleUserName { get; set; }
-        public DateTime HandleTime { get; set; }
-        public string HandleOpinion { get; set; }
-        public string IsPolice { get; set; }
-        public string PoliceCode { get; set; }
-        public string HandleState { get; set; }
-    }
-}

+ 2 - 2
src/DataSharing.Share/Dtos/LuZhou/LZ110ZHandResultMessage.cs → src/DataSharing.Share/Dtos/LuZhou/LZ110ZHandResultDto.cs

@@ -3,14 +3,14 @@
     /// <summary>
     /// 12345工单办理结果
     /// </summary>
-    public class LZ110ZHandResultMessage
+    public class LZ110ZHandResultDto : ICanEncrypt
     {
         public string Code { get; set; }
         public string HandleUserName { get; set; }
         public string HandleState { get; set; }
         public string HandleBMName { get; set; }
         public string HandleOpinion { get; set; }
-        public DateTime HandleTime { get; set; }
+        public string HandleTime { get; set; }
         public string PoliceCode { get; set; }
     }
 }

+ 1 - 1
src/DataSharing.Share/Dtos/LuZhou/LZ110ZUpdateStatusMessage.cs → src/DataSharing.Share/Dtos/LuZhou/LZ110ZUpdateStatusDto.cs

@@ -3,7 +3,7 @@
     /// <summary>
     /// 12345工单办理状态
     /// </summary>
-    public class LZ110ZUpdateStatusMessage
+    public class LZ110ZUpdateStatusDto : ICanEncrypt
     {
         public string Code { get; set; }
         public string FlowID { get; set; }