fix:【【轨迹订单pet】干线提单新增轨迹后,未推送到箱单和小包运输单上】https://www.tapd.cn/60863849/bugtrace/bugs/view/1160863849001043303

This commit is contained in:
李鹏军 2024-07-24 14:22:53 +08:00
parent c772c68e47
commit fdcc81ba0e
3 changed files with 6 additions and 4 deletions

View File

@ -103,6 +103,10 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
private async Task HandleTrackAsync(TrackUpsertEvent @event, List<int> canNextOrderIds) private async Task HandleTrackAsync(TrackUpsertEvent @event, List<int> canNextOrderIds)
{ {
var content = await _provideQueries.GetTrackContentAsync(@event.SubSystemId, @event.TrackCode);
if (content == null) return;
var orderIds = @event.OrderIdentifiers.Select(x => x.OrderId).ToArray(); var orderIds = @event.OrderIdentifiers.Select(x => x.OrderId).ToArray();
var tracks = await _trackDetailsRepository.GetListAsync(orderIds, @event.TrackCode, true); var tracks = await _trackDetailsRepository.GetListAsync(orderIds, @event.TrackCode, true);
@ -170,8 +174,6 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
if (canNextOrderIds.Count == 0) return; if (canNextOrderIds.Count == 0) return;
var content = await _provideQueries.GetTrackContentAsync(@event.SubSystemId, @event.TrackCode);
// 批量add to es // 批量add to es
await _trackDetailsRepository.AddManyAsync(insertTracks); await _trackDetailsRepository.AddManyAsync(insertTracks);

View File

@ -67,5 +67,5 @@ public interface IProvideQueries
Task<List<OrderWithServiceProviderVO>> FindOrderWithServiceProviderAsync(int serviceProvider, int pageIndex, Task<List<OrderWithServiceProviderVO>> FindOrderWithServiceProviderAsync(int serviceProvider, int pageIndex,
int pageSize = 1000); int pageSize = 1000);
Task<TrackContentVO> GetTrackContentAsync(int subSystemId, string trackCode); Task<TrackContentVO?> GetTrackContentAsync(int subSystemId, string trackCode);
} }

View File

@ -137,7 +137,7 @@ public class ProvideQueries : ISugarRepository, IProvideQueries,
.ToListAsync(); .ToListAsync();
} }
public async Task<TrackContentVO> GetTrackContentAsync(int subSystemId, string trackCode) public async Task<TrackContentVO?> GetTrackContentAsync(int subSystemId, string trackCode)
{ {
return await Context.Queryable<TrackContentEntity>() return await Context.Queryable<TrackContentEntity>()
.LeftJoin<TrackStatusEntity>((x, y) => x.TrackStatusId == y.Id) .LeftJoin<TrackStatusEntity>((x, y) => x.TrackStatusId == y.Id)