From 017cd7ffd4abca1e866c77a1a326edf9cf91708e Mon Sep 17 00:00:00 2001 From: hardstylewyl <827778732@qq.com> Date: Mon, 23 Dec 2024 14:29:54 +0800 Subject: [PATCH 1/2] =?UTF-8?q?update:=20=E8=BD=A8=E8=BF=B9=E6=8E=A8?= =?UTF-8?q?=E9=80=81=E6=89=A9=E5=B1=95=E5=8F=82=E6=95=B0=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E4=B8=BA=E5=85=A8=E9=87=8F=E7=9A=84=E8=BD=A8=E8=BF=B9=E6=98=8E?= =?UTF-8?q?=E7=BB=86=E6=89=A9=E5=B1=95=E5=86=85=E5=AE=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../EventHandlers/TrackPushEventHandler.cs | 72 ++++++++++--------- 1 file changed, 39 insertions(+), 33 deletions(-) diff --git a/src/SJZY.Track.Application/CAP/EventHandlers/TrackPushEventHandler.cs b/src/SJZY.Track.Application/CAP/EventHandlers/TrackPushEventHandler.cs index e407d2ff..d2669e14 100644 --- a/src/SJZY.Track.Application/CAP/EventHandlers/TrackPushEventHandler.cs +++ b/src/SJZY.Track.Application/CAP/EventHandlers/TrackPushEventHandler.cs @@ -97,7 +97,6 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe var items = new List(); TrackPushContentConfigDto? config; var isSystemPush = @event.OperationMan == null; - var trackPushInputDict = new Dictionary(); if (isSystemPush) { foreach (var order in _orders) @@ -128,7 +127,7 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe TrackTimeZone = @event.SystemPushInfo.TrackTimeZone, CreateUser = GlobalConst.SystemUser, }; - var item = await BuiltPushItem(config, log); + var item = await BuiltPushItem(config, log, @event.SystemPushInfo.Extra); item.Log = JsonConvert.SerializeObject(log); items.Add(item); } @@ -174,9 +173,8 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe TrackTimeZone = track.TrackTimeZone, CreateUser = @event.OperationMan, }; - var item = await BuiltPushItem(config, log); + var item = await BuiltPushItem(config, log, track.Extra); item.Log = JsonConvert.SerializeObject(log); - trackPushInputDict.Add(item, track); items.Add(item); } } @@ -184,18 +182,18 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe if (items.Count == 0) return; //获取参数结构名称 - var paramNames = await GetExtraParamNamesAsync(@event.SubSystemCode); - - //如果为系统推送,则从事件中取出轨迹扩展内容填充 - foreach (var item in items) - { - //根据事件中轨迹扩展内容填充 - if (isSystemPush) - item.Data.ForEach(dict => FillExtraParam(@event.SystemPushInfo.Extra, dict, paramNames)); - //根据查出的轨迹中扩展内容填充 - else - item.Data.ForEach(dict => FillExtraParam(trackPushInputDict[item].Extra, dict, paramNames)); - } + // var paramNames = await GetExtraParamNamesAsync(@event.SubSystemCode); + // + // //如果为系统推送,则从事件中取出轨迹扩展内容填充 + // foreach (var item in items) + // { + // //根据事件中轨迹扩展内容填充 + // if (isSystemPush) + // item.Data.ForEach(dict => FillExtraParam(@event.SystemPushInfo.Extra, dict, paramNames)); + // //根据查出的轨迹中扩展内容填充 + // else + // item.Data.ForEach(dict => FillExtraParam(trackPushInputDict[item].Extra, dict, paramNames)); + // } using (Track2InterfaceRelaySubSystemContext.Use( new Track2InterfaceRelaySubSystemContext(@event.SubSystemCode))) @@ -237,19 +235,19 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe TrackTimeZone = @event.SystemPushInfo.TrackTimeZone, CreateUser = GlobalConst.SystemUser, }; - var item = BuiltUpdateItem(config, log); + var item = BuiltUpdateItem(config, log, @event.SystemPushInfo.Extra); item.Log = JsonConvert.SerializeObject(log); items.Add(item); } if (items.Count == 0) return; - //获取参数结构名称 - var paramNames = await GetExtraParamNamesAsync(@event.SubSystemCode); - - //根据事件中轨迹扩展内容填充请求 - foreach (var item in items) - item.Data.ForEach(dict => FillExtraParam(@event.SystemPushInfo.Extra, dict, paramNames)); + // //获取参数结构名称 + // var paramNames = await GetExtraParamNamesAsync(@event.SubSystemCode); + // + // //根据事件中轨迹扩展内容填充请求 + // foreach (var item in items) + // item.Data.ForEach(dict => FillExtraParam(@event.SystemPushInfo.Extra, dict, paramNames)); using (Track2InterfaceRelaySubSystemContext.Use( new Track2InterfaceRelaySubSystemContext(@event.SubSystemCode))) @@ -267,16 +265,16 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe } } - private TrackUpdateInput BuiltUpdateItem(TrackPushContentConfigDto config, TrackPushRecordIndex log) + private TrackUpdateInput BuiltUpdateItem(TrackPushContentConfigDto config, TrackPushRecordIndex log, string? extraJson) { var trackDatetime = log.TrackTime.AddHours(config.TrackTimeZone ?? log.TrackTimeZone - log.TrackTimeZone); var trackDateStr = DateTimeFormat(trackDatetime, config.TrackTimeZone ?? log.TrackTimeZone, config); var body = new TrackUpdateInput { - OrderNo = log.OrderNo, + OrderNo = log.OrderNo }; - var dict = new Dictionary() + var dict = new Dictionary() { //推真实的发生地和发生时间(时间是计算后的) { "location", log.TrackPlace }, @@ -286,7 +284,7 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe { "descriptionCn", config.TrackContentValue }, { "code", config.TrackContentCodeValue }, { "status", config.TrackStatusValue }, - { "extra", config.ExpandFieldsValue } + { "extra", DeserializeForTextJson(extraJson) } }; body.Data.Add(dict); log.PushContent = body.ToJson(); @@ -294,7 +292,7 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe return body; } - private async Task BuiltPushItem(TrackPushContentConfigDto config, TrackPushRecordIndex log) + private async Task BuiltPushItem(TrackPushContentConfigDto config, TrackPushRecordIndex log, string? extraJson) { var trackDatetime = log.TrackTime.AddHours(config.TrackTimeZone ?? log.TrackTimeZone - log.TrackTimeZone); var trackDateStr = DateTimeFormat(trackDatetime, config.TrackTimeZone ?? log.TrackTimeZone, config); @@ -303,7 +301,7 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe { OrderNo = log.OrderNo, }; - var dict = new Dictionary() + var dict = new Dictionary() { // 推真实的发生地和发生时间(时间是计算后的) { "location", log.TrackPlace }, @@ -313,7 +311,7 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe { "descriptionCn", config.TrackContentValue }, { "code", config.TrackContentCodeValue }, { "status", config.TrackStatusValue }, - { "extra", config.ExpandFieldsValue } + { "extra", DeserializeForTextJson(extraJson) } }; body.Data.Add(dict); @@ -322,12 +320,12 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe var history = await _trackPushRecordEsRepository.GetLatestTrackPushRecordAsync(log.OrderId); if (history != default) { - body = JsonConvert.DeserializeObject(history.PushContent); + body = DeserializeForTextJson(history.PushContent); body!.Data.Add(dict); } } - log.PushContent = body.ToJson(); + log.PushContent = SerializeForTextJson(body); return body; } @@ -381,6 +379,15 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe return dateTime.ToString("yyyy-MM-ddTHH:mm:ss.fffK"); } + private string SerializeForTextJson(object? obj) + { + return obj == null ? string.Empty : System.Text.Json.JsonSerializer.Serialize(obj); + } + private T? DeserializeForTextJson(string? json) + { + return string.IsNullOrWhiteSpace(json) ? default : System.Text.Json.JsonSerializer.Deserialize(json); + } + /// /// 获取来源系统接口的参数名 /// @@ -430,7 +437,6 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe } } - private Dictionary ExtractTrackExtraDict(string trackExtraStr) { var dict = new Dictionary(); From 7d8e8c584a505394fa85c2da4e8aa3d02ff70024 Mon Sep 17 00:00:00 2001 From: hardstylewyl <827778732@qq.com> Date: Mon, 23 Dec 2024 14:33:27 +0800 Subject: [PATCH 2/2] =?UTF-8?q?update:=20=E6=9B=B4=E6=96=B0=E5=A5=91?= =?UTF-8?q?=E7=BA=A6=E6=A8=A1=E5=9E=8B=EF=BC=8C=E8=B0=83=E6=95=B4=E7=89=88?= =?UTF-8?q?=E6=9C=AC7.0.7=20=3D>=207.0.8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Dtos/TrackPush/TrackPushContentConfigDto.cs | 1 + .../Dtos/TrackPush/TrackPushInput.cs | 4 ++-- .../SJZY.Track.Application.Contract.csproj | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/SJZY.Track.Application.Contract/Dtos/TrackPush/TrackPushContentConfigDto.cs b/src/SJZY.Track.Application.Contract/Dtos/TrackPush/TrackPushContentConfigDto.cs index 7e4464ed..345bec99 100644 --- a/src/SJZY.Track.Application.Contract/Dtos/TrackPush/TrackPushContentConfigDto.cs +++ b/src/SJZY.Track.Application.Contract/Dtos/TrackPush/TrackPushContentConfigDto.cs @@ -70,6 +70,7 @@ public class TrackPushContentConfigDto /// /// 扩展字段参数值 /// + [Obsolete("废弃属性,调整为从轨迹明细扩展中获取扩展值填入")] public string? ExpandFieldsValue { get; set; } /// diff --git a/src/SJZY.Track.Application.Contract/Dtos/TrackPush/TrackPushInput.cs b/src/SJZY.Track.Application.Contract/Dtos/TrackPush/TrackPushInput.cs index e650d04a..1111637f 100644 --- a/src/SJZY.Track.Application.Contract/Dtos/TrackPush/TrackPushInput.cs +++ b/src/SJZY.Track.Application.Contract/Dtos/TrackPush/TrackPushInput.cs @@ -5,7 +5,7 @@ public class TrackPushInput public string OrderNo { get; set; } = null!; //原TrackItem,为了扩展字段入参变更为字典 - public List> Data { get; set; } = new(); + public List> Data { get; set; } = new(); public string Log { get; set; } } @@ -15,7 +15,7 @@ public class TrackUpdateInput public string OrderNo { get; set; } = null!; //原TrackItem,为了扩展字段入参变更为字典 - public List> Data { get; set; } = new(); + public List> Data { get; set; } = new(); public string Log { get; set; } } diff --git a/src/SJZY.Track.Application.Contract/SJZY.Track.Application.Contract.csproj b/src/SJZY.Track.Application.Contract/SJZY.Track.Application.Contract.csproj index 4782626f..7645500b 100644 --- a/src/SJZY.Track.Application.Contract/SJZY.Track.Application.Contract.csproj +++ b/src/SJZY.Track.Application.Contract/SJZY.Track.Application.Contract.csproj @@ -5,7 +5,7 @@ net7.0 True - 7.0.7 + 7.0.8 True