refactor:优化轨迹更新后更新订单主表事件处理器逻辑

This commit is contained in:
hardstylewyl 2025-01-02 09:19:27 +08:00
parent cc91079011
commit 923d7a2e91

View File

@ -26,8 +26,6 @@ public class TrackChangeAfterUpdateOrderEventHandler : ITransientDependency, ICa
return; return;
} }
//指示是否需要更新【预计签收时间】【签收地时区】
var isNeedUpdate = false;
var updateOrders = new List<OrderEntity>(); var updateOrders = new List<OrderEntity>();
foreach (var order in orders) foreach (var order in orders)
{ {
@ -62,15 +60,12 @@ public class TrackChangeAfterUpdateOrderEventHandler : ITransientDependency, ICa
{ {
order.EstimatedDeliveryDate = @event.EstimatedDeliveryDate.Value; order.EstimatedDeliveryDate = @event.EstimatedDeliveryDate.Value;
order.DestinationTimeZone = @event.DestinationTimeZone.Value; order.DestinationTimeZone = @event.DestinationTimeZone.Value;
isNeedUpdate = true;
} }
updateOrders.Add(order); updateOrders.Add(order);
} }
await _orderRepository.UpdateRangeAsync(updateOrders, await _orderRepository.UpdateRangeAsync(updateOrders, x => new
isNeedUpdate
? x => new
{ {
x.IsCompleted, x.IsCompleted,
x.LatestTrackContent, x.LatestTrackContent,
@ -79,20 +74,9 @@ public class TrackChangeAfterUpdateOrderEventHandler : ITransientDependency, ICa
x.LatestTrackTime, x.LatestTrackTime,
x.LatestTrackTimeZone, x.LatestTrackTimeZone,
x.DeficiencyTag, x.DeficiencyTag,
//当标识指示需要更新时添加更新列
x.EstimatedDeliveryDate, x.EstimatedDeliveryDate,
x.DestinationTimeZone x.DestinationTimeZone
} }
: x => new
{
x.IsCompleted,
x.LatestTrackContent,
x.LatestTrackEnContent,
x.LatestTrackPlace,
x.LatestTrackTime,
x.LatestTrackTimeZone,
x.DeficiencyTag,
}
); );
} }
@ -109,6 +93,8 @@ public class TrackChangeAfterUpdateOrderEventHandler : ITransientDependency, ICa
LatestTrackPlace = order.LatestTrackPlace, LatestTrackPlace = order.LatestTrackPlace,
LatestTrackTime = order.LatestTrackTime, LatestTrackTime = order.LatestTrackTime,
LatestTrackTimeZone = order.LatestTrackTimeZone, LatestTrackTimeZone = order.LatestTrackTimeZone,
DestinationTimeZone = order.DestinationTimeZone,
EstimatedDeliveryDate = order.EstimatedDeliveryDate,
}); });
} }
} }