- fixed bug wrong use orderid ref in loadSavedOrderFromMap.

This commit is contained in:
gazebo
2018-07-22 23:26:45 +08:00
parent ae214d38b9
commit 818856a5ed

View File

@@ -258,7 +258,8 @@ func (s *DefScheduler) swtich2SelfDeliverWithRetry(order *model.GoodsOrder, bill
// 这个函数这样写的原因是适应一些消息错序 // 这个函数这样写的原因是适应一些消息错序
func (s *DefScheduler) loadSavedOrderFromMap(status *model.OrderStatus) *WatchOrderInfo { func (s *DefScheduler) loadSavedOrderFromMap(status *model.OrderStatus) *WatchOrderInfo {
universalOrderID := jxutils.ComposeUniversalOrderID(status.VendorOrderID, status.VendorID) globals.SugarLogger.Debugf("loadSavedOrderFromMap status:%v", status)
universalOrderID := jxutils.ComposeUniversalOrderID(status.RefVendorOrderID, status.RefVendorID)
var realSavedInfo *WatchOrderInfo var realSavedInfo *WatchOrderInfo
if savedInfo, ok := s.orderMap.Load(universalOrderID); ok { if savedInfo, ok := s.orderMap.Load(universalOrderID); ok {
realSavedInfo = savedInfo.(*WatchOrderInfo) realSavedInfo = savedInfo.(*WatchOrderInfo)
@@ -269,21 +270,21 @@ func (s *DefScheduler) loadSavedOrderFromMap(status *model.OrderStatus) *WatchOr
s.orderMap.Store(universalOrderID, realSavedInfo) s.orderMap.Store(universalOrderID, realSavedInfo)
} else { } else {
realSavedInfo.dirty = 0 realSavedInfo.dirty = 0
globals.SugarLogger.Infof("order is dirty, orderID:%s, load it", status.VendorOrderID) globals.SugarLogger.Infof("loadSavedOrderFromMap order is dirty, orderID:%s, load it", status.RefVendorOrderID)
} }
if order, err := s.CurOrderManager.LoadOrder(status.VendorOrderID, status.VendorID); err == nil { if order, err := s.CurOrderManager.LoadOrder(status.RefVendorOrderID, status.RefVendorID); err == nil {
realSavedInfo.order = order realSavedInfo.order = order
} else { } else {
realSavedInfo.order = &model.GoodsOrder{ realSavedInfo.order = &model.GoodsOrder{
VendorOrderID: status.VendorOrderID, VendorOrderID: status.RefVendorOrderID,
VendorID: status.VendorID, VendorID: status.RefVendorID,
Status: status.Status, Status: status.Status,
StatusTime: status.StatusTime, StatusTime: status.StatusTime,
OrderCreatedAt: status.StatusTime, OrderCreatedAt: status.StatusTime,
WaybillVendorID: model.VendorIDUnknown, WaybillVendorID: model.VendorIDUnknown,
} }
realSavedInfo.dirty = 1 realSavedInfo.dirty = 1
globals.SugarLogger.Infof("can not load order orderID:%s", status.VendorOrderID) globals.SugarLogger.Infof("loadSavedOrderFromMap can not load order orderID:%s", status.VendorOrderID)
} }
} }
return realSavedInfo return realSavedInfo