Browse Source

Merge branch 'feature/updatecitychange' into release

tangjiang 1 tháng trước cách đây
mục cha
commit
bab632458c

+ 25 - 21
src/DataSharing.Host/Controllers/HotlineWebController.cs

@@ -1037,30 +1037,34 @@ jxrWXHbT1FB6DqkdOnBbQqS1Azqz5HxLlSyEK3F60e3SgB5iZsDZ
             if (!dto.EndTime.HasValue)
                 dto.EndTime = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd 23:59:59"));
 
-            string strSql = @"SELECT * FROM( SELECT ""SCO"".""ProvinceNo"",""FirstTime"",  ""LastTime"",""SendTimes"", ""GenerationTime"",""CreationTime"",""RequestData"",""ExpiredTime"", ""CaseSource"",""OrderId""
-                    FROM(
-                    SELECT *  FROM 
-                    (
-                    SELECT ROW_NUMBER() OVER(PARTITION BY ""ProvinceNo"" ORDER BY ""CreationTime"" DESC)  AS ""newIndex"",""ProvinceNo"",""FirstTime"",""OrderId"",
-                    ""LastTime"",""SendTimes"",""GenerationTime""AS ""GenerationTime"",""CreationTime"",""RequestData"",""ExpiredTime"",""CaseSource"" AS ""CaseSource""
-                    FROM ""ds_send_task_submit_case_info"" 
-	                    where  ""GenerationTime"" >= '{0}'  AND  ""GenerationTime"" <= '{1}'     AND  ""LastTime"" >= '{0}'  AND  ""LastTime"" <= '{1}' AND  ""IsSuccess"" = 1 
-                    ) ""SCI"" WHERE ""newIndex""=1  	AND  ""CaseSource"" =  'RGDH' 
-                    ) ""SCO""
-                     LEFT JOIN 
-                    (
-                    SELECT * FROM (
-                    SELECT ROW_NUMBER() OVER(PARTITION BY ""CallId"" ORDER BY ""CreationTime"" DESC) as ""newIndex"",""ProvinceNo"",""CallId"",""CallLogId""
-                    FROM  ""ds_send_task_submit_case_record"" 
-				           WHERE   ""GenerationTime"" >= '{0}'   AND  ""LastTime"" >= '{0}'  AND  ""IsSuccess"" = 1 AND ""CallDirection""='0'
-                        ) ""SCR"" WHERE ""newIndex""=1 and (""ProvinceNo""  IS NOT NULL or ""ProvinceNo""  !='') 
-                    )""SCRC""
-                    ON ""SCO"".""ProvinceNo""=""SCRC"".""ProvinceNo""  WHERE  ""SCRC"".""ProvinceNo""  IS NULL   {2}
-                      )""te"" ";
+            //string strSql = @"SELECT * FROM( SELECT ""SCO"".""ProvinceNo"",""FirstTime"",  ""LastTime"",""SendTimes"", ""GenerationTime"",""CreationTime"",""RequestData"",""ExpiredTime"", ""CaseSource"",""OrderId""
+            //        FROM(
+            //        SELECT *  FROM 
+            //        (
+            //        SELECT ROW_NUMBER() OVER(PARTITION BY ""ProvinceNo"" ORDER BY ""CreationTime"" DESC)  AS ""newIndex"",""ProvinceNo"",""FirstTime"",""OrderId"",
+            //        ""LastTime"",""SendTimes"",""GenerationTime""AS ""GenerationTime"",""CreationTime"",""RequestData"",""ExpiredTime"",""CaseSource"" AS ""CaseSource""
+            //        FROM ""ds_send_task_submit_case_info"" 
+            //         where  ""GenerationTime"" >= '{0}'  AND  ""GenerationTime"" <= '{1}'     AND  ""LastTime"" >= '{0}'  AND  ""LastTime"" <= '{1}' AND  ""IsSuccess"" = 1 
+            //        ) ""SCI"" WHERE ""newIndex""=1  	AND  ""CaseSource"" =  'RGDH' 
+            //        ) ""SCO""
+            //         LEFT JOIN 
+            //        (
+            //        SELECT * FROM (
+            //        SELECT ROW_NUMBER() OVER(PARTITION BY ""CallId"" ORDER BY ""CreationTime"" DESC) as ""newIndex"",""ProvinceNo"",""CallId"",""CallLogId""
+            //        FROM  ""ds_send_task_submit_case_record"" 
+            //   WHERE   ""GenerationTime"" >= '{0}'   AND  ""LastTime"" >= '{0}'  AND  ""IsSuccess"" = 1 AND ""CallDirection""='0'
+            //            ) ""SCR"" WHERE ""newIndex""=1 and (""ProvinceNo""  IS NOT NULL or ""ProvinceNo""  !='') 
+            //        )""SCRC""
+            //        ON ""SCO"".""ProvinceNo""=""SCRC"".""ProvinceNo""  WHERE  ""SCRC"".""ProvinceNo""  IS NULL   {2}
+            //          )""te"" ";
+            string strSql = @"select provinceno ""ProvinceNo"",firsttime""FirstTime"",  lasttime""LastTime"",generationtime""GenerationTime"",
+                    creationtime""CreationTime"",requestdata""RequestData"",
+                    casesource""CaseSource"",orderid""OrderId"" FROM 
+                    get_order_matching_call_list('{0}','{1}')";
             string strWhere = "";
             if (!string.IsNullOrEmpty(dto.CaseSerial))
             {
-                strWhere = " AND  \"SCO\".\"ProvinceNo\"= '" + dto.CaseSerial + "'";
+                strWhere = " WHERE provinceno = '" + dto.CaseSerial + "'";
             }
             strSql = string.Format(strSql, dto.StartTime, dto.EndTime, strWhere);
             return _waitSendTaskRepository.GetDataBySql(strSql);

+ 59 - 71
src/DataSharing.Host/Controllers/LuZhou/WineCityController.cs

@@ -5,26 +5,16 @@ using DataSharing.Share.Dtos.YiBin.ConvergenceMedia;
 using DataSharing.YiBin.ConvergenceMedia;
 using Hotline.Share.Dtos.DataSharingSearch;
 using Hotline.Share.Dtos.File;
-using Hotline.Share.Dtos.FlowEngine.Workflow;
 using Hotline.Share.Dtos.Order;
-using Hotline.Share.Dtos;
-using Hotline.Share.Enums.Order;
 using MapsterMapper;
 using Microsoft.AspNetCore.Authorization;
 using Microsoft.AspNetCore.Mvc;
-using Newtonsoft.Json.Linq;
 using XF.Domain.Filters;
 using XF.Domain.Repository;
 using DataSharing.Share.Dtos;
-using DataSharing.Share.Dtos.ZiGong.DockingPlatform;
 using System.Net;
 using System.Text;
-using Newtonsoft.Json;
 using DataSharing.Share.Dtos.LuZhou;
-using Dm.filter;
-using Hotline.Share.Dtos.Snapshot;
-using DataSharing.Share.Dtos.CityStateDataExchange;
-using static Lucene.Net.Util.Fst.Util;
 
 namespace DataSharing.Host.Controllers.LuZhou
 {
@@ -106,6 +96,10 @@ namespace DataSharing.Host.Controllers.LuZhou
 
             #region 绑定数据
 
+            var platformSource = accountDto.PlatformSource;
+            if (platformSource == "JCeT")
+                platformSource = "WineCity";
+
             AddOrderDto data = new()
             {
                 Title = winCity.Title,
@@ -114,7 +108,7 @@ namespace DataSharing.Host.Controllers.LuZhou
                 FullAddress = winCity.Address,
                 Content = winCity.Content,
                 IsSecret = winCity.SFlag == "0" ? false : true,
-                Source = (Hotline.Share.Enums.Order.ESource)System.Enum.Parse(typeof(Hotline.Share.Enums.Order.ESource), accountDto.PlatformSource),
+                Source = (Hotline.Share.Enums.Order.ESource)System.Enum.Parse(typeof(Hotline.Share.Enums.Order.ESource), platformSource),
                 FromGender = winCity.LinkSex switch
                 {
                     "1" => Hotline.Share.Enums.Order.EGender.Male,
@@ -129,8 +123,8 @@ namespace DataSharing.Host.Controllers.LuZhou
 
             switch (accountDto.PlatformSource)
             {
-                case "WineCity":
-                    data.SourceChannel = "酒城通";
+                case "JCeT":
+                    data.SourceChannel = "酒城e通";
                     data.SourceChannelCode = accountDto.PlatformSource;
                     break;
                 default:
@@ -254,71 +248,65 @@ namespace DataSharing.Host.Controllers.LuZhou
 
             #region 查询工单
 
-            if (winCity.AcceptCode.Length == 12)
-            {
-                #region 查询老系统
+            #region 查询老系统
+
+            //Dictionary<string, object> dic = new Dictionary<string, object>
+            //{
+            //    { "AcceptSign", dto.AcceptSign },
+            //    { "AcceptContent", dto.AcceptContent }
+            //};
+            //var strUrl = _sharingConfigurationManager.GetLuZhouConfig().LuZhouWineCity.SendDataAddress + "/lz12345/WineCity.asmx/OrderDetail";
+            //var strResultData = e_SendHttpPostBySync(strUrl, dic);
+            //if (!string.IsNullOrEmpty(strResultData))
+            //{
+            //    WinCityDetailCodeDto wdcd = System.Text.Json.JsonSerializer.Deserialize<WinCityDetailCodeDto>(strResultData);
+            //    if (wdcd.code == "1")
+            //    {
+            //        WinCityDetailInfoDto wcdi = new()
+            //        {
+            //            Code = wdcd.msg.data[0].Code,
+            //            AddDate = Convert.ToDateTime(wdcd.msg.data[0].AddDate).ToString("yyyy-MM-dd HH:mm:ss"),
+            //            Content = wdcd.msg.data[0].Content,
+            //            Result = wdcd.msg.data[0].Result
+            //        };
+            //        WinCityDetailDataDto wddd = new() { data = wcdi };
+            //        return OpenResponse.Ok(WriteOrderResponseWineCityDto.Success("1", wddd));
+
+            //    }
+            //}
+            //return OpenResponse.Ok(WriteOrderResponseWineCityDto.Failed("0", "查询失败"));
 
-                Dictionary<string, object> dic = new Dictionary<string, object>
-                {
-                    { "AcceptSign", dto.AcceptSign },
-                    { "AcceptContent", dto.AcceptContent }
-                };
-                var strUrl = _sharingConfigurationManager.GetLuZhouConfig().LuZhouWineCity.SendDataAddress + "/_CityHotline/_Interface/WineCity/Api.asmx/OrderDetail";
-                var strResultData = e_SendHttpPostBySync(strUrl, dic);
-                if (!string.IsNullOrEmpty(strResultData))
-                {
-                    JObject job = (JObject)JsonConvert.DeserializeObject(strResultData);
-                    if (job != null && "1" == job["code"].ToString())
-                    {
-                        JObject jobData = (JObject)job["msg"]["data"][0];
-                        WinCityDetailInfoDto wcdi = new()
-                        {
-                            Code = jobData["Code"].ToString(),
-                            AddDate = Convert.ToDateTime(jobData["AddDate"]).ToString("yyyy-MM-dd HH:mm:ss"),
-                            Content = jobData["Content"].ToString(),
-                            Result = jobData["Result"].ToString()
-                        };
-                        WinCityDetailDataDto wddd = new() { data = wcdi };
-                        return OpenResponse.Ok(WriteOrderResponseWineCityDto.Success("1", wddd));
-
-                    }
-                }
-                return OpenResponse.Ok(WriteOrderResponseWineCityDto.Failed("0", "查询失败"));
+            #endregion
 
-                #endregion
-            }
-            else
-            {
-                #region 查询新系统
+            #region 查询新系统
 
-                GetOrderNoPwdDto getOrder = new()
-                {
-                    No = winCity.AcceptCode,
-                    Password = winCity.AcceptPwd,
-                };
-                var result = await _fwClient.RequestNoTokenAsync<HotlineClientDataSharingResponse<Hotline.Share.Dtos.Order.OrderDto>>("api/v1/DataSharing/get_order_detail_by_no_pwd",
-                    "Post", System.Text.Json.JsonSerializer.Serialize(getOrder));
-                List<MediaOrderDetailDataDto> items = new();
-                if (result != null && result.code == 0)
+            GetOrderNoPwdDto getOrder = new()
+            {
+                No = winCity.AcceptCode,
+                Password = winCity.AcceptPwd,
+            };
+            var result = await _fwClient.RequestNoTokenAsync<HotlineClientDataSharingResponse<Hotline.Share.Dtos.Order.OrderDto>>("api/v1/DataSharing/get_order_detail_by_no_pwd",
+                "Post", System.Text.Json.JsonSerializer.Serialize(getOrder));
+            List<MediaOrderDetailDataDto> items = new();
+            if (result != null && result.code == 0)
+            {
+                if (result.result != null)
                 {
-                    if (result.result != null)
+                    var item = result.result;
+                    WinCityDetailInfoDto wcdi = new()
                     {
-                        var item = result.result;
-                        WinCityDetailInfoDto wcdi = new()
-                        {
-                            Code = item.No,
-                            AddDate = item.CreationTime.ToString("yyyy-MM-dd HH:mm:ss"),
-                            Content = item.Content,
-                            Result = item.ActualOpinion
-                        };
-                        WinCityDetailDataDto wddd = new() { data = wcdi };
-                        return OpenResponse.Ok(WriteOrderResponseWineCityDto.Success("1", wddd));
-                    }
+                        Code = item.No,
+                        AddDate = item.CreationTime.ToString("yyyy-MM-dd HH:mm:ss"),
+                        Content = item.Content,
+                        Result = item.ActualOpinion
+                    };
+                    WinCityDetailDataDto wddd = new() { data = wcdi };
+                    return OpenResponse.Ok(WriteOrderResponseWineCityDto.Success("1", wddd));
                 }
-                return OpenResponse.Ok(WriteOrderResponseWineCityDto.Failed("0", "查询失败"));
-
-                #endregion
             }
+            return OpenResponse.Ok(WriteOrderResponseWineCityDto.Failed("0", "查询失败"));
+
+            #endregion
 
             #endregion
         }

+ 1 - 1
src/DataSharing.Host/Controllers/Police110/PoliceDCJTController.cs

@@ -434,7 +434,7 @@ namespace DataSharing.Host.Controllers.Police110
                                  JJLX = p.AlarmReceptionType,
                                  XZQHDM = p.AreaCode
                              })
-                             .OrderByDescending(p => p.BJSJ)
+                             .OrderByDescending(p => p.TSSJ)
                              .Take(takeNum)
                              .ToListAsync();
 

+ 24 - 21
src/DataSharing.Host/Controllers/TaskSchedulerController.cs

@@ -542,27 +542,30 @@ namespace DataSharing.Host.Controllers
             DateTime startTime = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-01 00:00:00"));
             DateTime endTime = DateTime.Now;
 
-            string strSql = @"SELECT ""ProvinceNo"" FROM( SELECT ""SCO"".""ProvinceNo"",""FirstTime"",  ""LastTime"",""SendTimes"", ""GenerationTime"",""CreationTime"",""RequestData"",""ExpiredTime"", ""CaseSource"",""OrderId""
-                    FROM(
-                    SELECT *  FROM 
-                    (
-                    SELECT ROW_NUMBER() OVER(PARTITION BY ""ProvinceNo"" ORDER BY ""CreationTime"" DESC)  AS ""newIndex"",""ProvinceNo"",""FirstTime"",""OrderId"",
-                    ""LastTime"",""SendTimes"",""GenerationTime""AS ""GenerationTime"",""CreationTime"",""RequestData"",""ExpiredTime"",""CaseSource"" AS ""CaseSource""
-                    FROM ""ds_send_task_submit_case_info"" 
-	                    where  ""GenerationTime"" >= '{0}'  AND  ""GenerationTime"" <= '{1}'     AND  ""LastTime"" >= '{0}'  AND  ""LastTime"" <= '{1}' AND  ""IsSuccess"" = 1 
-                    ) ""SCI"" WHERE ""newIndex""=1  	AND  ""CaseSource"" =  'RGDH' 
-                    ) ""SCO""
-                     LEFT JOIN 
-                    (
-                    SELECT * FROM (
-                    SELECT ROW_NUMBER() OVER(PARTITION BY ""CallId"" ORDER BY ""CreationTime"" DESC) as ""newIndex"",""ProvinceNo"",""CallId"",""CallLogId""
-                    FROM  ""ds_send_task_submit_case_record"" 
-				           WHERE   ""GenerationTime"" >= '{0}'   AND  ""LastTime"" >= '{0}'  AND  ""IsSuccess"" = 1 AND ""CallDirection""='0'
-                        ) ""SCR"" WHERE ""newIndex""=1 and (""ProvinceNo""  IS NOT NULL or ""ProvinceNo""  !='') 
-                    )""SCRC""
-                    ON ""SCO"".""ProvinceNo""=""SCRC"".""ProvinceNo""  WHERE  ""SCRC"".""ProvinceNo""  IS NULL   
-                      )""te"" ";
-
+            //string strSql = @"SELECT ""ProvinceNo"" FROM( SELECT ""SCO"".""ProvinceNo"",""FirstTime"",  ""LastTime"",""SendTimes"", ""GenerationTime"",""CreationTime"",""RequestData"",""ExpiredTime"", ""CaseSource"",""OrderId""
+            //        FROM(
+            //        SELECT *  FROM 
+            //        (
+            //        SELECT ROW_NUMBER() OVER(PARTITION BY ""ProvinceNo"" ORDER BY ""CreationTime"" DESC)  AS ""newIndex"",""ProvinceNo"",""FirstTime"",""OrderId"",
+            //        ""LastTime"",""SendTimes"",""GenerationTime""AS ""GenerationTime"",""CreationTime"",""RequestData"",""ExpiredTime"",""CaseSource"" AS ""CaseSource""
+            //        FROM ""ds_send_task_submit_case_info"" 
+            //         where  ""GenerationTime"" >= '{0}'  AND  ""GenerationTime"" <= '{1}'     AND  ""LastTime"" >= '{0}'  AND  ""LastTime"" <= '{1}' AND  ""IsSuccess"" = 1 
+            //        ) ""SCI"" WHERE ""newIndex""=1  	AND  ""CaseSource"" =  'RGDH' 
+            //        ) ""SCO""
+            //         LEFT JOIN 
+            //        (
+            //        SELECT * FROM (
+            //        SELECT ROW_NUMBER() OVER(PARTITION BY ""CallId"" ORDER BY ""CreationTime"" DESC) as ""newIndex"",""ProvinceNo"",""CallId"",""CallLogId""
+            //        FROM  ""ds_send_task_submit_case_record"" 
+            //   WHERE   ""GenerationTime"" >= '{0}'   AND  ""LastTime"" >= '{0}'  AND  ""IsSuccess"" = 1 AND ""CallDirection""='0'
+            //            ) ""SCR"" WHERE ""newIndex""=1 and (""ProvinceNo""  IS NOT NULL or ""ProvinceNo""  !='') 
+            //        )""SCRC""
+            //        ON ""SCO"".""ProvinceNo""=""SCRC"".""ProvinceNo""  WHERE  ""SCRC"".""ProvinceNo""  IS NULL   
+            //          )""te"" ";
+            string strSql = @"select provinceno ""ProvinceNo"",firsttime""FirstTime"",  lasttime""LastTime"",generationtime""GenerationTime"",
+                    creationtime""CreationTime"",requestdata""RequestData"",
+                    casesource""CaseSource"",orderid""OrderId"" FROM 
+                    get_order_matching_call_list('{0}','{1}')";
             strSql = string.Format(strSql, startTime, endTime);
 
             var list = await _waitSendTaskRepository.GetDataBySql(strSql).ToListAsync();

+ 51 - 6
src/DataSharing.LuZhou/LuZhou110Service.cs

@@ -6,7 +6,10 @@ using Hotline.Share.Dtos.Order;
 using Hotline.Share.Enums.Order;
 using MapsterMapper;
 using Microsoft.Extensions.Logging;
+using System.Globalization;
+using System.Text;
 using System.Text.Json;
+using System.Text.RegularExpressions;
 using XF.Domain.Dependency;
 using XF.Domain.Repository;
 
@@ -90,6 +93,10 @@ namespace DataSharing.LuZhou
                     Content = order.Content,
                     IsSecrecy = order.IsSecret == true ? "1" : "0"
                 };
+
+                string json = System.Text.Json.JsonSerializer.Serialize(basicInfoDto, serializeOptions);
+                json = Unicode2String(json);
+
                 var GDJCXXInfoObject = EncryptHandler.AES(basicInfoDto);
                 GDJCXXInfo GDJCXXInfo = new GDJCXXInfo
                 {
@@ -97,7 +104,7 @@ namespace DataSharing.LuZhou
                 };
 
                 await InitSendData(order.Id, order.No, "0", LZ110Defaults.SendBasicInfo,
-                    System.Text.Json.JsonSerializer.Serialize(basicInfoDto, serializeOptions),
+                    json,
                     System.Text.Json.JsonSerializer.Serialize(GDJCXXInfo, serializeOptions),
                     cancellationToken);
 
@@ -141,13 +148,16 @@ namespace DataSharing.LuZhou
                     PoliceCode = string.Empty,
                     HandleState = string.Empty
                 };
+                json = System.Text.Json.JsonSerializer.Serialize(flowedDto, serializeOptions);
+                json = Unicode2String(json);
+
                 var GDLZBLInfoObject = EncryptHandler.AES(flowedDto);
                 GDLZBLInfo GDLZBLInfo = new GDLZBLInfo
                 {
                     GDLZBLInfoObject = GDLZBLInfoObject
                 };
                 await InitSendData(order.Id, order.No, "0", LZ110Defaults.SendFlowed,
-                    JsonSerializer.Serialize(flowedDto, serializeOptions),
+                    json,
                     JsonSerializer.Serialize(GDLZBLInfo, serializeOptions),
                     cancellationToken);
 
@@ -165,13 +175,16 @@ namespace DataSharing.LuZhou
                     HandleState = "办理完成",
                     PoliceCode = "",
                 };
+                json = System.Text.Json.JsonSerializer.Serialize(handResultDto, serializeOptions);
+                json = Unicode2String(json);
+
                 var GDBLJGInfoObject = EncryptHandler.AES(handResultDto);
                 GDBLJGInfo GDBLJGInfo = new GDBLJGInfo
                 {
                     GDBLJGInfoObject = GDBLJGInfoObject
                 };
                 await InitSendData(order.Id, order.No, "0", LZ110Defaults.SendHandResult,
-                    System.Text.Json.JsonSerializer.Serialize(handResultDto, serializeOptions),
+                    json,
                     System.Text.Json.JsonSerializer.Serialize(GDBLJGInfo, serializeOptions),
                     cancellationToken);
 
@@ -186,13 +199,16 @@ namespace DataSharing.LuZhou
                     PoliceCode = "",
                     HandleState = "已归档",
                 };
+                json = System.Text.Json.JsonSerializer.Serialize(updateStatusDto, serializeOptions);
+                json = Unicode2String(json);
+
                 var GDBLZTInfoObject = EncryptHandler.AES(updateStatusDto);
                 GDBLZTInfo GDBLZTInfo = new GDBLZTInfo
                 {
                     GDBLZTInfoObject = GDBLZTInfoObject
                 };
                 await InitSendData(order.Id, order.No, "0", LZ110Defaults.SendUpdateStatus,
-                    System.Text.Json.JsonSerializer.Serialize(updateStatusDto, serializeOptions),
+                    json,
                     System.Text.Json.JsonSerializer.Serialize(GDBLZTInfo, serializeOptions),
                     cancellationToken);
 
@@ -215,13 +231,16 @@ namespace DataSharing.LuZhou
                         FPID = orderSearchDelay.Id,
                         RunID = orderSearchDelay.WorkflowId,
                     };
+                    json = System.Text.Json.JsonSerializer.Serialize(extensionRequestDto, serializeOptions);
+                    json = Unicode2String(json);
+
                     var GDYQSQInfoObject = EncryptHandler.AES(extensionRequestDto);
                     GDYQSQInfo GDYQSQInfo = new GDYQSQInfo
                     {
                         GDYQSQInfoObject = GDYQSQInfoObject
                     };
                     await InitSendData(order.Id, order.No, "0", LZ110Defaults.SendExtensionRequest,
-                        System.Text.Json.JsonSerializer.Serialize(extensionRequestDto, serializeOptions),
+                        json,
                         System.Text.Json.JsonSerializer.Serialize(GDYQSQInfo, serializeOptions),
                         cancellationToken);
 
@@ -289,13 +308,16 @@ namespace DataSharing.LuZhou
                     BMResult = bmResult,
                     VisitMethod = visitMethod
                 };
+                string json = System.Text.Json.JsonSerializer.Serialize(callBackDto, serializeOptions);
+                json = Unicode2String(json);
+
                 var GDHFXXInfoObject = EncryptHandler.AES(callBackDto);
                 GDHFXXInfo GDHFXXInfo = new GDHFXXInfo
                 {
                     GDHFXXInfoObject = GDHFXXInfoObject
                 };
                 await InitSendData(order.Id, order.No, "0", LZ110Defaults.SendCallBack,
-                    System.Text.Json.JsonSerializer.Serialize(callBackDto, serializeOptions),
+                    json,
                     System.Text.Json.JsonSerializer.Serialize(GDHFXXInfo, serializeOptions),
                     cancellationToken);
 
@@ -341,5 +363,28 @@ namespace DataSharing.LuZhou
         }
 
         #endregion
+
+        #region Unicode转字符串
+
+        /// <summary>
+        /// Unicode转字符串
+        /// </summary>
+        /// <param name="source">经过Unicode编码的字符串</param>
+        /// <returns>正常字符串</returns>
+        private string Unicode2String(string source)
+        {
+            try
+            {
+                return new Regex(@"\\u([0-9A-F]{4})", RegexOptions.IgnoreCase | RegexOptions.Compiled).Replace(
+                             source, x => string.Empty + Convert.ToChar(Convert.ToUInt16(x.Result("$1"), 16)));
+            }
+            catch (Exception)
+            {
+                return source;
+            }
+        }
+
+        #endregion
+
     }
 }

+ 2 - 1
src/DataSharing.Police110/HaiNengDa110/HndService.cs

@@ -351,7 +351,8 @@ namespace DataSharing.Police110.HaiNengDa110
                             PoliceCode = order.ExternalId
                         };
                         var GDYQSQInfoObject = EncryptHandler.AES(callBackDto);
-                        await InitSendData(order.Id, order.No, "1", LZ110Defaults.InteractiveCallBack, JsonConvert.SerializeObject(callBackDto), JsonConvert.SerializeObject(GDYQSQInfoObject), cancellationToken);
+                        await InitSendData(order.Id, order.No, "1", LZ110Defaults.InteractiveCallBack, 
+                            JsonConvert.SerializeObject(callBackDto), JsonConvert.SerializeObject(GDYQSQInfoObject), cancellationToken);
                     }
                 }
 

+ 11 - 0
src/DataSharing.Share/Dtos/LuZhou/WineCityDto.cs

@@ -162,6 +162,17 @@ namespace DataSharing.Share.Dtos.LuZhou
         }
     }
 
+    public class WinCityDetailCodeDto
+    {
+        public string code { get; set; }
+        public WinCityDetailListDto msg { get; set; }
+    }
+
+    public class WinCityDetailListDto
+    {
+        public List<WinCityDetailInfoDto> data { get; set; }
+    }
+
     public class WinCityDetailDataDto
     {
         public WinCityDetailInfoDto data { get; set; }

+ 13 - 8
src/DataSharing/Province/ProvinceService.cs

@@ -780,6 +780,11 @@ namespace DataSharing.Province
         /// <exception cref="UserFriendlyException"></exception>
         public async Task SubmitCaseRecordFwAsync(CallNativeDto dto, CancellationToken cancellationToken)
         {
+            //如果是呼出,没有通话录音文件,直接过滤
+            if (dto != null && dto.Direction == ECallDirection.Out && string.IsNullOrEmpty(dto.AudioFile))
+            {
+                return;
+            }
             //验证是否需要推送未接数据
             if (dto != null && dto.AnsweredTime == null && dto.Direction == ECallDirection.In)
             {
@@ -2016,14 +2021,14 @@ namespace DataSharing.Province
                 EEmergencyLevel.Emergency => "20",
                 _ => "30",
             };
-            //处理推送分类,如果存在多个只取第一个
-            if (dto.OrderPushTypes != null && dto.OrderPushTypes.Count > 0)
-            {
-                var push = dto.OrderPushTypes[0];
-                if (push != null)
-                    submitCaseInfo.PushType = push.PushTypeCode;
-            }
-
+            ////处理推送分类,如果存在多个只取第一个
+            //if (dto.OrderPushTypes != null && dto.OrderPushTypes.Count > 0)
+            //{
+            //    var push = dto.OrderPushTypes[0];
+            //    if (push != null)
+            //        submitCaseInfo.PushType = push.PushTypeCode;
+            //}
+            submitCaseInfo.PushType = dto.PushTypeCode;
             //处理诉求类型
             switch (submitCaseInfo.CaseType)
             {

+ 1 - 1
src/DataSharing/Province/SendTask/ProvinceOther/DsSendTaskProvinceOther.cs

@@ -1,5 +1,4 @@
 using DataSharing.SendTask;
-using DataSharing.Share.Dtos;
 using Hotline.Share.Dtos.File;
 using SqlSugar;
 using System.ComponentModel;
@@ -14,6 +13,7 @@ namespace DataSharing.Province.SendTask.ProvinceOther
     [SugarIndex("index_dssendtaskprovinceother_provinceno", nameof(ProvinceNo), OrderByType.Desc)]
     [SugarIndex("index_dssendtaskprovinceother_firsttime", nameof(FirstTime), OrderByType.Desc)]
     [SugarIndex("index_dssendtaskprovinceother_lasttime", nameof(LastTime), OrderByType.Desc)]
+    [SugarIndex("index_dssendtaskprovinceother_generationtime", nameof(GenerationTime), OrderByType.Desc)]
     public class DsSendTaskProvinceOther : BaseSendTask
     {
         /// <summary>

+ 1 - 0
src/DataSharing/Province/SendTask/SubmitCaseInfo/DsSendTaskSubmitCaseInfo.cs

@@ -14,6 +14,7 @@ namespace DataSharing.Province.SendTask.SubmitCaseInfo
     [SugarIndex("index_dssendtasksubmitcaseinfo_provinceno", nameof(ProvinceNo), OrderByType.Desc)]
     [SugarIndex("index_dssendtasksubmitcaseinfo_firsttime", nameof(FirstTime), OrderByType.Desc)]
     [SugarIndex("index_dssendtasksubmitcaseinfo_lasttime", nameof(LastTime), OrderByType.Desc)]
+    [SugarIndex("index_dssendtasksubmitcaseinfo_generationtime", nameof(GenerationTime), OrderByType.Desc)]
     public class DsSendTaskSubmitCaseInfo : BaseSendTask
     {
         /// <summary>

+ 1 - 0
src/DataSharing/Province/SendTask/SubmitCaseProcess/DsSendTaskSubmitCaseProcess.cs

@@ -12,6 +12,7 @@ namespace DataSharing.Province.SendTask.SubmitCaseProcess
     [SugarIndex("index_dssendtasksubmitcaseprocess_provinceno", nameof(ProvinceNo), OrderByType.Desc)]
     [SugarIndex("index_dssendtasksubmitcaseprocess_firsttime", nameof(FirstTime), OrderByType.Desc)]
     [SugarIndex("index_dssendtasksubmitcaseprocess_lasttime", nameof(LastTime), OrderByType.Desc)]
+    [SugarIndex("index_dssendtasksubmitcaseprocess_generationtime", nameof(GenerationTime), OrderByType.Desc)]
     public class DsSendTaskSubmitCaseProcess : BaseSendTask
     {
         /// <summary>

+ 1 - 2
src/DataSharing/Province/SendTask/SubmitCaseRecord/DsSendTaskSubmitCaseRecord.cs

@@ -10,11 +10,10 @@ namespace DataSharing.Province.SendTask.SubmitCaseRecord
     [Description("业务汇聚-电话记录推送任务数据")]
     [SugarIndex("index_dssendtasksubmitcaserecord_callid", nameof(CallId), OrderByType.Desc)]
     [SugarIndex("index_dssendtasksubmitcaserecord_calllogid", nameof(CallLogId), OrderByType.Desc)]
-    [SugarIndex("index_dssendtasksubmitcaserecord_calldirection", nameof(CallDirection), OrderByType.Desc)]
-    [SugarIndex("index_dssendtasksubmitcaserecord_onstate", nameof(OnState), OrderByType.Desc)]
     [SugarIndex("index_dssendtasksubmitcaserecord_provinceno", nameof(ProvinceNo), OrderByType.Desc)]
     [SugarIndex("index_dssendtasksubmitcaserecord_firsttime", nameof(FirstTime), OrderByType.Desc)]
     [SugarIndex("index_dssendtasksubmitcaserecord_lasttime", nameof(LastTime), OrderByType.Desc)]
+    [SugarIndex("index_dssendtasksubmitcaserecord_generationtime", nameof(GenerationTime), OrderByType.Desc)]
     public class DsSendTaskSubmitCaseRecord : BaseSendTask
     {
         /// <summary>

+ 1 - 0
src/DataSharing/Province/SendTask/SubmitCaseResult/DsSendTaskSubmitCaseResult.cs

@@ -11,6 +11,7 @@ namespace DataSharing.Province.SendTask.SubmitCaseResult
     [SugarIndex("index_dssendtasksubmitcaseresult_provinceno", nameof(ProvinceNo), OrderByType.Desc)]
     [SugarIndex("index_dssendtasksubmitcaseresult_firsttime", nameof(FirstTime), OrderByType.Desc)]
     [SugarIndex("index_dssendtasksubmitcaseresult_lasttime", nameof(LastTime), OrderByType.Desc)]
+    [SugarIndex("index_dssendtasksubmitcaseresult_generationtime", nameof(GenerationTime), OrderByType.Desc)]
     public class DsSendTaskSubmitCaseResult : BaseSendTask
     {
         /// <summary>