fix:修改轨迹引发的刷新主表逻辑bug
This commit is contained in:
parent
1f115bad3e
commit
d73a7ad119
@ -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
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user