- temp fix

This commit is contained in:
gazebo
2018-07-24 17:45:11 +08:00
parent 538781a504
commit 2a438e8eb6

View File

@@ -28,6 +28,7 @@ type WatchOrderInfo struct {
waybills []*model.Waybill // 这个waybills里的状态信息是不真实的只使用id相关的信息
timerStatus int
timer *time.Timer
retryCount int
}
// 重要:此调度器要求同一定单的处理逻辑必须是序列化了的,不然会有并发问题
@@ -176,9 +177,11 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill) (err error) {
bill.WaybillVendorID = model.VendorIDUnknown
s.CurOrderManager.UpdateWaybillVendorID(bill)
savedOrderInfo.order.WaybillVendorID = model.VendorIDUnknown
savedOrderInfo.retryCount++
savedOrderInfo.order.Status = model.OrderStatusFinishedPickup // 如果运单被取消且是主运单将订单状态强制回滚到model.OrderStatusFinishedPickup
s.createWaybillOn3rdProviders(savedOrderInfo.order, nil)
if savedOrderInfo.retryCount < 2 {
s.createWaybillOn3rdProviders(savedOrderInfo.order, nil)
}
}
case model.WaybillStatusDelivering:
if savedOrderInfo.order.WaybillVendorID == bill.WaybillVendorID && savedOrderInfo.order.VendorID != bill.WaybillVendorID {