Merge branch 'S03-轨迹中台优化项' into dev

This commit is contained in:
李鹏军 2024-04-16 18:38:56 +08:00
commit 07d3ad67f7
2 changed files with 11 additions and 9 deletions

View File

@ -94,6 +94,9 @@ 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();
if (firstTrack == null) return;
var insertTracks = new List<TrackDetailsIndex>(); var insertTracks = new List<TrackDetailsIndex>();
foreach (var order in @event.OrderIdentifiers) foreach (var order in @event.OrderIdentifiers)
@ -172,24 +175,21 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
canNextOrderIds.Add(order.OrderId); canNextOrderIds.Add(order.OrderId);
} }
var firstTrack = insertTracks.FirstOrDefault(); // 批量add to es
if (firstTrack == null) return;
// step1、upsert es轨迹
await _trackDetailsRepository.AddManyAsync(insertTracks); await _trackDetailsRepository.AddManyAsync(insertTracks);
// step3、触发订单主表更新事件(异步) // 触发订单主表更新事件(异步)
await _capPublisher.PublishAsync(GlobalConst.TrackChangeAfterUpdateOrderSubscribe, await _capPublisher.PublishAsync(GlobalConst.TrackChangeAfterUpdateOrderSubscribe,
new TrackChangeAfterUpdateOrderEvent new TrackChangeAfterUpdateOrderEvent
{ {
OrderIds = orderIds, OrderIds = orderIds,
IsCompleted = @event.TrackRefreshData.IsCompleted, IsCompleted = @event.TrackRefreshData.IsCompleted,
TrackCode = firstTrack.TrackCode, TrackCode = @event.TrackCode,
TrackContent = firstTrack.TrackContent, TrackContent = firstTrack.TrackContent,
TrackEnContent = firstTrack.TrackEnContent, TrackEnContent = firstTrack.TrackEnContent,
TrackPlace = firstTrack.TrackPlace, TrackPlace = @event.TrackPlace,
TrackTime = firstTrack.TrackTime, TrackTime = @event.TrackTime,
TrackTimeZone = firstTrack.TrackTimeZone TrackTimeZone = @event.TrackTimeZone
}); });
} }
} }

View File

@ -17,6 +17,7 @@ internal class TrackDetailsRepository : ElasticSearchContextAbstract<TrackDetail
{ {
var r = await Context.SearchAsync<TrackDetailsIndex>(s => s var r = await Context.SearchAsync<TrackDetailsIndex>(s => s
.Source() .Source()
.Size(1000)
.Query(q => q .Query(q => q
.Bool(b => b .Bool(b => b
.Must( .Must(
@ -165,6 +166,7 @@ internal class TrackDetailsRepository : ElasticSearchContextAbstract<TrackDetail
.Terms(orderNos)) .Terms(orderNos))
&& q.Term(f => f.OrderType, orderType) && q.Term(f => f.OrderType, orderType)
) )
.Size(1000)
); );
return data.Documents.ToList(); return data.Documents.ToList();