diff --git a/business/jxcallback/scheduler/basesch/basesch.go b/business/jxcallback/scheduler/basesch/basesch.go index e9d6d7cd7..20cb118bf 100644 --- a/business/jxcallback/scheduler/basesch/basesch.go +++ b/business/jxcallback/scheduler/basesch/basesch.go @@ -142,21 +142,25 @@ func (c *BaseScheduler) SelfDeliverDelivering(order *model.GoodsOrder, userName localBill, _ := partner.CurOrderManager.LoadWaybill(order.VendorWaybillID, order.WaybillVendorID) // 获取抖音配送状态 tiktokWayBillStatus, _ := partner.GetPurchasePlatformFromVendorID(order.VendorID).OrderLogisticsStatus(order.VendorOrderID) - if tiktokWayBillStatus.LogisticsStatus >= tiktokShop.ShipmentStatusReceived { - //取消抖音配送转自送 - err = c.CancelWaybill(localBill, partner.CancelWaybillReasonDYPSCancel, partner.CancelWaybillReasonStrDYPSCancel) - partner.CurOrderManager.OnOrderMsg(order, "取消抖音配送,转用门店自配送/三方配送", "抖音骑手已经接单,无法取消") - return err - } else if tiktokWayBillStatus.LogisticsStatus == -1 { // 先转自送,自送不成功取消平台配送. - if err := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).SelfDeliverDelivering(order, userName); err != nil { - partner.CurOrderManager.OnOrderMsg(order, "抖音转自送,平台无运力", "tiktokWayBillStatus = -1") + if tiktokWayBillStatus != nil { + if tiktokWayBillStatus.LogisticsStatus >= tiktokShop.ShipmentStatusReceived { + //取消抖音配送转自送 + err = c.CancelWaybill(localBill, partner.CancelWaybillReasonDYPSCancel, partner.CancelWaybillReasonStrDYPSCancel) + partner.CurOrderManager.OnOrderMsg(order, "取消抖音配送,转用门店自配送/三方配送", "抖音骑手已经接单,无法取消") + return err + } else if tiktokWayBillStatus.LogisticsStatus == -1 { // 先转自送,自送不成功取消平台配送. + if err := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).SelfDeliverDelivering(order, userName); err != nil { + partner.CurOrderManager.OnOrderMsg(order, "抖音转自送,平台无运力", "tiktokWayBillStatus = -1") + } } - } else if err = partner.GetPurchasePlatformFromVendorID(order.VendorID).CancelLogisticsByWmOrderId(order, "", "", order.VendorStoreID, order.VendorOrderID); err != nil { - err = c.CancelWaybill(localBill, partner.CancelWaybillReasonDYPSCancel, partner.CancelWaybillReasonStrDYPSCancel) - partner.CurOrderManager.OnOrderMsg(order, "取消抖音平台运单错误,无法转自送", err.Error()) - return err } else { - partner.GetPurchasePlatformFromVendorID(order.VendorID).SelfDeliverDelivering(order, "") + if err = partner.GetPurchasePlatformFromVendorID(order.VendorID).CancelLogisticsByWmOrderId(order, "", "", order.VendorStoreID, order.VendorOrderID); err != nil { + err = c.CancelWaybill(localBill, partner.CancelWaybillReasonDYPSCancel, partner.CancelWaybillReasonStrDYPSCancel) + partner.CurOrderManager.OnOrderMsg(order, "取消抖音平台运单错误,无法转自送", err.Error()) + return err + } else { + partner.GetPurchasePlatformFromVendorID(order.VendorID).SelfDeliverDelivering(order, "") + } } } else { if err := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).SelfDeliverDelivering(order, userName); err != nil && (err != scheduler.ErrOrderStatusAlreadySatisfyCurOperation) { diff --git a/business/partner/purchase/tiktok_store/order.go b/business/partner/purchase/tiktok_store/order.go index 227c1b344..b83d692e8 100644 --- a/business/partner/purchase/tiktok_store/order.go +++ b/business/partner/purchase/tiktok_store/order.go @@ -987,13 +987,11 @@ func (c *PurchaseHandler) CancelLogisticsByWmOrderId(order *model.GoodsOrder, re func (c *PurchaseHandler) OrderLogisticsStatus(orderId string) (data *utils.RiderInfo, err error) { orderInfo, err := dao.GetSimpleOrder(dao.GetDB(), orderId) if err != nil { - data.LogisticsStatus = 0 return data, errors.New("获取本地门店账号信息失败,请重试") } waybill, err := getAPI(orderInfo.VendorOrgCode, 0, "").GetShipmentInfo(utils.Str2Int64(orderInfo.VendorOrderID), 0, tiktokShop.ShipmentTypeInvoice) if err != nil { - data.LogisticsStatus = 0 return data, err }