From 74c66fff3f763da6f4a734d9a460ec420d71aa0b Mon Sep 17 00:00:00 2001 From: xiaolipro <2357729423@qq.com> Date: Tue, 24 Dec 2024 11:52:58 +0800 Subject: [PATCH] review --- .../CAP/EventHandlers/TrackPushEventHandler.cs | 8 ++++++++ .../CAP/EventHandlers/TrackUpsertEventHandler.cs | 3 +++ .../Rabbit/TrackPushCompletedEventHandler.cs | 3 +++ 3 files changed, 14 insertions(+) diff --git a/src/SJZY.Track.Application/CAP/EventHandlers/TrackPushEventHandler.cs b/src/SJZY.Track.Application/CAP/EventHandlers/TrackPushEventHandler.cs index d2669e14..bcec6d49 100644 --- a/src/SJZY.Track.Application/CAP/EventHandlers/TrackPushEventHandler.cs +++ b/src/SJZY.Track.Application/CAP/EventHandlers/TrackPushEventHandler.cs @@ -2,6 +2,7 @@ using System.Text.Json; using DotNetCore.CAP; using Microsoft.Extensions.Options; using Newtonsoft.Json; +using Newtonsoft.Json.Linq; using SJZY.Expand.ABP.Core.PublicMethords; using SJZY.InterfaceRelay.Application.Contracts; using SJZY.OTel; @@ -388,6 +389,12 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe return string.IsNullOrWhiteSpace(json) ? default : System.Text.Json.JsonSerializer.Deserialize(json); } + + /* + * review by xiaolipro at 2024-12-24 + * todo:无用的方法,可以删除 @王云龙 + */ + /// /// 获取来源系统接口的参数名 /// @@ -427,6 +434,7 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe if (string.IsNullOrWhiteSpace(trackExtraJson)) return; + dict.TryAdd("extra",JObject.FromObject(trackExtraJson)); var trackExtra = ExtractTrackExtraDict(trackExtraJson); if (trackExtra.Count == 0) return; diff --git a/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs b/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs index a0a07af3..c168aa11 100644 --- a/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs +++ b/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs @@ -49,6 +49,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe var content = await HandleTrackAsync(@event, canNextOrderIds); + // todo: 广播提取到一个服务里去,异步处理,不影响主流程 // 处理广播事件 PublicTrackTopic(@event, content); @@ -247,6 +248,8 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe EstimatedDeliveryDate = @event.EstimatedDeliveryDate }); + + // todo:推送是否广播传入 // 触发轨迹推送事件(异步) var trackPushEvent = new TrackPushEvent { diff --git a/src/SJZY.Track.Application/Rabbit/TrackPushCompletedEventHandler.cs b/src/SJZY.Track.Application/Rabbit/TrackPushCompletedEventHandler.cs index 5dd5e7ed..2e2c8c56 100644 --- a/src/SJZY.Track.Application/Rabbit/TrackPushCompletedEventHandler.cs +++ b/src/SJZY.Track.Application/Rabbit/TrackPushCompletedEventHandler.cs @@ -82,6 +82,7 @@ public class TrackPushCompletedEventHandler : ITransientDependency, IRabbitHandl log.Message = @event.Message; log.RequestId = @event.RequestId; + // todo:这里不需要查es,log里面有 //查出推送轨迹,写入推送广播 var tracks = await _trackDetailsEsRepository .GetListAsync(new[] { log.OrderId }, new List @@ -145,6 +146,8 @@ public class TrackPushCompletedEventHandler : ITransientDependency, IRabbitHandl /// private async Task PublicTrackPushTopicAsync(TrackDetailsIndex track, TrackPushRecordIndex pushRecord, bool isFailure = false, string? errorMsg = null) { + // view by xiaolipro at 2024-12-24 + // todo:热路径下进行数据库查询影响性能,建议减少或缓存,或异步处理@王云龙 var statusList = await _trackStatusRepository.GetListAsync(m => m.SubSystemId == track.SubSystemId); if (statusList == null) return;