tangjiang vor 3 Monaten
Ursprung
Commit
83318551c4

+ 40 - 1
src/DataSharing.Application/Receivers/ProvinceReceiver.cs

@@ -1,4 +1,5 @@
 using DataSharing.CityStateDataExchange;
+using DataSharing.LuZhou;
 using DataSharing.Police110;
 using DataSharing.Police110.DaoShu110;
 using DataSharing.Province;
@@ -33,6 +34,7 @@ namespace DataSharing.Application.Receivers
         private readonly IRepository<DsOrderSend> _orderSendRepository;
         private readonly ISendTaskDataService _sendTaskDataService;
         private readonly IPoliceService _policeService;
+        private readonly ILuZhou110Service _luZhou110Service;
 
         /// <summary>
         /// 
@@ -51,7 +53,8 @@ namespace DataSharing.Application.Receivers
              IProvinceService provinceService,
               IRepository<DsOrderSend> orderSendRepository,
               ISendTaskDataService sendTaskDataService,
-              IPoliceService policeService)
+              IPoliceService policeService,
+              ILuZhou110Service luZhou110Service)
         {
             _mapper = mapper;
             _logger = logger;
@@ -61,6 +64,7 @@ namespace DataSharing.Application.Receivers
             _orderSendRepository = orderSendRepository;
             _sendTaskDataService = sendTaskDataService;
             _policeService = policeService;
+            _luZhou110Service = luZhou110Service;
         }
         #endregion
 
@@ -656,6 +660,23 @@ namespace DataSharing.Application.Receivers
                     await _sendTaskDataService.OtherSendTask("zgdh", dto.Order, cancellationToken);
                 }
             }
+
+            //泸州110推送
+            try
+            {
+                //泸州110推送
+                if (_sharingConfigurationManager.IsCity(ConfigurationConsts.LuZhou))
+                {
+                    if (dto.Order.TransferPhone == "12345")
+                    {
+                        await _luZhou110Service.InitData(dto, cancellationToken);
+
+                    }
+                }
+            }
+            catch (Exception)
+            {
+            }
         }
 
         /// <summary>
@@ -829,6 +850,24 @@ namespace DataSharing.Application.Receivers
         {
             //调用接收发布的时候生成的待回访部门数据
             await _provinceService.PublishVisitAllAsync(dto, cancellationToken);
+
+            //泸州110推送
+            try
+            {
+                if (_sharingConfigurationManager.IsCity(ConfigurationConsts.LuZhou))
+                {
+                    if (dto.Order.TransferPhone == "12345")
+                    {
+                        if (dto.VisitState == EVisitState.Visited)
+                        {
+                            await _luZhou110Service.InitVisitData(dto, cancellationToken);
+                        }
+                    }
+                }
+            }
+            catch (Exception)
+            {
+            }
         }
 
         /// <summary>

+ 3 - 1
src/DataSharing.Host/StartupExtensions.cs

@@ -1,4 +1,5 @@
 using DataSharing.CityStateDataExchange;
+using DataSharing.LuZhou;
 using DataSharing.Police110;
 using DataSharing.Police110.DaoShu110;
 using DataSharing.Police110.DCJT110;
@@ -67,8 +68,9 @@ internal static class StartupExtensions
         else if (sharingConfig != null && sharingConfig.CityCode == ConfigurationConsts.LuZhou)//泸州
         {
             services.AddScoped<ISendTaskDataService, DataSharing.LuZhou.LuZhouSendTaskDataService>();
-            services.AddScoped<IPoliceService, DaoShuService>();//110 
+            // services.AddScoped<IPoliceService, DaoShuService>();//110 
             services.AddScoped<ICityStateDataExchangeService, CityStateDataExchangeService>();//市州互转
+            services.AddScoped<ILuZhou110Service, LuZhou110Service>();//市州互转
         }
 
         services

+ 16 - 5
src/DataSharing.LuZhou/ILuZhou110Service.cs

@@ -1,12 +1,23 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
+using Hotline.Share.Dtos.Order;
 
 namespace DataSharing.LuZhou
 {
     public interface ILuZhou110Service
     {
+        /// <summary>
+        /// 组装基础参数
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        Task InitData(OrderFlowDto dto, CancellationToken cancellationToken);
+
+        /// <summary>
+        /// 回访
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        Task InitVisitData(PublishVisitAllDto dto, CancellationToken cancellationToken);
     }
 }

+ 252 - 76
src/DataSharing.LuZhou/LuZhou110Service.cs

@@ -1,16 +1,14 @@
-using DataSharing.LuZhou.LZ110;
+using DataSharing.LuZhou.Encrypt;
+using DataSharing.LuZhou.LuZhou110;
+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;
+using Newtonsoft.Json;
+using SqlSugar;
+using XF.Domain.Repository;
 
 namespace DataSharing.LuZhou
 {
@@ -18,99 +16,277 @@ namespace DataSharing.LuZhou
     {
         private readonly IMapper _mapper;
         private readonly ILogger<LuZhou110Service> _logger;
+        private readonly IRepository<WaitSendTaskLuZhou110> _waitSendTaskLuZhou110Repository;
+        private readonly IRepository<SendTaskLuZhou110> _sendTaskLuZhou110Repository;
 
-        public LuZhou110Service(IMapper mapper, ILogger<LuZhou110Service> logger
+        public LuZhou110Service(IMapper mapper, ILogger<LuZhou110Service> logger,
+            IRepository<WaitSendTaskLuZhou110> waitSendTaskLuZhou110Repository,
+            IRepository<SendTaskLuZhou110> sendTaskLuZhou110Repository
             )
         {
             _mapper = mapper;
             _logger = logger;
+            _waitSendTaskLuZhou110Repository = waitSendTaskLuZhou110Repository;
+            _sendTaskLuZhou110Repository = sendTaskLuZhou110Repository;
         }
 
+        /// <summary>
+        /// 组装基础参数
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
         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()
+            if (order.TransferPhone == "12345")
             {
-                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 接受数据汇聚 工单基础信息
+                var gender = "";
+                if (order.FromGender == EGender.Female)
+                    gender = "女";
+                if (order.FromGender == EGender.Male)
+                    gender = "男";
+                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"
+                };
+                var GDJCXXInfoObject = EncryptHandler.AES(basicInfoDto);
 
-            #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",
-            };
+                await InitSendData(order.Id, order.No, "0", LZ110Defaults.SendBasicInfo, JsonConvert.SerializeObject(basicInfoDto), JsonConvert.SerializeObject(GDJCXXInfoObject), cancellationToken);
+                #endregion
 
+                #region 接受数据汇聚 工单流转信息
+                var nodeName = "派单组";
+                var nodeType = "2";
+                if (!string.IsNullOrEmpty(order.ActualHandleOrgName) && order.ActualHandleOrgName != "001")
+                {
+                    if (order.ActualHandleOrgName.Length == 6)
+                    {
+                        nodeName = "一级部门受理";
+                        nodeType = "4";
+                    }
+                    else if (order.ActualHandleOrgName.Length == 9)
+                    {
+                        nodeName = "二级部门办理";
+                        nodeType = "4";
+                    }
+                    else if (order.ActualHandleOrgName.Length == 12)
+                    {
+                        nodeName = "三级部门办理";
+                        nodeType = "4";
+                    }
+                }
 
-            #endregion
+                LZ110FlowedDto flowedDto = new LZ110FlowedDto()
+                {
+                    RunID = dto.WorkflowTrace.Id,
+                    FlowID = order.Id,
+                    Code = order.No,
+                    NodeName = nodeName,
+                    NodeType = 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",
+                    PoliceCode = string.Empty,
+                    HandleState = string.Empty
+                };
 
-            #region 接受数据汇聚 工单办理状态
-            LZ110UpdateStatusDto updateStatusDto = new LZ110UpdateStatusDto()
-            {
-                Code = order.No,
-                FlowID = order.Id,
-                PoliceCode = "",
-                HandleState = "已归档",
-            };
+                var GdblztInfoObject = EncryptHandler.AES(flowedDto);
+                await InitSendData(order.Id, order.No, "0", LZ110Defaults.SendFlowed, JsonConvert.SerializeObject(flowedDto), JsonConvert.SerializeObject(GdblztInfoObject), cancellationToken);
+                #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 = "",
+                };
+                var GDBLJGInfoObject = EncryptHandler.AES(handResultDto);
+                await InitSendData(order.Id, order.No, "0", LZ110Defaults.SendHandResult, JsonConvert.SerializeObject(handResultDto), JsonConvert.SerializeObject(GDBLJGInfoObject), cancellationToken);
+
+                #endregion
+
+                #region 接受数据汇聚 工单办理状态
+                LZ110UpdateStatusDto updateStatusDto = new LZ110UpdateStatusDto()
+                {
+                    Code = order.No,
+                    FlowID = order.Id,
+                    PoliceCode = "",
+                    HandleState = "已归档",
+                };
+                var GDBLZTInfoObject = EncryptHandler.AES(updateStatusDto);
+                await InitSendData(order.Id, order.No, "0", LZ110Defaults.SendUpdateStatus, JsonConvert.SerializeObject(updateStatusDto), JsonConvert.SerializeObject(GDBLZTInfoObject), cancellationToken);
+
+
+                #endregion
 
+                #region 接受数据汇聚 工单延期申请
+                if (dto.OrderSearchDelay != null)
+                {
+                    var orderSearchDelay = dto.OrderSearchDelay;
+                    LZ110ExtensionRequestDto extensionRequestDto = new LZ110ExtensionRequestDto()
+                    {
+                        FlowID = order.Id,
+                        Code = order.No,
+                        ApplyBMName = orderSearchDelay.ApplyOrgName,
+                        ApplyUserName = orderSearchDelay.EmployeeName,
+                        ApplyTime = orderSearchDelay.ApplyDelayTime.ToString("yyyy/MM/dd HH:mm:ss"),
+                        ApplyTimeLimit = orderSearchDelay.DelayNum.ToString(),
+                        ApplyContent = orderSearchDelay.DelayReason,
+                        FPID = orderSearchDelay.Id,
+                        RunID = orderSearchDelay.WorkflowId,
+                    };
+                    var GDYQSQInfoObject = EncryptHandler.AES(extensionRequestDto);
+                    await InitSendData(order.Id, order.No, "0", LZ110Defaults.SendExtensionRequest, JsonConvert.SerializeObject(extensionRequestDto), JsonConvert.SerializeObject(GDYQSQInfoObject), cancellationToken);
 
-            #endregion
+                }
 
-            #region 接受数据汇聚 工单办理结果
+                #endregion
 
-            LZ110HandResultDto handResultDto = new LZ110HandResultDto()
+            }
+        }
+
+        /// <summary>
+        /// 回访
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        public async Task InitVisitData(PublishVisitAllDto dto, CancellationToken cancellationToken)
+        {
+            var order = dto.Order;
+            if (order != null && order.TransferPhone == "12345")
             {
-                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 = "",
-            };
+                #region 接受数据汇聚 工单回访信息
+                if (dto.VisitState == EVisitState.Visited)
+                {
+                    if (dto.OrderVisitDetails != null && dto.OrderVisitDetails.Count > 0)
+                    {
+                        var visitMethod = "3";
+                        if (dto.VisitType == EVisitType.CallVisit)
+                            visitMethod = "1";
+                        else if (dto.VisitType == EVisitType.SmsVisit)
+                            visitMethod = "2";
 
-            #endregion
+                        #region 坐席
+                        //坐席
+                        var seat = dto.OrderVisitDetails.Where(p => p.VisitTarget == EVisitTarget.Seat).FirstOrDefault();
+                        var seatsContent = "";
+                        var seatsResult = "";
+                        if (seat != null)
+                        {
+                            seatsContent = seat.VisitContent;
+                            seatsResult = seat.SeatEvaluate switch
+                            {
+                                ESeatEvaluate.VerySatisfied => "1",
+                                ESeatEvaluate.Satisfied => "2",
+                                ESeatEvaluate.Normal => "3",
+                                ESeatEvaluate.NoSatisfied => "4",
+                                ESeatEvaluate.VeryNoSatisfied => "5",
+                                _ => "2",
+                            };
+                        }
+                        #endregion
 
-            #region 接受数据汇聚 工单延期申请
+                        #region 部门
+                        //部门
+                        var bm = dto.OrderVisitDetails.Where(p => p.VisitTarget == EVisitTarget.Org).FirstOrDefault();
+                        var bmContent = "";
+                        var bmResult = "";
+                        if (bm != null)
+                        {
+                            bmContent = bm.VisitContent;
+                            bmResult = bm.OrgProcessingResults.Key switch
+                            {
+                                "5" => "1",
+                                "4" => "2",
+                                "3" => "3",
+                                "2" => "4",
+                                "1" => "5",
+                                _ => "2",
+                            };
+                        }
+                        #endregion
 
-            #endregion
+                        LZ110CallBackDto callBackDto = new LZ110CallBackDto()
+                        {
+                            VisitTime = dto.VisitTime.Value.ToString("yyyy/MM/dd HH:mm:ss"),
+                            FlowID = order.Id,
+                            SeatsContent = seatsContent,
+                            SeatsResult = seatsResult,
+                            Code = order.No,
+                            UserName = string.IsNullOrEmpty(dto.VisitName) == true ? "系统管理员" : dto.VisitName,
+                            VisitID = dto.Id,
+                            BMContent = bmContent,
+                            BMResult = bmResult,
+                            VisitMethod = visitMethod
+                        };
+                        var GDYQSQInfoObject = EncryptHandler.AES(callBackDto);
+                        await InitSendData(order.Id, order.No, "0", LZ110Defaults.SendCallBack, JsonConvert.SerializeObject(callBackDto), JsonConvert.SerializeObject(GDYQSQInfoObject), cancellationToken);
+                    }
+                }
 
-            #region 接受数据汇聚 工单回访信息
+                #endregion
+            }
+        }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <param name="OrderId">工单Id</param>
+        /// <param name="No">工单编号</param>
+        /// <param name="TaskType">任务类型  0:12345工单推送(汇聚),1:110工单推送</param>
+        /// <param name="Path">请求地址</param>
+        /// <param name="RequestData">组装参数</param>
+        /// <param name="Request">请求参数</param>
+        /// <param name="cancellationToken"></param>
+        /// <returns></returns>
+        public async Task<string> InitSendData(string OrderId, string No, string TaskType, string Path, string RequestData, string Request, CancellationToken cancellationToken)
+        {
+            WaitSendTaskLuZhou110 waitTask = new WaitSendTaskLuZhou110()
+            {
+                OrderId = OrderId,
+                No = No,
+                SendTimes = 0,
+                TaskType = TaskType,
+                HttpMethod = "Post",
+                Path = Path,
+                RequestData = RequestData,
+                Request = Request,
+            };
+            waitTask.Id = await _waitSendTaskLuZhou110Repository.AddAsync(waitTask, cancellationToken);
 
-            #endregion
+            var sendTask = _mapper.Map<SendTaskLuZhou110>(waitTask);
+            sendTask.Id = waitTask.Id;
+            //写入推送主表
+            return await _sendTaskLuZhou110Repository.AddAsync(sendTask, cancellationToken);
 
         }
     }

+ 12 - 4
src/DataSharing.Share/Dtos/LuZhou/LZ110UpdateStatusDto.cs

@@ -5,8 +5,16 @@
 /// </summary>
 public class LZ110UpdateStatusDto : ICanEncrypt
 {
-    public string Code { get; set; }
-    public string FlowID { get; set; }
-    public string PoliceCode { get; set; }
-    public string HandleState { get; set; }
+    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;
 }

+ 1 - 1
src/DataSharing/DataSharing.csproj

@@ -8,7 +8,7 @@
 
   <ItemGroup>
     <PackageReference Include="FluentValidation" Version="11.6.0" />
-    <PackageReference Include="Hotline.Share" Version="1.0.114" />
+    <PackageReference Include="Hotline.Share" Version="1.0.116" />
     <PackageReference Include="Portable.BouncyCastle" Version="1.9.0" />
     <PackageReference Include="Quartz.Jobs" Version="3.8.0" />
     <PackageReference Include="RestSharp" Version="110.2.0" />

+ 76 - 0
src/DataSharing/LuZhou/LuZhou110/SendTaskLuZhou110.cs

@@ -0,0 +1,76 @@
+using DataSharing.Share.Enums;
+using SqlSugar;
+using XF.Domain.Repository;
+
+namespace DataSharing.LuZhou.LuZhou110
+{
+    public class SendTaskLuZhou110 : CreationEntity
+    {
+        /// <summary>
+        /// 工单Id
+        /// </summary>
+        [SugarColumn(ColumnDescription = "工单Id")]
+        public string? OrderId { get; set; }
+
+        /// <summary>
+        /// 工单编号
+        /// </summary>
+        [SugarColumn(ColumnDescription = "工单编号")]
+        public string? No { get; set; }
+
+        /// <summary>
+        /// 初次推送时间
+        /// </summary>
+        [SugarColumn(ColumnDescription = "初次推送时间")]
+        public DateTime? FirstTime { get; set; }
+
+        /// <summary>
+        /// 最近一次推送时间
+        /// </summary>
+        [SugarColumn(ColumnDescription = "最近一次推送时间")]
+        public DateTime? LastTime { get; set; }
+
+        /// <summary>
+        /// 推送次数
+        /// </summary>
+        [SugarColumn(ColumnDescription = "推送次数")]
+        public int SendTimes { get; set; }
+
+        /// <summary>
+        /// 推送成功
+        /// </summary>
+        [SugarColumn(ColumnDescription = "推送成功")]
+        public ESendTaskState IsSuccess { get; set; } = ESendTaskState.WaitPush;
+
+        /// <summary>
+        /// 任务类型
+        /// addOrder, expiredTimeChanged...
+        /// </summary>
+        [SugarColumn(ColumnDescription = "任务类型")]
+        public string TaskType { get; set; }
+
+        /// <summary>
+        /// 请求方式
+        /// </summary>
+        [SugarColumn(ColumnDescription = "请求方式")]
+        public string HttpMethod { get; set; }
+
+        /// <summary>
+        /// 请求地址
+        /// </summary>
+        [SugarColumn(ColumnDescription = "请求地址")]
+        public string Path { get; set; }
+
+        /// <summary>
+        /// 请求参数
+        /// </summary>
+        [SugarColumn(ColumnDataType = "text", ColumnDescription = "请求参数")]
+        public string Request { get; set; }
+
+        /// <summary>
+        /// 组装参数
+        /// </summary>
+        [SugarColumn(ColumnDataType = "text", ColumnDescription = "组装参数")]
+        public string RequestData { get; set; }
+    }
+}

+ 88 - 0
src/DataSharing/LuZhou/LuZhou110/WaitSendTaskLuZhou110.cs

@@ -0,0 +1,88 @@
+using DataSharing.Share.Enums;
+using SqlSugar;
+using XF.Domain.Repository;
+
+namespace DataSharing.LuZhou.LuZhou110
+{
+    public class WaitSendTaskLuZhou110 : CreationEntity
+    {
+        /// <summary>
+        /// 工单Id
+        /// </summary>
+        [SugarColumn(ColumnDescription = "工单Id")]
+        public string? OrderId { get; set; }
+
+        /// <summary>
+        /// 工单编号
+        /// </summary>
+        [SugarColumn(ColumnDescription = "工单编号")]
+        public string? No { get; set; }
+
+        /// <summary>
+        /// 初次推送时间
+        /// </summary>
+        [SugarColumn(ColumnDescription = "初次推送时间")]
+        public DateTime? FirstTime { get; set; }
+
+        /// <summary>
+        /// 最近一次推送时间
+        /// </summary>
+        [SugarColumn(ColumnDescription = "最近一次推送时间")]
+        public DateTime? LastTime { get; set; }
+
+        /// <summary>
+        /// 推送次数
+        /// </summary>
+        [SugarColumn(ColumnDescription = "推送次数")]
+        public int SendTimes { get; set; }
+
+        /// <summary>
+        /// 推送成功
+        /// </summary>
+        [SugarColumn(ColumnDescription = "推送成功")]
+        public ESendTaskState IsSuccess { get; set; } = ESendTaskState.WaitPush;
+
+        /// <summary>
+        /// 任务类型
+        /// addOrder, expiredTimeChanged...
+        /// </summary>
+        [SugarColumn(ColumnDescription = "任务类型")]
+        public string TaskType { get; set; }
+
+        /// <summary>
+        /// 请求方式
+        /// </summary>
+        [SugarColumn(ColumnDescription = "请求方式")]
+        public string HttpMethod { get; set; }
+
+        /// <summary>
+        /// 请求地址
+        /// </summary>
+        [SugarColumn(ColumnDescription = "请求地址")]
+        public string Path { get; set; }
+
+        /// <summary>
+        /// 请求参数
+        /// </summary>
+        [SugarColumn(ColumnDataType = "text", ColumnDescription = "请求参数")]
+        public string Request { get; set; }
+
+        /// <summary>
+        /// 组装参数
+        /// </summary>
+        [SugarColumn(ColumnDataType = "text", ColumnDescription = "组装参数")]
+        public string RequestData { get; set; }
+
+        /// <summary>
+        /// 数据读取状态 
+        /// </summary>
+        [SugarColumn(ColumnDescription = "数据读取状态")]
+        public EWaitSendTaskState State { get; set; } = EWaitSendTaskState.WaitPush;
+
+        /// <summary>
+        /// 标识版本字段
+        /// </summary>
+        [SqlSugar.SugarColumn(IsEnableUpdateVersionValidation = true)]
+        public Guid Ver { get; set; }
+    }
+}