diff --git a/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs b/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs index a162428a..56157b2d 100644 --- a/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs +++ b/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs @@ -94,6 +94,9 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe var orderIds = @event.OrderIdentifiers.Select(x => x.OrderId).ToArray(); var tracks = await _trackDetailsRepository.GetListAsync(orderIds, @event.TrackCode); + var firstTrack = tracks.FirstOrDefault(); + if (firstTrack == null) return; + var insertTracks = new List(); foreach (var order in @event.OrderIdentifiers) @@ -172,24 +175,21 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe canNextOrderIds.Add(order.OrderId); } - var firstTrack = insertTracks.FirstOrDefault(); - if (firstTrack == null) return; - - // step1、upsert es轨迹 + // 批量add to es await _trackDetailsRepository.AddManyAsync(insertTracks); - // step3、触发订单主表更新事件(异步) + // 触发订单主表更新事件(异步) await _capPublisher.PublishAsync(GlobalConst.TrackChangeAfterUpdateOrderSubscribe, new TrackChangeAfterUpdateOrderEvent { OrderIds = orderIds, IsCompleted = @event.TrackRefreshData.IsCompleted, - TrackCode = firstTrack.TrackCode, + TrackCode = @event.TrackCode, TrackContent = firstTrack.TrackContent, TrackEnContent = firstTrack.TrackEnContent, - TrackPlace = firstTrack.TrackPlace, - TrackTime = firstTrack.TrackTime, - TrackTimeZone = firstTrack.TrackTimeZone + TrackPlace = @event.TrackPlace, + TrackTime = @event.TrackTime, + TrackTimeZone = @event.TrackTimeZone }); } } \ No newline at end of file