From f20ee5f0a2a6f595c57ea980722ade155301d756 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=86=9B?= <2357729423@qq.com> Date: Thu, 28 Mar 2024 11:46:25 +0800 Subject: [PATCH] change cap filter --- src/SJZY.Track.Application/EventHandlers/CAPFilter.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) 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);