Merge branch 'jdshop' of https://e.coding.net/rosydev/jx-callback into jdshop
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package ebai
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"math"
|
||||
"strings"
|
||||
@@ -387,23 +388,36 @@ func (p *PurchaseHandler) ConfirmReceiveGoods(ctx *jxcontext.Context, order *mod
|
||||
// 将订单从购物平台配送转为自送
|
||||
func (p *PurchaseHandler) Swtich2SelfDeliver(order *model.GoodsOrder, userName string) (err error) {
|
||||
if globals.EnableEbaiStoreWrite {
|
||||
if order.DeliveryType == model.OrderDeliveryTypePlatform {
|
||||
if err = api.EbaiAPI.OrderSwitchselfdelivery(order.VendorOrderID); err != nil {
|
||||
if strings.Contains(err.Error(), "301251") {
|
||||
api.EbaiAPI.OrderCancelDelivery(order.VendorOrderID) // 取消呼叫众包骑手
|
||||
}
|
||||
if utils.IsErrMatch(err, "301251", nil) {
|
||||
if deliveryStatus, err2 := api.EbaiAPI.OrderDeliveryGet(order.VendorOrderID); err2 == nil {
|
||||
deliveryStatus := utils.Int64ToStr(utils.MustInterface2Int64(deliveryStatus["status"]))
|
||||
if deliveryStatus == ebaiapi.WaybillStatusSelfDelivery {
|
||||
err = nil
|
||||
} else if deliveryStatus == ebaiapi.WaybillStatusDeliveryCancled {
|
||||
p.trySyncCancelStatus(order.VendorOrderID)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
deliveryStatusObj, _ := api.EbaiAPI.OrderDeliveryGet(order.VendorOrderID)
|
||||
deliveryStatus := utils.Int64ToStr(utils.MustInterface2Int64(deliveryStatusObj["status"]))
|
||||
switch deliveryStatus {
|
||||
case ebaiapi.WaybillStatusSelfDelivery:
|
||||
err = nil
|
||||
case ebaiapi.WaybillStatusDeliveryCancled:
|
||||
p.trySyncCancelStatus(order.VendorOrderID)
|
||||
case ebaiapi.WaybillStatusNew, ebaiapi.WaybillStatusRequestDelivery, ebaiapi.WaybillStatusWait4Courier:
|
||||
err = api.EbaiAPI.OrderCancelDelivery(order.VendorOrderID) // 取消呼叫众包骑手
|
||||
case ebaiapi.WaybillStatusCourierAccepted:
|
||||
err = errors.New("骑手已接单,无法转自送")
|
||||
}
|
||||
|
||||
//if order.DeliveryType == model.OrderDeliveryTypePlatform {
|
||||
// if err = api.EbaiAPI.OrderSwitchselfdelivery(order.VendorOrderID); err != nil {
|
||||
// if strings.Contains(err.Error(), "301251") {
|
||||
// api.EbaiAPI.OrderCancelDelivery(order.VendorOrderID) // 取消呼叫众包骑手
|
||||
// }
|
||||
// if utils.IsErrMatch(err, "301251", nil) {
|
||||
// if deliveryStatus, err2 := api.EbaiAPI.OrderDeliveryGet(order.VendorOrderID); err2 == nil {
|
||||
// deliveryStatus := utils.Int64ToStr(utils.MustInterface2Int64(deliveryStatus["status"]))
|
||||
// if deliveryStatus == ebaiapi.WaybillStatusSelfDelivery {
|
||||
// err = nil
|
||||
// } else if deliveryStatus == ebaiapi.WaybillStatusDeliveryCancled {
|
||||
// p.trySyncCancelStatus(order.VendorOrderID)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
}
|
||||
if err == nil {
|
||||
// 饿百不会发送配送中,模拟发送
|
||||
|
||||
Reference in New Issue
Block a user