Merge branch 'S03-轨迹中台优化项' into dev
This commit is contained in:
commit
31c15f5049
@ -39,10 +39,11 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
|
||||
return;
|
||||
}
|
||||
|
||||
await HandleTrackAsync(@event);
|
||||
var canNextOrderIds = new List<int>();
|
||||
await HandleTrackAsync(@event, canNextOrderIds);
|
||||
|
||||
// 根据订单关联关系异步向下刷(异步)
|
||||
var linkedOrders = await _orderRepository.GetLinkedOrdersAsync(orderIds);
|
||||
var linkedOrders = await _orderRepository.GetLinkedOrdersAsync(canNextOrderIds.ToArray());
|
||||
foreach (var order in @event.OrderIdentifiers)
|
||||
{
|
||||
// 理论上小包在这不会分组
|
||||
@ -88,7 +89,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
|
||||
}
|
||||
}
|
||||
|
||||
private async Task HandleTrackAsync(TrackUpsertEvent @event)
|
||||
private async Task HandleTrackAsync(TrackUpsertEvent @event, List<int> canNextOrderIds)
|
||||
{
|
||||
var orderIds = @event.OrderIdentifiers.Select(x => x.OrderId).ToArray();
|
||||
var tracks = await _trackDetailsRepository.GetListAsync(orderIds, @event.TrackCode);
|
||||
@ -101,8 +102,8 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
|
||||
|
||||
if (@event.IsAdd != null)
|
||||
{
|
||||
if (track == null && !@event.IsAdd!.Value) return; // 不存在不让改
|
||||
if (track != null && @event.IsAdd!.Value) return; // 存在不让创建
|
||||
if (track == null && !@event.IsAdd!.Value) continue; // 不存在不让改
|
||||
if (track != null && @event.IsAdd!.Value) continue; // 存在不让创建
|
||||
}
|
||||
|
||||
if (track == default)
|
||||
@ -167,6 +168,8 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe
|
||||
};
|
||||
|
||||
await _capPublisher.PublishAsync(GlobalConst.TrackPushSubscribe, trackPushEvent);
|
||||
|
||||
canNextOrderIds.Add(order.OrderId);
|
||||
}
|
||||
|
||||
var firstTrack = insertTracks.FirstOrDefault();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user