- savedOrderInfo.retryCount++ only when actually created at least one waybill.

This commit is contained in:
gazebo
2018-08-10 16:38:52 +08:00
parent 5d66c1f6aa
commit c3b5e669d4

View File

@@ -390,7 +390,6 @@ func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInf
globals.SugarLogger.Debugf("createWaybillOn3rdProviders, orderID:%s, status:%d, excludeBill:%v", order.VendorOrderID, order.Status, excludeBill) globals.SugarLogger.Debugf("createWaybillOn3rdProviders, orderID:%s, status:%d, excludeBill:%v", order.VendorOrderID, order.Status, excludeBill)
if order.LockStatus == model.OrderStatusUnknown && order.Status >= model.OrderStatusFinishedPickup && order.Status < model.OrderStatusEndBegin { // 订单在配送中被取消时就是配送中状态 if order.LockStatus == model.OrderStatusUnknown && order.Status >= model.OrderStatusFinishedPickup && order.Status < model.OrderStatusEndBegin { // 订单在配送中被取消时就是配送中状态
if savedOrderInfo.isNeed3rdDelivery { if savedOrderInfo.isNeed3rdDelivery {
savedOrderInfo.retryCount++
if savedOrderInfo.retryCount <= maxWaybillRetryCount { if savedOrderInfo.retryCount <= maxWaybillRetryCount {
successCount := 0 successCount := 0
for _, vendorID := range savedOrderInfo.supported3rdCarriers { for _, vendorID := range savedOrderInfo.supported3rdCarriers {
@@ -401,18 +400,19 @@ func (s *DefScheduler) createWaybillOn3rdProviders(savedOrderInfo *WatchOrderInf
} }
} }
if successCount != 0 { if successCount != 0 {
savedOrderInfo.retryCount++
err = nil err = nil
} else { } else {
globals.SugarLogger.Infof("createWaybillOn3rdProviders, orderID:%s all failed", order.VendorOrderID) globals.SugarLogger.Infof("createWaybillOn3rdProviders, orderID:%s all failed", order.VendorOrderID)
err = scheduler.ErrCanNotCreateAtLeastOneWaybill err = scheduler.ErrCanNotCreateAtLeastOneWaybill
} }
} else { } else {
globals.SugarLogger.Warnf("createWaybillOn3rdProviders [运营]同一订单orderID:%s尝试了%d次创建运单失败, 停止调度,如果还需要发单,请人工处理", order.VendorOrderID, savedOrderInfo.retryCount-1) globals.SugarLogger.Warnf("createWaybillOn3rdProviders [运营]同一订单orderID:%s尝试了%d次创建运单失败, 停止调度,如果还需要发单,请人工处理", order.VendorOrderID, savedOrderInfo.retryCount)
tmpLog := &legacymodel.TempLog{ tmpLog := &legacymodel.TempLog{
VendorOrderID: order.VendorOrderID, VendorOrderID: order.VendorOrderID,
RefVendorOrderID: order.VendorOrderID, RefVendorOrderID: order.VendorOrderID,
Msg: fmt.Sprintf("createWaybillOn3rdProviders, orderID:%s failed %d times, stop schedule", order.VendorOrderID, savedOrderInfo.retryCount-1), Msg: fmt.Sprintf("createWaybillOn3rdProviders, orderID:%s failed %d times, stop schedule", order.VendorOrderID, savedOrderInfo.retryCount),
} }
db := orm.NewOrm() db := orm.NewOrm()
db.Insert(tmpLog) db.Insert(tmpLog)