Explorar o código

修改自贡110对接参数

tangjiang hai 4 meses
pai
achega
b9301ad2db

+ 64 - 16
src/DataSharing.Host/Controllers/Police110/PoliceDCJTController.cs

@@ -49,6 +49,7 @@ namespace DataSharing.Host.Controllers.Police110
         private readonly ISharingConfigurationManager _sharingConfigurationManager;
         private readonly IRepository<SendHotlineErrorData> _sendHotlineErrorDataRepository;
         private readonly IRepository<DsReceiveHandleData> _dsReceiveHandleDataRepository;
+        private readonly ILogger<PoliceDCJTController> _logger;
 
         /// <summary>
         /// 
@@ -76,7 +77,8 @@ namespace DataSharing.Host.Controllers.Police110
             FwClient fwClient,
             ISharingConfigurationManager sharingConfigurationManager,
             IRepository<SendHotlineErrorData> sendHotlineErrorDataRepository,
-            IRepository<DsReceiveHandleData> dsReceiveHandleDataRepository)
+            IRepository<DsReceiveHandleData> dsReceiveHandleDataRepository,
+            ILogger<PoliceDCJTController> logger)
         {
             _mapper = mapper;
             _capPublisher = capPublisher;
@@ -90,6 +92,7 @@ namespace DataSharing.Host.Controllers.Police110
             _sharingConfigurationManager = sharingConfigurationManager;
             _sendHotlineErrorDataRepository = sendHotlineErrorDataRepository;
             _dsReceiveHandleDataRepository = dsReceiveHandleDataRepository;
+            _logger = logger;
         }
         #endregion
 
@@ -391,7 +394,31 @@ namespace DataSharing.Host.Controllers.Police110
                         var listData = await _dsPoliceSendChainAlarmDcjtRepository.Queryable()
                              .WhereIF(!string.IsNullOrEmpty(sendData.StartDate), p => p.CallPoliceTime >= Convert.ToDateTime(sendData.StartDate))
                              .WhereIF(!string.IsNullOrEmpty(sendData.EndDate), p => p.CallPoliceTime <= Convert.ToDateTime(sendData.EndDate))
-                             .OrderBy(p => p.CallPoliceTime)
+                             .Select(p => new ChainAlarm_DCJTNewDto
+                             {
+                                 LSH = p.SerialNumber,
+                                 JJYBH = p.RegisterNo,
+                                 JJYXM=p.RegisterName,
+                                 JJDBH = p.AlarmReceiptNumber,
+                                 BJDH = p.CallPoliceNumber,
+                                 BJRXB=p.FromGender,
+                                 BJDHYHM = p.CallPoliceName,
+                                 LXDH = p.PhoneNumber,
+                                 BJDZ = p.CallPoliceAddress,
+                                 JQLBDM = p.PoliceTypeCode,
+                                 JQLBMC = p.PoliceTypeName,
+                                 BJNR = p.CallPoliceContent,
+                                 GXDWDM = p.JurisdictionalUnitCode,
+                                 GXDWMC = p.JurisdictionalUnitName,
+                                 GXDWDH = p.JurisdictionalUnitNumber,
+                                 BJSJ = p.CallPoliceTime,
+                                 TSSJ = p.PushTime,
+                                 JJDWDM = p.AlarmReceivingUnitCode,
+                                 JJDWMC = p.AlarmReceivingUnitName,
+                                 JJLX = p.AlarmReceptionType,
+                                 XZQHDM = p.AreaCode
+                             })
+                             .OrderBy(p => p.BJSJ)
                              .Take(takeNum)
                              .ToListAsync();
 
@@ -399,13 +426,11 @@ namespace DataSharing.Host.Controllers.Police110
                             apiR = DCJTDeResponse<string>.Failed(null);
                         else
                         {
-                            var dto = _mapper.Map<IReadOnlyList<ChainAlarm_DCJTNew>>(listData);
-                            var daoShuDe = DCJTDeResponse<IReadOnlyList<ChainAlarm_DCJTNew>>.Succeed(dto, "调用成功");
-                            // 返回数据
-                            string jsonResultok = System.Text.Json.JsonSerializer.Serialize(daoShuDe, ProvinceJsonSerializerOptions.UnStandardDatetimeJsonOptions);
-                            jsonResultok = System.Text.RegularExpressions.Regex.Unescape(jsonResultok);
+                            var daoShuDe = DaoShuDeResponse<List<ChainAlarm_DCJTNewDto>>.Succeed(listData, "调用成功");
+                            string jsonResultok = ModelToJson(daoShuDe);
                             // 加密:json通过sm4加密转base64
                             string base64ok = Sm4Crypto.Encrypt_ECB_Base64(sm4, jsonResultok);
+                            _logger.LogInformation($"输出:" + $"\r\n\r\nbase64:{base64ok}\r\nJson:{jsonResultok}");
                             return OpenResponse.Ok(base64ok);
 
                         }
@@ -418,10 +443,11 @@ namespace DataSharing.Host.Controllers.Police110
             }
 
             #region 处理返回数据
-            // 返回数据转Json
-            string jsonResult = ModelToJson(apiR);
+            string jsonResult = System.Text.Json.JsonSerializer.Serialize(apiR, ProvinceJsonSerializerOptions.UnStandardDatetimeJsonOptions);
+            jsonResult = System.Text.RegularExpressions.Regex.Unescape(jsonResult);
             // 加密:json通过sm4加密转base64
             string base64 = Sm4Crypto.Encrypt_ECB_Base64(sm4, jsonResult);
+            _logger.LogInformation($"输出:" + $"\r\n\r\nbase64:{base64}\r\nJson:{jsonResult}");
             #endregion
 
             return OpenResponse.Ok(base64);
@@ -497,8 +523,28 @@ namespace DataSharing.Host.Controllers.Police110
                                  .WhereIF(!string.IsNullOrEmpty(sendData.StartDate), p => p.WarehousingTime >= Convert.ToDateTime(sendData.StartDate))
                                  .WhereIF(!string.IsNullOrEmpty(sendData.EndDate), p => p.WarehousingTime <= Convert.ToDateTime(sendData.EndDate))
                                  .WhereIF(!string.IsNullOrEmpty(sendData.AlarmReceiptNumber), p => p.AlarmReceiptNumber == sendData.AlarmReceiptNumber)
-                                 .Where(p => p.DisposalType == sendData.DisposalType)
-                                 .OrderBy(p => p.WarehousingTime)
+                                 .Where(p => p.DisposalType == sendData.DisposalType).Select(p => new ChainDeal_DCJTNewDto
+                                 {
+                                     JJDBH = p.AlarmReceiptNumber,
+                                     FKSJ = p.FeedbackTime,
+                                     CJCZQK = p.DisposalSituation,
+                                     JQCLJGSM = p.ResultDescription,
+                                     FKYBH = p.FeedbackPersonNumber,
+                                     FKYXM = p.FeedbackPersonName,
+                                     FKDWDM = p.FeedbackUnitCode,
+                                     FKDWMC = p.FeedbackUnitName,
+                                     TSSJ = p.WarehousingTime,
+                                     HFSJ = p.RevisitTime,
+                                     DHHFHSQK = p.CheckingContent,
+                                     CLJGDM = p.VisitResult,
+                                     CLJGMC = p.VisitContent,
+                                     HANDLEUSERNAME = p.ReturnName,
+                                     HANDLEBMNAME = p.ReturnUnit,
+                                     HANDLEOPINION = p.ReturnOpinion,
+                                     HANDLETIME = p.ReturnTime,
+                                     CZLX=p.DisposalType.ToString()
+                                 })
+                                 .OrderBy(p => p.TSSJ)
                                  .Take(50)
                                  .ToListAsync();
 
@@ -506,13 +552,14 @@ namespace DataSharing.Host.Controllers.Police110
                             apiR = DCJTDeResponse<string>.Failed(null);
                         else
                         {
-                            var dto = _mapper.Map<IReadOnlyList<ChainDeal_DCJTNew>>(listData);
-                            var daoShuDe = DCJTDeResponse<IReadOnlyList<ChainDeal_DCJTNew>>.Succeed(dto, "调用成功");
+                            var dto = _mapper.Map<IReadOnlyList<ChainDeal_DCJTNewDto>>(listData);
+                            var daoShuDe = DCJTDeResponse<IReadOnlyList<ChainDeal_DCJTNewDto>>.Succeed(dto, "调用成功");
                             // 返回数据
                             string jsonResultok = System.Text.Json.JsonSerializer.Serialize(daoShuDe, ProvinceJsonSerializerOptions.UnStandardDatetimeJsonOptions);
                             jsonResultok = System.Text.RegularExpressions.Regex.Unescape(jsonResultok);
                             // 加密:json通过sm4加密转base64
                             string base64ok = Sm4Crypto.Encrypt_ECB_Base64(sm4, jsonResultok);
+                            _logger.LogInformation($"输出:" + $"\r\n\r\nbase64:{base64ok}\r\nJson:{jsonResultok}");
                             return OpenResponse.Ok(base64ok);
                         }
                     }
@@ -523,12 +570,13 @@ namespace DataSharing.Host.Controllers.Police110
                 apiR = DCJTDeResponse<string>.Failed("接口异常");
             }
 
-            #region 处理返回数据
             // 返回数据转Json
-            string jsonResult = ModelToJson(apiR);
+            //string jsonResult = ModelToJson(apiR);
+            string jsonResult = System.Text.Json.JsonSerializer.Serialize(apiR, ProvinceJsonSerializerOptions.UnStandardDatetimeJsonOptions);
+            jsonResult = System.Text.RegularExpressions.Regex.Unescape(jsonResult);
             // 加密:json通过sm4加密转base64
             string base64 = Sm4Crypto.Encrypt_ECB_Base64(sm4, jsonResult);
-            #endregion
+            _logger.LogInformation($"输出:" + $"\r\n\r\nbase64:{base64}\r\nJson:{jsonResult}");
 
             return OpenResponse.Ok(base64);
         }

+ 11 - 9
src/DataSharing.Police110/DCJT110/DcjtService.cs

@@ -48,8 +48,8 @@ namespace DataSharing.Police110.DCJT110
         {
             var areaCodeDefu = _sharingConfigurationManager.GetCityCode();
             var config = _sharingConfigurationManager.GetZiGongConfig().PoliceDCJT;
-
-            var registerNo = string.IsNullOrEmpty(orderDto.AcceptorId) == true ? "10000" : orderDto.AcceptorId.Substring(orderDto.AcceptorId.Length - 15);
+            var registerNo = string.IsNullOrEmpty(orderDto.AcceptorId) == true ? "1001" : orderDto.AcceptorId.Substring(orderDto.AcceptorId.Length - 12);
+            var Content = orderDto.Content.Length > 290 ? orderDto.Content.Substring(0, 1900) : orderDto.Content;
             DsPoliceSendChainAlarmDcjt policeSend = new()
             {
                 SerialNumber = orderDto.ExternalId,
@@ -59,7 +59,7 @@ namespace DataSharing.Police110.DCJT110
                 CallPoliceNumber = string.IsNullOrEmpty(orderDto.FromPhone) == true ? orderDto.Contact : orderDto.FromPhone,
                 CallPoliceName = orderDto.FromName,
                 PhoneNumber = orderDto.Contact,
-                CallPoliceContent = orderDto.Content,
+                CallPoliceContent = Content,
                 PoliceTypeCode = "",
                 PoliceTypeName = "",
                 JurisdictionalUnitCode = config.GXDWDM,
@@ -111,15 +111,17 @@ namespace DataSharing.Police110.DCJT110
         public async Task InitPoliceSendChainDealAsync(OrderFlowDto dto, CancellationToken cancellationToken)
         {
             var data = await _policeSendChainDealDcjtRepository.GetAsync(p => p.OrderId == dto.Order.Id && p.DisposalType == (int)EDsDisposalType.OrderFiled, cancellationToken);
+            var actualOpinion = dto.Order.ActualOpinion.Length > 300 ? dto.Order.ActualOpinion.Substring(0, 1500) : dto.Order.ActualOpinion;
+            var feedbackPersonNumber = string.IsNullOrEmpty(dto.Order.AcceptorId) == true ? "1001" : dto.Order.AcceptorId.Substring(dto.Order.AcceptorId.Length - 12);
             if (data == null)
             {
                 data = new()
                 {
                     AlarmReceiptNumber = dto.Order.ExternalId,
                     FeedbackTime = dto.Order.ActualHandleTime,
-                    DisposalSituation = dto.Order.ActualOpinion,
-                    ResultDescription = dto.Order.ActualOpinion,
-                    FeedbackPersonNumber = dto.Order.ActualHandlerId,
+                    DisposalSituation = actualOpinion,
+                    ResultDescription = actualOpinion,
+                    FeedbackPersonNumber = feedbackPersonNumber,
                     FeedbackPersonName = dto.Order.ActualHandlerName,
                     FeedbackUnitCode = dto.Order.ActualHandleOrgCode,
                     FeedbackUnitName = dto.Order.ActualHandleOrgName,
@@ -133,9 +135,9 @@ namespace DataSharing.Police110.DCJT110
             {
                 data.AlarmReceiptNumber = dto.Order.ExternalId;
                 data.FeedbackTime = dto.Order.ActualHandleTime;
-                data.DisposalSituation = dto.Order.ActualOpinion;
-                data.ResultDescription = dto.Order.ActualOpinion;
-                data.FeedbackPersonNumber = dto.Order.ActualHandlerId;
+                data.DisposalSituation = actualOpinion;
+                data.ResultDescription = actualOpinion;
+                data.FeedbackPersonNumber = feedbackPersonNumber;
                 data.FeedbackPersonName = dto.Order.ActualHandlerName;
                 data.FeedbackUnitCode = dto.Order.ActualHandleOrgCode;
                 data.FeedbackUnitName = dto.Order.ActualHandleOrgName;

+ 22 - 74
src/DataSharing.Share/Dtos/Police110/DCJT110/ChainAlarm_DCJT.cs

@@ -169,164 +169,112 @@ namespace DataSharing.Share.Dtos.Police110.DaoShu110
     /// <summary>
     /// 大成均图受理工单表
     /// </summary>
-    public class ChainAlarm_DCJTNew
+    public class ChainAlarm_DCJTNewDto
     {
         /// <summary>
         /// 流水号
         /// </summary>
-        [JsonPropertyName("LSH")]
-        [MDisplayName("流水号")]
-        [VRequired]
-        public string SerialNumber { get; set; }
+        public string LSH { get; set; }
 
         /// <summary>
         /// 接警员编号
         /// </summary>
-        [JsonPropertyName("JJYBH")]
-        [MDisplayName("接警员编号")]
-        [VRequired]
-        public string RegisterNo { get; set; }
+        public string JJYBH { get; set; }
 
         /// <summary>
         /// 接警员姓名
         /// </summary>
-        [JsonPropertyName("JJYXM")]
-        [MDisplayName("接警员姓名")]
-        public string RegisterName { get; set; }
+        public string JJYXM { get; set; }
 
         /// <summary>
         /// 接警单编号
         /// </summary>
-        [JsonPropertyName("JJDBH")]
-        [MDisplayName("接警单编号")]
-        [VRequired]
-        public string AlarmReceiptNumber { get; set; }
+        public string JJDBH { get; set; }
 
         /// <summary>
         /// 报警电话
         /// </summary>
-        [JsonPropertyName("BJDH")]
-        [MDisplayName("报警电话")]
-        [VRequired]
-        public string CallPoliceNumber { get; set; }
+        public string BJDH { get; set; }
 
         /// <summary>
         /// 报警人性别
         /// </summary>
-        [JsonPropertyName("BJRXB")]
-        [MDisplayName("报警人性别")]
-        [VRequired]
-        public string FromGender { get; set; }
+        public string BJRXB { get; set; }
 
         /// <summary>
         /// 报警电话用户名
         /// </summary>
-        [JsonPropertyName("BJDHYHM")]
-        [MDisplayName("报警电话用户名")]
-        [VRequired]
-        public string CallPoliceName { get; set; }
+        public string BJDHYHM { get; set; }
 
         /// <summary>
         /// 联系电话
         /// </summary>
-        [JsonPropertyName("LXDH")]
-        [MDisplayName("联系电话")]
-        [VRequired]
-        public string PhoneNumber { get; set; }
+        public string LXDH { get; set; }
 
         /// <summary>
         /// 报警地址
         /// </summary>
-        [JsonPropertyName("BJDZ")]
-        [MDisplayName("报警地址")]
-        [VRequired]
-        public string CallPoliceAddress { get; set; }
+        public string BJDZ { get; set; }
 
         /// <summary>
         /// 警情类别代码
         /// </summary>
-        [JsonPropertyName("JQLBDM")]
-        public string PoliceTypeCode { get; set; }
+        public string JQLBDM { get; set; }
 
         /// <summary>
         /// 警情类别名称
         /// </summary>
-        [JsonPropertyName("JQLBMC")]
-        public string PoliceTypeName { get; set; }
+        public string JQLBMC { get; set; }
 
         /// <summary>
         /// 报警内容
         /// </summary>
-        [JsonPropertyName("BJNR")]
-        [MDisplayName("报警内容")]
-        [VRequired]
-        public string CallPoliceContent { get; set; }
+        public string BJNR { get; set; }
 
         /// <summary>
         /// 管辖单位代码
         /// </summary>
-        [JsonPropertyName("GXDWDM")]
-        public string JurisdictionalUnitCode { get; set; }
+        public string GXDWDM { get; set; }
 
         /// <summary>
         /// 管辖单位名称
         /// </summary>
-        [JsonPropertyName("GXDWMC")]
-        public string JurisdictionalUnitName { get; set; }
+        public string GXDWMC { get; set; }
 
         /// <summary>
         /// 管辖单位电话
         /// </summary>
-        [JsonPropertyName("GXDWDH")]
-        public string JurisdictionalUnitNumber { get; set; }
+        public string GXDWDH { get; set; }
 
         /// <summary>
         /// 报警时间
         /// </summary>
-        [JsonPropertyName("BJSJ")]
-        [MDisplayName("报警时间")]
-        [VRequired]
-        public DateTime? CallPoliceTime { get; set; }
+        public DateTime? BJSJ { get; set; }
 
         /// <summary>
         /// 推送时间
         /// </summary>
-        [JsonPropertyName("TSSJ")]
-        [MDisplayName("推送时间")]
-        [VRequired]
-        public DateTime? PushTime { get; set; }
+        public DateTime? TSSJ { get; set; }
 
         /// <summary>
         /// 接警单位代码
         /// </summary>
-        [JsonPropertyName("JJDWDM")]
-        [MDisplayName("接警单位代码")]
-        [VRequired]
-        public string AlarmReceivingUnitCode { get; set; }
+        public string JJDWDM { get; set; }
 
         /// <summary>
         /// 接警单位名称
         /// </summary>
-        [JsonPropertyName("JJDWMC")]
-        [MDisplayName("接警单位名称")]
-        [VRequired]
-        public string AlarmReceivingUnitName { get; set; }
+        public string JJDWMC { get; set; }
 
         /// <summary>
         /// 接警类型
         /// </summary>
-        [JsonPropertyName("JJLX")]
-        [MDisplayName("接警类型")]
-        [VRequired]
-        public string AlarmReceptionType { get; set; }
+        public string JJLX { get; set; }
 
         /// <summary>
         /// 行政区划代码
         /// </summary>
-        [JsonPropertyName("XZQHDM")]
-        [MDisplayName("行政区划代码")]
-        [VRequired]
-        public string AreaCode { get; set; }
+        public string XZQHDM { get; set; }
 
     }
 }

+ 19 - 43
src/DataSharing.Share/Dtos/Police110/DCJT110/ChainDeal_DCJT.cs

@@ -122,120 +122,96 @@ namespace DataSharing.Share.Dtos.Police110.DaoShu110
         public string WarehousingTime { get; set; }
     }
 
-    public class ChainDeal_DCJTNew
+    public class ChainDeal_DCJTNewDto
     {
         /// <summary>
         /// 接警单编号
         /// </summary>
-        [JsonPropertyName("JJDBH")]
-        [MDisplayName("接警单编号")]
-        [VRequired]
-        public string AlarmReceiptNumber { get; set; }
+        public string JJDBH { get; set; }
 
         /// <summary>
         /// 处置类型 1正常 2退回 3回访 4警情签收状态  5是结果签收状态 
         /// </summary>
-        [JsonPropertyName("CZLX")]
-        [MDisplayName("处置类型")]
-        [VRequired]
-        public string DisposalType { get; set; }
+        public string CZLX { get; set; }
 
         /// <summary>
         /// 反馈时间
         /// </summary>
-        [JsonPropertyName("FKSJ")]
-        public DateTime? FeedbackTime { get; set; }
+        public DateTime? FKSJ { get; set; }
 
         /// <summary>
         /// 出警处置情况
         /// </summary>
-        [JsonPropertyName("CJCZQK")]
-        public string DisposalSituation { get; set; }
+        public string CJCZQK { get; set; }
 
         /// <summary>
         /// 警情处理结果说明
         /// </summary>
-        [JsonPropertyName("JQCLJGSM")]
-        public string ResultDescription { get; set; }
+        public string JQCLJGSM { get; set; }
 
         /// <summary>
         /// 反馈人员编号
         /// </summary>
-        [JsonPropertyName("FKYBH")]
-        public string FeedbackPersonNumber { get; set; }
+        public string FKYBH { get; set; }
 
         /// <summary>
         /// 反馈人员姓名
         /// </summary>
-        [JsonPropertyName("FKYXM")]
-        public string FeedbackPersonName { get; set; }
+        public string FKYXM { get; set; }
 
         /// <summary>
         /// 反馈单位代码
         /// </summary>
-        [JsonPropertyName("FKDWDM")]
-        public string FeedbackUnitCode { get; set; }
+        public string FKDWDM { get; set; }
 
         /// <summary>
         /// 反馈单位名称
         /// </summary>
-        [JsonPropertyName("FKDWMC")]
-        public string FeedbackUnitName { get; set; }
+        public string FKDWMC { get; set; }
 
         /// <summary>
         /// 回访时间
         /// </summary>
-        [JsonPropertyName("HFSJ")]
-        public DateTime? RevisitTime { get; set; }
+        public DateTime? HFSJ { get; set; }
 
         /// <summary>
         /// 电话回访核实情况
         /// </summary>
-        [JsonPropertyName("DHHFHSQK")]
-        public string CheckingContent { get; set; }
+        public string DHHFHSQK { get; set; }
 
         /// <summary>
         /// 回访结果
         /// </summary>
-        [JsonPropertyName("CLJGDM")]
-        public string VisitResult { get; set; }
+        public string CLJGDM { get; set; }
 
         /// <summary>
         /// 回访内容
         /// </summary>
-        [JsonPropertyName("CLJGMC")]
-        public string VisitContent { get; set; }
+        public string CLJGMC { get; set; }
 
         /// <summary>
         /// 退回接警员
         /// </summary>
-        [JsonPropertyName("HANDLEUSERNAME")]
-        public string ReturnName { get; set; }
+        public string HANDLEUSERNAME { get; set; }
 
         /// <summary>
         /// 退回部门
         /// </summary>
-        [JsonPropertyName("HANDLEBMNAME")]
-        public string ReturnUnit { get; set; }
+        public string HANDLEBMNAME { get; set; }
 
         /// <summary>
         /// 退回原因
         /// </summary>
-        [JsonPropertyName("HANDLEOPINION")]
-        public string ReturnOpinion { get; set; }
+        public string HANDLEOPINION { get; set; }
 
         /// <summary>
         /// 退回时间
         /// </summary>
-        [JsonPropertyName("HANDLETIME")]
-        public DateTime? ReturnTime { get; set; }
+        public DateTime? HANDLETIME { get; set; }
 
         /// <summary>
         /// 入库时间
         /// </summary>
-        [JsonPropertyName("TSSJ")]
-        [MDisplayName("入库时间")]
-        [VRequired]
-        public DateTime? WarehousingTime { get; set; }
+        public DateTime? TSSJ { get; set; }
     }
 }