Merge branch 'S03-轨迹中台优化项' into dev
This commit is contained in:
commit
07d3ad67f7
@ -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
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -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();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user