diff --git a/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs b/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs index 46443ffb..bd8ef2c3 100644 --- a/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs +++ b/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs @@ -103,6 +103,10 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe private async Task HandleTrackAsync(TrackUpsertEvent @event, List canNextOrderIds) { + var content = await _provideQueries.GetTrackContentAsync(@event.SubSystemId, @event.TrackCode); + + if (content == null) return; + var orderIds = @event.OrderIdentifiers.Select(x => x.OrderId).ToArray(); var tracks = await _trackDetailsRepository.GetListAsync(orderIds, @event.TrackCode, true); @@ -170,8 +174,6 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe if (canNextOrderIds.Count == 0) return; - var content = await _provideQueries.GetTrackContentAsync(@event.SubSystemId, @event.TrackCode); - // 批量add to es await _trackDetailsRepository.AddManyAsync(insertTracks); diff --git a/src/SJZY.Track.Domain/Queries/IProvideQueries.cs b/src/SJZY.Track.Domain/Queries/IProvideQueries.cs index 34e99ae9..e01e5a50 100644 --- a/src/SJZY.Track.Domain/Queries/IProvideQueries.cs +++ b/src/SJZY.Track.Domain/Queries/IProvideQueries.cs @@ -67,5 +67,5 @@ public interface IProvideQueries Task> FindOrderWithServiceProviderAsync(int serviceProvider, int pageIndex, int pageSize = 1000); - Task GetTrackContentAsync(int subSystemId, string trackCode); + Task GetTrackContentAsync(int subSystemId, string trackCode); } \ No newline at end of file diff --git a/src/SJZY.Track.Repository/Queries/ProvideQueries.cs b/src/SJZY.Track.Repository/Queries/ProvideQueries.cs index f2a9f25c..8cf2cf5f 100644 --- a/src/SJZY.Track.Repository/Queries/ProvideQueries.cs +++ b/src/SJZY.Track.Repository/Queries/ProvideQueries.cs @@ -137,7 +137,7 @@ public class ProvideQueries : ISugarRepository, IProvideQueries, .ToListAsync(); } - public async Task GetTrackContentAsync(int subSystemId, string trackCode) + public async Task GetTrackContentAsync(int subSystemId, string trackCode) { return await Context.Queryable() .LeftJoin((x, y) => x.TrackStatusId == y.Id)