Merge branch 'S02-轨迹中台第二部分' into S03-轨迹中台

This commit is contained in:
李鹏军 2024-03-28 11:47:51 +08:00
commit 443b55f1dd

View File

@ -18,11 +18,13 @@ public class CapFilter : SubscribeFilter
/// <returns></returns> /// <returns></returns>
public override Task OnSubscribeExecutingAsync(ExecutingContext context) 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)) if (context.DeliverMessage.Headers["cap-msg-name"]!.EndsWith(GlobalConst.TrackRefreshSubscribe))
return Task.CompletedTask; 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; context.DeliverMessage.Headers["sjzy-arguments"] = argumentJsonStr;
if (!string.IsNullOrEmpty(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("cap-msg-name", out var receiveName);
context.DeliverMessage.Headers.TryGetValue("sjzy-arguments", out var arguments); context.DeliverMessage.Headers.TryGetValue("sjzy-arguments", out var arguments);
BuildLog(receiveTime!, receiveName!, arguments!, true, messageId!); BuildLog(receiveTime!, receiveName!, arguments, true, messageId!);
return Task.CompletedTask; 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) string messageId)
{ {
var parsedDate = DateTime.ParseExact(receiveTime, "yyyy-MM-dd HH:mm:ss fff", CultureInfo.InvariantCulture); var parsedDate = DateTime.ParseExact(receiveTime, "yyyy-MM-dd HH:mm:ss fff", CultureInfo.InvariantCulture);