diff --git a/business/jxcallback/scheduler/basesch/basesch_ext.go b/business/jxcallback/scheduler/basesch/basesch_ext.go index bee3aea75..68771148d 100644 --- a/business/jxcallback/scheduler/basesch/basesch_ext.go +++ b/business/jxcallback/scheduler/basesch/basesch_ext.go @@ -219,11 +219,18 @@ func (c *BaseScheduler) CancelWaybillByID(ctx *jxcontext.Context, vendorWaybillI if err != nil { return err } - - if err := c.CancelWaybill(bill, cancelReasonID, cancelReason); err != nil { - return err - } order, _ := partner.CurOrderManager.LoadOrder(bill.VendorOrderID, bill.OrderVendorID) + + if bill.OrderVendorID != bill.WaybillVendorID { // 取消三方配送 + if err = c.CancelWaybill(bill, cancelReasonID, cancelReason); err != nil { + return err + } + } else { // 取消平台配送转自送 + if err = c.Swtich2SelfDeliver(order, ctx.GetUserName()); err != nil { + return err + } + } + partner.CurOrderManager.OnOrderMsg(order, utils.Int64ToStr(model.WaybillStatusCancel), "商户发起运单取消10") return err }