- don't verify order status when waybill message comes(because events may out of order).
This commit is contained in:
@@ -134,13 +134,14 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
|
||||
globals.SugarLogger.Debugf("OnWaybillStatusChanged orderID:%s %s, bill:%v", bill.VendorOrderID, model.WaybillStatusName[bill.Status], bill)
|
||||
savedOrderInfo := s.loadSavedOrderFromMap(model.Waybill2Status(bill), true)
|
||||
order := savedOrderInfo.order
|
||||
if order.Status < model.OrderStatusFinishedPickup || order.Status > model.OrderStatusEndBegin { // 如果当前order状态是不应该出现运单状态
|
||||
globals.SugarLogger.Infof("OnWaybillStatusChanged orderID:%s status:%s is not suitable for waybill", order.VendorOrderID, model.OrderStatusName[order.Status])
|
||||
s.CancelWaybill(bill)
|
||||
s.stopTimer(savedOrderInfo)
|
||||
s.orderMap.Delete(jxutils.GetUniversalOrderIDFromOrderStatus(model.Order2Status(order)))
|
||||
return nil
|
||||
}
|
||||
// todo 当前收到的事件顺序有时是乱的,不能严格限制,暂时放开
|
||||
// if order.Status < model.OrderStatusFinishedPickup || order.Status > model.OrderStatusEndBegin { // 如果当前order状态是不应该出现运单状态
|
||||
// globals.SugarLogger.Infof("OnWaybillStatusChanged orderID:%s status:%s is not suitable for waybill", order.VendorOrderID, model.OrderStatusName[order.Status])
|
||||
// s.CancelWaybill(bill)
|
||||
// s.stopTimer(savedOrderInfo)
|
||||
// s.orderMap.Delete(jxutils.GetUniversalOrderIDFromOrderStatus(model.Order2Status(order)))
|
||||
// return nil
|
||||
// }
|
||||
if bill.Status == model.WaybillStatusNew {
|
||||
s.addWaybill2Map(savedOrderInfo, bill)
|
||||
if order.WaybillVendorID != model.VendorIDUnknown {
|
||||
@@ -159,6 +160,7 @@ func (s *DefScheduler) OnWaybillStatusChanged(bill *model.Waybill, isPending boo
|
||||
s.cancelOtherWaybills(savedOrderInfo, bill)
|
||||
s.updateOrderByBill(order, bill, false)
|
||||
} else {
|
||||
// todo 当前逻辑,加载PENDING的ORDER时,正常状态也可能进这里
|
||||
s.CancelWaybill(bill)
|
||||
globals.SugarLogger.Warnf("OnWaybillStatusChanged Accepted orderID:%s got multiple bill:%v, order details:%v", order.VendorOrderID, bill, order)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user