From af09e7581198670f36add95077f7ea1bfc30e722 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=B9=8F=E5=86=9B?= <2357729423@qq.com> Date: Tue, 16 Apr 2024 18:49:15 +0800 Subject: [PATCH] opt --- .../EventHandlers/TrackUpsertEventHandler.cs | 7 +++++-- .../Repositories/TrackDetailsRepository.cs | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs b/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs index 56157b2d..65dba149 100644 --- a/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs +++ b/src/SJZY.Track.Application/EventHandlers/TrackUpsertEventHandler.cs @@ -94,8 +94,7 @@ 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; + TrackDetailsIndex firstTrack = null; var insertTracks = new List(); @@ -173,11 +172,15 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe await _capPublisher.PublishAsync(GlobalConst.TrackPushSubscribe, trackPushEvent); canNextOrderIds.Add(order.OrderId); + + firstTrack ??= track; } // 批量add to es await _trackDetailsRepository.AddManyAsync(insertTracks); + if (firstTrack == null) return; + // 触发订单主表更新事件(异步) await _capPublisher.PublishAsync(GlobalConst.TrackChangeAfterUpdateOrderSubscribe, new TrackChangeAfterUpdateOrderEvent diff --git a/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs index 81d2bd06..644beb65 100644 --- a/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs +++ b/src/SJZY.Track.Repository/Repositories/TrackDetailsRepository.cs @@ -120,6 +120,7 @@ internal class TrackDetailsRepository : ElasticSearchContextAbstract tracks) { + if (!tracks.Any()) return; // 按天写入es var indexName = $"{GlobalConst.TrackIndex}-{DateTime.Now:yyyy.MM.dd}"; tracks.ForEach(x => x.IndexName = indexName);