diff --git a/business/scheduler/defsch/defsch.go b/business/scheduler/defsch/defsch.go index 9421ab553..9d6fa940c 100644 --- a/business/scheduler/defsch/defsch.go +++ b/business/scheduler/defsch/defsch.go @@ -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) }