diff --git a/src/SJZY.Track.Application/EventHandlers/CAPFilter.cs b/src/SJZY.Track.Application/EventHandlers/CAPFilter.cs index 6966de18..d6186324 100644 --- a/src/SJZY.Track.Application/EventHandlers/CAPFilter.cs +++ b/src/SJZY.Track.Application/EventHandlers/CAPFilter.cs @@ -24,6 +24,12 @@ public class CapFilter : SubscribeFilter if (context.DeliverMessage.Headers["cap-msg-name"]!.EndsWith(GlobalConst.TrackRefreshSubscribe)) return Task.CompletedTask; + // 本地调试不做幂等 + if (System.Diagnostics.Debugger.IsAttached) + { + return Task.CompletedTask; + } + var argumentJsonStr = context.Arguments.ToJson(); context.DeliverMessage.Headers["sjzy-arguments"] = argumentJsonStr; @@ -33,8 +39,8 @@ public class CapFilter : SubscribeFilter using (RedisHelper.Client.Lock("Filter:" + hash, 10)) { var isSkip = !string.IsNullOrEmpty(RedisHelper.Client.Get($"CapExcuteFilter:{hash}")); - // if (isSkip) - // throw new BusinessException(ErrorCode, $"检测到重复消费,消费参数:{argumentJsonStr}"); + if (isSkip) + throw new BusinessException(ErrorCode, $"检测到重复消费,消费参数:{argumentJsonStr}"); RedisHelper.Client.Set($"CapExcuteFilter:{hash}", 60 * 10, TimeSpan.FromHours(1).Seconds); // 1h内不允许一模一样的参数重复消费