1
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 {
|
||||
// 饿百不会发送配送中,模拟发送
|
||||
|
||||
@@ -15,6 +15,15 @@ import (
|
||||
"time"
|
||||
)
|
||||
|
||||
// 同一账号下,菜市消息推送到果园
|
||||
const (
|
||||
CaiShiPushGyTagOrder = "order" // 订单
|
||||
CaiShiPushGyTagToken = "token" // 授权
|
||||
CaiShiPushGyTagDeliveryRegister = "delivery" // 配送注册查询
|
||||
CaiShiPushGyTagDeliveryDetail = "deliveryDetail" // 配送详情
|
||||
CaiShiPushGyTagWayBill = "waybill" // 配送
|
||||
)
|
||||
|
||||
// OnOrderMsg 抖音
|
||||
func OnOrderMsg(msgId string, msg interface{}) (response *tiktokShop.CallbackResponse) {
|
||||
globals.SugarLogger.Debugf("guoyuan %s,%s", msgId, utils.Format4Output(msg, false))
|
||||
@@ -33,7 +42,7 @@ func OnOrderMsg(msgId string, msg interface{}) (response *tiktokShop.CallbackRes
|
||||
// 当前订单所属门店不属于菜市时,将消息推送到果园
|
||||
gyMsg := map[string]interface{}{"tag": msgId, "msg_id": utils.Int64ToStr(time.Now().Unix()) + msgId, "data": msg}
|
||||
// 通知到果园
|
||||
gyResult, err := HttpToGuoYuan(gyMsg, "order")
|
||||
gyResult, err := HttpToGuoYuan(gyMsg, CaiShiPushGyTagOrder)
|
||||
if err != nil {
|
||||
return tiktokShop.Err2CallbackResponse(err, "")
|
||||
}
|
||||
@@ -50,7 +59,6 @@ func OnOrderMsg(msgId string, msg interface{}) (response *tiktokShop.CallbackRes
|
||||
}, jxutils.ComposeUniversalOrderID(orderId, model.VendorIDDD))
|
||||
} else {
|
||||
globals.SugarLogger.Debugf("============2")
|
||||
|
||||
}
|
||||
return response
|
||||
}
|
||||
@@ -74,11 +82,15 @@ func HttpToGuoYuan(param map[string]interface{}, requestType string) (*http.Resp
|
||||
|
||||
url := ""
|
||||
switch requestType {
|
||||
case "order": // 订单相关
|
||||
case CaiShiPushGyTagOrder: // 订单相关
|
||||
url = "http://callback-jxgy.jxc4.com/tiktok/callbackTiktokOrderMsg"
|
||||
case "token": // 授权相关
|
||||
case CaiShiPushGyTagToken: // 授权相关
|
||||
url = "http://callback-jxgy.jxc4.com/tiktokShop/jxcsToGyTiktokToken"
|
||||
case "wayBill": // 运单消息
|
||||
case CaiShiPushGyTagDeliveryRegister: // 配送查询注册
|
||||
url = "http://callback-jxgy.jxc4.com/logistics/logisticsRegister"
|
||||
case CaiShiPushGyTagDeliveryDetail: // 配送查询详情
|
||||
url = "http://callback-jxgy.jxc4.com/logistics/logisticsQuery"
|
||||
case CaiShiPushGyTagWayBill: // 运单消息
|
||||
|
||||
}
|
||||
httpReq, err := http.NewRequest(http.MethodPost, url, body)
|
||||
|
||||
Reference in New Issue
Block a user