Przeglądaj źródła

修改自贡110对接数据

tangjiang 4 miesięcy temu
rodzic
commit
0846e29936

+ 39 - 37
src/DataSharing.Host/Controllers/Police110/PoliceDCJTController.cs

@@ -11,18 +11,14 @@ using DataSharing.Share.Dtos.Police110.DaoShu110;
 using DataSharing.Share.Dtos.Police110.DCJT110;
 using DataSharing.Share.Enums;
 using DotNetCore.CAP;
-using Google.Protobuf.WellKnownTypes;
 using Hotline.Share.Dtos.DataSharing.PusherHotlineDto;
-using Hotline.Share.Dtos.Order;
 using Hotline.Share.Enums.Order;
 using MapsterMapper;
 using MediatR;
 using Microsoft.AspNetCore.Authorization;
 using Microsoft.AspNetCore.Mvc;
-using Microsoft.OpenApi.Models;
 using Newtonsoft.Json;
 using Newtonsoft.Json.Converters;
-using System.Net;
 using System.Text;
 using XF.Domain.Filters;
 using XF.Domain.Repository;
@@ -66,6 +62,7 @@ namespace DataSharing.Host.Controllers.Police110
         /// <param name="sharingConfigurationManager"></param>
         /// <param name="sendHotlineErrorDataRepository"></param>
         /// <param name="dsReceiveHandleDataRepository"></param>
+        /// <param name="logger"></param>
         public PoliceDCJTController(IMapper mapper,
             ICapPublisher capPublisher,
             IMediator mediator,
@@ -115,31 +112,37 @@ namespace DataSharing.Host.Controllers.Police110
             //根据不同地市州获取不同的配置信息
             if (_sharingConfigurationManager.IsCity(ConfigurationConsts.ZiGong))
                 configurationPoliceDCJT = _sharingConfigurationManager.GetZiGongConfig().PoliceDCJT;
-
+            _logger.LogInformation("收到数据---------");
             var sm4 = configurationPoliceDCJT.token1_sm4_mw;
             var apiR = new DCJTDeResponse<string>();
             try
             {
                 string id = "";
+                _logger.LogInformation("dcsm---------" + Request.Headers["dcsm"].ToString());
                 // 验证dcsm
                 string dcsmMsg = CheckDcsm(Request.Headers["dcsm"].ToString(), configurationPoliceDCJT.token1_dcsm);
+                _logger.LogInformation("验证dcsm---------" + dcsmMsg);
+
                 if (!string.IsNullOrEmpty(dcsmMsg))
                 {
-                    apiR = DCJTDeResponse<string>.Failed(dcsmMsg);
+                    apiR = DCJTDeResponse<string>.Failed(null, dcsmMsg);
                 }
                 else
                 {
                     string base64String = await GetStreamBase64(HttpContext.Request);
+                    _logger.LogInformation("base64String---------" + base64String);
                     ChainAlarm_DCJT chainAlarm = new();
                     if (!string.IsNullOrEmpty(base64String))
                     {
                         // 解密:base64通过sm4解密转json
                         string jsonRes = Sm4Crypto.Decrypt_ECB_Base64(sm4, base64String);
+                        _logger.LogInformation("jsonRes---------" + jsonRes);
                         // json 转 实体类
                         if (!string.IsNullOrEmpty(jsonRes))
                             chainAlarm = System.Text.Json.JsonSerializer.Deserialize<ChainAlarm_DCJT>(jsonRes);
 
                         id = await InitRawData("/service/api/dcjt/110To12345/chainAlarm", base64String, jsonRes, chainAlarm?.AlarmReceiptNumber);
+                        _logger.LogInformation("添加数据---------" + id);
                     }
 
                     #region 数据验证
@@ -173,7 +176,9 @@ namespace DataSharing.Host.Controllers.Police110
                             IdentityType = EIdentityType.Citizen,
                             Transpond = false,
                             IsEnforcementOrder = false,
-                            Title = string.Empty
+                            Title = string.Empty,
+                            AcceptType = "咨询",
+                            AcceptTypeCode = "10"
                         };
 
                         orderDto.FromGender = chainAlarm.FromGender switch
@@ -219,16 +224,16 @@ namespace DataSharing.Host.Controllers.Police110
                             await _sendHotlineErrorDataRepository.AddAsync(errorData, HttpContext.RequestAborted);
                         }
 
-                        apiR = DCJTDeResponse<string>.Succeed(null);
+                        apiR = DCJTDeResponse<string>.Succeed(null, "调用成功");
 
                     }
                     else
-                        apiR = DCJTDeResponse<string>.Failed(strResult);
+                        apiR = DCJTDeResponse<string>.Failed(null, strResult);
                 }
             }
             catch (Exception)
             {
-                apiR = DCJTDeResponse<string>.Failed("接口异常");
+                apiR = DCJTDeResponse<string>.Failed(null, "接口异常");
             }
 
             #region 处理返回数据
@@ -236,6 +241,7 @@ namespace DataSharing.Host.Controllers.Police110
             string jsonResult = ModelToJson(apiR);
             // 加密: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);
@@ -275,7 +281,7 @@ namespace DataSharing.Host.Controllers.Police110
                 string dcsmMsg = CheckDcsm(Request.Headers["dcsm"].ToString(), configurationPoliceDCJT.token4_dcsm);
                 if (!string.IsNullOrEmpty(dcsmMsg))
                 {
-                    apiR = DCJTDeResponse<string>.Failed(dcsmMsg);
+                    apiR = DCJTDeResponse<string>.Failed(null, dcsmMsg);
                 }
                 else
                 {
@@ -308,16 +314,16 @@ namespace DataSharing.Host.Controllers.Police110
                     {
                         //这里组装数据推送到业务系统
                         await InitChainDeal(chainDeal);
-                        apiR = DCJTDeResponse<string>.Succeed(null);
+                        apiR = DCJTDeResponse<string>.Succeed(null, "调用成功");
                     }
                     else
-                        apiR = DCJTDeResponse<string>.Failed(null);
+                        apiR = DCJTDeResponse<string>.Failed(null, "调用失败");
 
                 }
             }
             catch (Exception)
             {
-                apiR = DCJTDeResponse<string>.Failed("接口异常");
+                apiR = DCJTDeResponse<string>.Failed(null, "接口异常");
             }
 
             #region 处理返回数据
@@ -325,6 +331,7 @@ namespace DataSharing.Host.Controllers.Police110
             string jsonResult = ModelToJson(apiR);
             // 加密: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);
@@ -358,7 +365,7 @@ namespace DataSharing.Host.Controllers.Police110
                 string dcsmMsg = CheckDcsm(Request.Headers["dcsm"].ToString(), configurationPoliceDCJT.token3_dcsm);
                 if (!string.IsNullOrEmpty(dcsmMsg))
                 {
-                    apiR = DCJTDeResponse<string>.Failed(dcsmMsg);
+                    apiR = DCJTDeResponse<string>.Failed(null, dcsmMsg);
                 }
                 else
                 {
@@ -378,12 +385,12 @@ namespace DataSharing.Host.Controllers.Police110
                     if (string.IsNullOrEmpty(sendData.StartDate) || !IsDate(sendData.StartDate))
                     {
                         bRun = false;
-                        apiR = DCJTDeResponse<string>.Failed("【创建开始时间】不是日期格式 yyyy-MM-dd HH:mm:ss");
+                        apiR = DCJTDeResponse<string>.Failed(null, "【创建开始时间】不是日期格式 yyyy-MM-dd HH:mm:ss");
                     }
                     if (string.IsNullOrEmpty(sendData.EndDate) || !IsDate(sendData.EndDate))
                     {
                         bRun = false;
-                        apiR = DCJTDeResponse<string>.Failed("【创建结束时间】不是日期格式 yyyy-MM-dd HH:mm:ss");
+                        apiR = DCJTDeResponse<string>.Failed(null, "【创建结束时间】不是日期格式 yyyy-MM-dd HH:mm:ss");
                     }
                     if (bRun)
                     {
@@ -398,10 +405,10 @@ namespace DataSharing.Host.Controllers.Police110
                              {
                                  LSH = p.SerialNumber,
                                  JJYBH = p.RegisterNo,
-                                 JJYXM=p.RegisterName,
+                                 JJYXM = p.RegisterName,
                                  JJDBH = p.AlarmReceiptNumber,
                                  BJDH = p.CallPoliceNumber,
-                                 BJRXB=p.FromGender,
+                                 BJRXB = p.FromGender,
                                  BJDHYHM = p.CallPoliceName,
                                  LXDH = p.PhoneNumber,
                                  BJDZ = p.CallPoliceAddress,
@@ -439,12 +446,12 @@ namespace DataSharing.Host.Controllers.Police110
             }
             catch (Exception)
             {
-                apiR = DCJTDeResponse<string>.Failed("接口异常");
+                apiR = DCJTDeResponse<string>.Failed(null, "接口异常");
             }
 
             #region 处理返回数据
-            string jsonResult = System.Text.Json.JsonSerializer.Serialize(apiR, ProvinceJsonSerializerOptions.UnStandardDatetimeJsonOptions);
-            jsonResult = System.Text.RegularExpressions.Regex.Unescape(jsonResult);
+            // 返回数据转Json
+            string jsonResult = ModelToJson(apiR);
             // 加密:json通过sm4加密转base64
             string base64 = Sm4Crypto.Encrypt_ECB_Base64(sm4, jsonResult);
             _logger.LogInformation($"输出:" + $"\r\n\r\nbase64:{base64}\r\nJson:{jsonResult}");
@@ -484,7 +491,7 @@ namespace DataSharing.Host.Controllers.Police110
                 string dcsmMsg = CheckDcsm(Request.Headers["dcsm"].ToString(), configurationPoliceDCJT.token2_dcsm);
                 if (!string.IsNullOrEmpty(dcsmMsg))
                 {
-                    apiR = DCJTDeResponse<string>.Failed(dcsmMsg);
+                    apiR = DCJTDeResponse<string>.Failed(null, dcsmMsg);
                 }
                 else
                 {
@@ -505,12 +512,12 @@ namespace DataSharing.Host.Controllers.Police110
                     if (!string.IsNullOrEmpty(sendData.StartDate) && !IsDate(sendData.StartDate))
                     {
                         bRun = false;
-                        apiR = DCJTDeResponse<string>.Failed("【创建开始时间】不是日期格式 yyyy-MM-dd HH:mm:ss");
+                        apiR = DCJTDeResponse<string>.Failed(null, "【创建开始时间】不是日期格式 yyyy-MM-dd HH:mm:ss");
                     }
                     if (!string.IsNullOrEmpty(sendData.EndDate) && !IsDate(sendData.EndDate))
                     {
                         bRun = false;
-                        apiR = DCJTDeResponse<string>.Failed("【创建结束时间】不是日期格式 yyyy-MM-dd HH:mm:ss");
+                        apiR = DCJTDeResponse<string>.Failed(null, "【创建结束时间】不是日期格式 yyyy-MM-dd HH:mm:ss");
                     }
 
                     if (bRun)
@@ -542,8 +549,8 @@ namespace DataSharing.Host.Controllers.Police110
                                      HANDLEBMNAME = p.ReturnUnit,
                                      HANDLEOPINION = p.ReturnOpinion,
                                      HANDLETIME = p.ReturnTime,
-                                     CZLX=p.DisposalType.ToString(),
-                                     DYYY="请求成功"
+                                     CZLX = p.DisposalType.ToString(),
+                                     DYYY = "请求成功"
                                  })
                                  .OrderBy(p => p.TSSJ)
                                  .Take(50)
@@ -553,11 +560,9 @@ namespace DataSharing.Host.Controllers.Police110
                             apiR = DCJTDeResponse<string>.Failed(null);
                         else
                         {
-                            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);
+                            var daoShuDe = DCJTDeResponse<List<ChainDeal_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}");
@@ -568,13 +573,10 @@ namespace DataSharing.Host.Controllers.Police110
             }
             catch (Exception)
             {
-                apiR = DCJTDeResponse<string>.Failed("接口异常");
+                apiR = DCJTDeResponse<string>.Failed(null, "接口异常");
             }
-
             // 返回数据转Json
-            //string jsonResult = ModelToJson(apiR);
-            string jsonResult = System.Text.Json.JsonSerializer.Serialize(apiR, ProvinceJsonSerializerOptions.UnStandardDatetimeJsonOptions);
-            jsonResult = System.Text.RegularExpressions.Regex.Unescape(jsonResult);
+            string jsonResult = ModelToJson(apiR);
             // 加密:json通过sm4加密转base64
             string base64 = Sm4Crypto.Encrypt_ECB_Base64(sm4, jsonResult);
             _logger.LogInformation($"输出:" + $"\r\n\r\nbase64:{base64}\r\nJson:{jsonResult}");