From b5135287af934d2aac900ffadbad091344c260e1 Mon Sep 17 00:00:00 2001 From: gazebo Date: Sat, 23 Mar 2019 21:01:03 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E6=89=8B=E5=8A=A8=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E8=BF=90=E5=8D=95=E6=97=B6=E8=A6=81=E5=88=A4=E6=96=AD=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E6=98=AF=E5=90=A6=E5=B7=B2=E7=BB=8F=E6=9C=89=E4=BA=86?= =?UTF-8?q?=E6=9C=89=E6=95=88=E7=9A=84=E8=BF=90=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../jxcallback/scheduler/defsch/defsch_ext.go | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/business/jxcallback/scheduler/defsch/defsch_ext.go b/business/jxcallback/scheduler/defsch/defsch_ext.go index 70e33ee63..b0e8275e9 100644 --- a/business/jxcallback/scheduler/defsch/defsch_ext.go +++ b/business/jxcallback/scheduler/defsch/defsch_ext.go @@ -72,16 +72,20 @@ func (s *DefScheduler) CreateWaybillOnProvidersEx(ctx *jxcontext.Context, vendor if savedOrderInfo != nil { order := savedOrderInfo.order if forceCreate || (order.LockStatus != model.OrderStatusLocked && order.Status >= model.OrderStatusFinishedPickup && order.Status < model.OrderStatusEndBegin) { - if bills, err = s.CreateWaybillOnProviders(order, userName, partner.UseableDeliveryVendorIDs, nil); err == nil { - if forceCreate { - order.DeliveryFlag |= model.OrderDeliveryFlagMaskScheduleDisabled - err = partner.CurOrderManager.UpdateOrderStatusAndFlag(order) - } - if err == nil { - s.stopTimer(savedOrderInfo) - globals.SugarLogger.Debugf("CreateWaybillOnProvidersEx orderID:%s userName:%s successfully", vendorOrderID, userName) - return bills, err + if forceCreate || !s.IsOrderHasWaybill(order) { + if bills, err = s.CreateWaybillOnProviders(order, userName, partner.UseableDeliveryVendorIDs, nil); err == nil { + if forceCreate { + order.DeliveryFlag |= model.OrderDeliveryFlagMaskScheduleDisabled + err = partner.CurOrderManager.UpdateOrderStatusAndFlag(order) + } + if err == nil { + s.stopTimer(savedOrderInfo) + globals.SugarLogger.Debugf("CreateWaybillOnProvidersEx orderID:%s userName:%s successfully", vendorOrderID, userName) + return bills, err + } } + } else { + err = fmt.Errorf("当前订单%s已经有了有效的承运人了", order.VendorOrderID) } } else { globals.SugarLogger.Debugf("CreateWaybillOnProvidersEx orderID:%s orderDetails:%s", vendorOrderID, utils.Format4Output(order, true)) @@ -107,7 +111,7 @@ func (s *DefScheduler) CancelAll3rdWaybills(ctx *jxcontext.Context, vendorOrderI } savedOrderInfo := s.loadSavedOrderFromMap(status, false) if savedOrderInfo != nil { - err = s.cancelOtherWaybills(savedOrderInfo, nil, partner.CancelWaybillReasonOther, partner.CancelWaybillReasonStrActive) + err = s.cancelOtherWaybills2(savedOrderInfo, nil, partner.CancelWaybillReasonOther, partner.CancelWaybillReasonStrActive) } else { err = scheduler.ErrCanNotFindOrder }