diff --git a/src/SJZY.Track.Application/CAP/EventHandlers/TrackPushEventHandler.cs b/src/SJZY.Track.Application/CAP/EventHandlers/TrackPushEventHandler.cs index 78c97f41..07f0380d 100644 --- a/src/SJZY.Track.Application/CAP/EventHandlers/TrackPushEventHandler.cs +++ b/src/SJZY.Track.Application/CAP/EventHandlers/TrackPushEventHandler.cs @@ -392,9 +392,14 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe //todo-test:根据code和比较字段值分组,在每组里选出一个创建时间最新的 foreach (var x in body.Data) { - var code = ((JsonElement) x["code"]!).GetString()!; - var dateStr = ((JsonElement) x["date"]!).GetString()!; + var code = string.Empty; + var dateStr = string.Empty; var key = string.Empty; + if (x["code"] is JsonElement codeEl) code = codeEl.GetString()!; + else code = x["code"]!.ToString(); + if (x["date"] is JsonElement dateEl) dateStr = dateEl.GetString()!; + else dateStr = x["date"]!.ToString(); + if (string.IsNullOrWhiteSpace(compareFields)) key = code; else @@ -444,7 +449,6 @@ public class TrackPushEventHandler : ITransientDependency, ICapSubscribe } //todo-test:按推送映射顺序排序 - } log.PushContent = TextJsonHelper.Serialize(body)!;