Merge remote-tracking branch 'origin/S03-轨迹中台优化项' into test

This commit is contained in:
dingenwen 2024-04-16 19:08:48 +08:00
commit df5261299c
2 changed files with 6 additions and 2 deletions

View File

@ -94,8 +94,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
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); var tracks = await _trackDetailsRepository.GetListAsync(orderIds, @event.TrackCode);
var firstTrack = tracks.FirstOrDefault(); TrackDetailsIndex firstTrack = null;
if (firstTrack == null) return;
var insertTracks = new List<TrackDetailsIndex>(); var insertTracks = new List<TrackDetailsIndex>();
@ -173,11 +172,15 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
await _capPublisher.PublishAsync(GlobalConst.TrackPushSubscribe, trackPushEvent); await _capPublisher.PublishAsync(GlobalConst.TrackPushSubscribe, trackPushEvent);
canNextOrderIds.Add(order.OrderId); canNextOrderIds.Add(order.OrderId);
firstTrack ??= track;
} }
// 批量add to es // 批量add to es
await _trackDetailsRepository.AddManyAsync(insertTracks); await _trackDetailsRepository.AddManyAsync(insertTracks);
if (firstTrack == null) return;
// 触发订单主表更新事件(异步) // 触发订单主表更新事件(异步)
await _capPublisher.PublishAsync(GlobalConst.TrackChangeAfterUpdateOrderSubscribe, await _capPublisher.PublishAsync(GlobalConst.TrackChangeAfterUpdateOrderSubscribe,
new TrackChangeAfterUpdateOrderEvent new TrackChangeAfterUpdateOrderEvent

View File

@ -120,6 +120,7 @@ internal class TrackDetailsRepository : ElasticSearchContextAbstract<TrackDetail
public async Task AddManyAsync(List<TrackDetailsIndex> tracks) public async Task AddManyAsync(List<TrackDetailsIndex> tracks)
{ {
if (!tracks.Any()) return;
// 按天写入es // 按天写入es
var indexName = $"{GlobalConst.TrackIndex}-{DateTime.Now:yyyy.MM.dd}"; var indexName = $"{GlobalConst.TrackIndex}-{DateTime.Now:yyyy.MM.dd}";
tracks.ForEach(x => x.IndexName = indexName); tracks.ForEach(x => x.IndexName = indexName);