diff --git a/business/jxcallback/scheduler/defsch/defsch.go b/business/jxcallback/scheduler/defsch/defsch.go index 3bc2a4067..d7c4e46a1 100644 --- a/business/jxcallback/scheduler/defsch/defsch.go +++ b/business/jxcallback/scheduler/defsch/defsch.go @@ -955,12 +955,14 @@ func (s *DefScheduler) solutionJdsOrder(bill *model.Waybill) (err error) { func (s *DefScheduler) cancelOtherWaybills(savedOrderInfo *WatchOrderInfo, bill2Keep *model.Waybill, cancelReasonID int, cancelReason string) (err error) { globals.SugarLogger.Debugf("cancelOtherWaybills, orderID:%s, bill:%v", savedOrderInfo.order.VendorOrderID, bill2Keep) for _, v := range savedOrderInfo.waybills { + cc := !model.IsWaybillPlatformOwn(v) if v.Status < model.WaybillStatusEndBegin && - !model.IsWaybillPlatformOwn(v) && + cc && (bill2Keep == nil || !(v.WaybillVendorID == bill2Keep.WaybillVendorID && v.VendorWaybillID == bill2Keep.VendorWaybillID)) { + globals.SugarLogger.Info("===========================================1") err2 := s.CancelWaybill(v, cancelReasonID, cancelReason) - globals.SugarLogger.Info("===========================================2", err) + globals.SugarLogger.Info("===========================================2", err2) if err2 == nil { // 在这里就从map里删除,而不是等收到运单结束事件才删除,可避免不必要的重复取消(第二次取消还会失败) s.removeWaybillFromMap(savedOrderInfo, v.WaybillVendorID) @@ -1049,6 +1051,16 @@ func (s *DefScheduler) loadSavedOrderFromMap(status *model.OrderStatus, isForceL globals.SugarLogger.Infof("loadSavedOrderFromMap can not load order orderID:%s with error:%v", status.RefVendorOrderID, err) } } + + gg := len(realSavedInfo.waybills) + globals.SugarLogger.Info("=================gg", gg) + for _, v := range realSavedInfo.waybills { + globals.SugarLogger.Info("=================gg", v.ID) + globals.SugarLogger.Info("=================gg", v.VendorOrderID) + globals.SugarLogger.Info("=================gg", v.Status) + globals.SugarLogger.Info("=================gg", v.DesiredFee) + } + return realSavedInfo } diff --git a/business/jxcallback/scheduler/defsch/defsch_ext.go b/business/jxcallback/scheduler/defsch/defsch_ext.go index a19e398f5..220832243 100644 --- a/business/jxcallback/scheduler/defsch/defsch_ext.go +++ b/business/jxcallback/scheduler/defsch/defsch_ext.go @@ -310,6 +310,7 @@ func (s *DefScheduler) CheckStoreBalance(ctx *jxcontext.Context, order *model.Go func (s *DefScheduler) CancelAll3rdWaybills(ctx *jxcontext.Context, vendorOrderID string, vendorID int, isStopSchedule bool) (err error) { jxutils.CallMsgHandler(func() { err = func() (err error) { + // 取消三方运单,取消各平台单号信息,间隔一段时间后定时任务重新调度 globals.SugarLogger.Infof("CancelAll3rdWaybills orderID:%s userName:%s", vendorOrderID, ctx.GetUserName()) savedOrderInfo := s.loadSavedOrderByID(vendorOrderID, vendorID, true) if savedOrderInfo != nil { @@ -318,6 +319,7 @@ func (s *DefScheduler) CancelAll3rdWaybills(ctx *jxcontext.Context, vendorOrderI err = scheduler.ErrCanNotFindOrder } globals.SugarLogger.Infof("CancelAll3rdWaybills orderID:%s userName:%s error:%v", vendorOrderID, ctx.GetUserName(), err) + // 停止调度,同事停止订单调度,不在通知第三方 if err == nil && isStopSchedule { order := savedOrderInfo.order order.DeliveryFlag |= model.OrderDeliveryFlagMaskScheduleDisabled