diff --git a/src/SJZY.Track.Application/EventHandlers/UpdateOrderTrackEventHandler.cs b/src/SJZY.Track.Application/EventHandlers/UpdateOrderTrackEventHandler.cs index f2fca16a..72316cef 100644 --- a/src/SJZY.Track.Application/EventHandlers/UpdateOrderTrackEventHandler.cs +++ b/src/SJZY.Track.Application/EventHandlers/UpdateOrderTrackEventHandler.cs @@ -24,12 +24,15 @@ public class UpdateOrderTrackEventHandler : ITransientDependency, ICapSubscribe { if (@event.TrackTime == default) { + if (order.LatestTrackTime == null) return; // 删除全部轨迹导致的重置行为 order.ResetTrackInfo(); } - else if (@event.TrackTime == order.LatestTrackTime) return; + else if (order.LatestTrackTime != null && + order.LatestTrackTime.Value.Subtract(TimeSpan.FromHours(order.LatestTrackTimeZone ?? 0)) == + @event.TrackTime.Subtract(TimeSpan.FromHours(@event.TrackTimeZone))) return; } - else // upsert引发的更新,需要校验发生时间是否大于最新时间 + else // upsert引发的更新 { if (order.LatestTrackTime != null && order.LatestTrackTime.Value.Subtract(TimeSpan.FromHours(order.LatestTrackTimeZone ?? 0)) >