This commit is contained in:
邹宗楠
2023-02-01 16:32:45 +08:00
parent 359cee1264
commit 5b66565cb2
3 changed files with 101 additions and 94 deletions

View File

@@ -2,6 +2,7 @@ package basesch
import (
"fmt"
tiktokShop "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/tiktok_api"
"git.rosy.net.cn/baseapi/utils"
"git.rosy.net.cn/jx-callback/business/jxcallback/orderman"
"git.rosy.net.cn/jx-callback/business/jxcallback/scheduler"
@@ -106,10 +107,6 @@ func (c *BaseScheduler) SelfDeliverDelivering(order *model.GoodsOrder, userName
if c.IsReallyCallPlatformAPI {
err = utils.CallFuncLogError(func() error {
// 下面这个写法暂存,可能会有问题
if err := partner.GetPurchaseOrderHandlerFromVendorID(order.VendorID).SelfDeliverDelivering(order, userName); err != nil && (err != scheduler.ErrOrderStatusAlreadySatisfyCurOperation) {
partner.CurOrderManager.OnOrderMsg(order, "SelfDeliverDelivering 调用[SelfDeliverDelivering]转自送", err.Error())
}
if order.VendorID == model.VendorIDMTWM {
// 转自送同时取消平台订单(美团才做这个操作)
if _, err := partner.GetPurchasePlatformFromVendorID(order.VendorID).GetCancelDeliveryReason(order); err != nil {
@@ -134,13 +131,29 @@ func (c *BaseScheduler) SelfDeliverDelivering(order *model.GoodsOrder, userName
partner.CurOrderManager.OnOrderMsg(order, "美团外卖运单无法取消,", err.Error())
return err
}
}
//抖音配送
if order.VendorID == model.VendorIDDD {
//取消抖音配送转自送
} else if order.VendorID == model.VendorIDDD { //抖音配送
localBill, _ := partner.CurOrderManager.LoadWaybill(order.VendorWaybillID, order.WaybillVendorID)
err = c.CancelWaybill(localBill, partner.CancelWaybillReasonDYPSCancel, partner.CancelWaybillReasonStrDYPSCancel)
partner.CurOrderManager.OnOrderMsg(order, "取消抖音配送,转用门店自配送/三方配送", err.Error())
// 获取抖音配送状态
tiktokWayBillStatus, _ := partner.GetPurchasePlatformFromVendorID(order.VendorID).OrderLogisticsStatus(utils.Str2Int64(order.VendorOrderID))
if tiktokWayBillStatus >= tiktokShop.ShipmentStatusReceived {
//取消抖音配送转自送
err = c.CancelWaybill(localBill, partner.CancelWaybillReasonDYPSCancel, partner.CancelWaybillReasonStrDYPSCancel)
partner.CurOrderManager.OnOrderMsg(order, "取消抖音配送,转用门店自配送/三方配送", "抖音骑手已经接单,无法取消")
return err
}
// 先转自送,自送不成功取消平台配送.
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) {
partner.CurOrderManager.OnOrderMsg(order, "SelfDeliverDelivering 调用[SelfDeliverDelivering]转自送", err.Error())
}
}
return err
}, "SelfDeliverDelivering orderID:%s", order.VendorOrderID)