diff --git a/src/SJZY.Track.Application/EventHandlers/CAPFilter.cs b/src/SJZY.Track.Application/EventHandlers/CAPFilter.cs index 97451ed8..6f9c5ba3 100644 --- a/src/SJZY.Track.Application/EventHandlers/CAPFilter.cs +++ b/src/SJZY.Track.Application/EventHandlers/CAPFilter.cs @@ -18,11 +18,13 @@ public class CapFilter : SubscribeFilter /// public override Task OnSubscribeExecutingAsync(ExecutingContext context) { + context.DeliverMessage.Headers["sjzy-receive-time"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff"); + + // 轨迹刷新不做幂等 if (context.DeliverMessage.Headers["cap-msg-name"]!.EndsWith(GlobalConst.TrackRefreshSubscribe)) return Task.CompletedTask; - var argumentJsonStr = context.Arguments.ToJson(); - context.DeliverMessage.Headers["sjzy-receive-time"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff"); + var argumentJsonStr = context.Arguments.ToJson(); context.DeliverMessage.Headers["sjzy-arguments"] = argumentJsonStr; if (!string.IsNullOrEmpty(argumentJsonStr)) @@ -80,13 +82,13 @@ public class CapFilter : SubscribeFilter context.DeliverMessage.Headers.TryGetValue("cap-msg-name", out var receiveName); context.DeliverMessage.Headers.TryGetValue("sjzy-arguments", out var arguments); - BuildLog(receiveTime!, receiveName!, arguments!, true, messageId!); + BuildLog(receiveTime!, receiveName!, arguments, true, messageId!); return Task.CompletedTask; } - private void BuildLog(string receiveTime, string receiveName, string arguments, bool isFromExecptionFliter, + private void BuildLog(string receiveTime, string receiveName, string? arguments, bool isFromExecptionFliter, string messageId) { var parsedDate = DateTime.ParseExact(receiveTime, "yyyy-MM-dd HH:mm:ss fff", CultureInfo.InvariantCulture);