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