- 主运单取消时设置订单TIMER,只有在配送中状态的订单才会马上新建运单
- 非自配送门店转3方配送至少要求拣货完成后5分钟才能操作
This commit is contained in:
@@ -410,7 +410,7 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
|
||||
case model.WaybillStatusCanceled:
|
||||
s.removeWaybillFromMap(savedOrderInfo, bill.WaybillVendorID)
|
||||
if s.isBillCandidate(order, bill) || order.WaybillVendorID == model.VendorIDUnknown {
|
||||
s.resetTimer(savedOrderInfo, bill, isPending)
|
||||
s.resetTimer(savedOrderInfo, nil, isPending)
|
||||
if !isPending {
|
||||
if s.IsOrderHasWaybill(order) {
|
||||
bill.WaybillVendorID = model.VendorIDUnknown
|
||||
@@ -419,7 +419,8 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
|
||||
// 3方的运单取消才会重新发起创建3方订单,购物平台的运单取消后,它本身还会再创建新运单(NewWaybill事件有相应TIMER)),至少京东是这样的,暂时按京东的行为来
|
||||
// 现在发现饿百取消订单后不会再创建运单了,所以饿百运单取消也允许直接创建三方运单
|
||||
// 之前的条件是order.Status < model.OrderStatusDelivering,但像订单902322817000122确实有在配送中取消状态,改成非订单结束状态都可以
|
||||
if order.Status < model.OrderStatusEndBegin && (bill.WaybillVendorID != order.VendorID || order.VendorID == model.VendorIDEBAI) {
|
||||
// OrderStatusFinishedPickup状态的订单依赖于TIMER重新建运单
|
||||
if order.Status >= model.OrderStatusDelivering && order.Status < model.OrderStatusEndBegin && (bill.WaybillVendorID != order.VendorID || order.VendorID == model.VendorIDEBAI) {
|
||||
s.createWaybillOn3rdProviders(savedOrderInfo, nil)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user