|
|
|
|
@@ -5,6 +5,7 @@ import (
|
|
|
|
|
"errors"
|
|
|
|
|
instantShopping_notifyDeliveryStatus_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/instantShopping_notifyDeliveryStatus/request"
|
|
|
|
|
logistics_indTrackPush_reqeust "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/logistics_indTrackPush/request"
|
|
|
|
|
order_logisticsEdit_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_logisticsEdit/request"
|
|
|
|
|
token_create_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/token_create/request"
|
|
|
|
|
token_create_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/token_create/response"
|
|
|
|
|
doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core"
|
|
|
|
|
@@ -169,8 +170,7 @@ func (a *APIExpress) OrderStatusAndPsInfoOld(param map[string]interface{}) error
|
|
|
|
|
// OrderStatusAndPsInfoNew 三方配送同步骑手位置信息(新版本的运力回传)
|
|
|
|
|
// 抖音物流信息和抖音小时达完全区分开(这边的appKey和APPSecret完全不同于小时达)
|
|
|
|
|
// 新版本舍弃了物流链接平台的 appKey
|
|
|
|
|
//func (a *APIExpress) OrderStatusAndPsInfoNew(param map[string]interface{}) error {
|
|
|
|
|
func (a *API) OrderStatusAndPsInfoNew(param map[string]interface{}) error {
|
|
|
|
|
func (a *API) OrderStatusAndPsInfoNew(param map[string]interface{}, vendorStoreId string) error {
|
|
|
|
|
// 组合参数
|
|
|
|
|
request := instantShopping_notifyDeliveryStatus_request.New()
|
|
|
|
|
request.Param = &instantShopping_notifyDeliveryStatus_request.InstantShoppingNotifyDeliveryStatusParam{
|
|
|
|
|
@@ -186,27 +186,36 @@ func (a *API) OrderStatusAndPsInfoNew(param map[string]interface{}) error {
|
|
|
|
|
request.Param.RiderPhone = utils.String2Pointer(param["courier_phone"].(string))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
switch param["logistics_provider_code"].(string) {
|
|
|
|
|
case utils.DaDaCode, TiktokDeliveryTypeDaDa:
|
|
|
|
|
request.Param.DistributionCode = TiktokDeliveryTypeDaDa
|
|
|
|
|
case utils.FnPsCode, TiktokDeliveryTypeFengNiao:
|
|
|
|
|
request.Param.DistributionCode = TiktokDeliveryTypeFengNiao
|
|
|
|
|
case utils.UUPTCode, TiktokDeliveryTypeUU:
|
|
|
|
|
request.Param.DistributionCode = TiktokDeliveryTypeUU
|
|
|
|
|
case utils.SFPSCode, TiktokDeliveryTypeSF:
|
|
|
|
|
request.Param.DistributionCode = TiktokDeliveryTypeSF
|
|
|
|
|
case utils.MTPsCode, TiktokDeliveryTypeMeiTuan:
|
|
|
|
|
request.Param.DistributionCode = TiktokDeliveryTypeMeiTuan
|
|
|
|
|
case utils.MyselfPsCode, TiktokDeliveryTypeMerchant:
|
|
|
|
|
request.Param.DistributionCode = TiktokDeliveryTypeMerchant
|
|
|
|
|
default:
|
|
|
|
|
request.Param.DistributionCode = TiktokDeliveryTypeMerchant
|
|
|
|
|
}
|
|
|
|
|
request.Param.DistributionCode = JxLogistics2Tiktok(param["logistics_provider_code"].(string))
|
|
|
|
|
request.Param.RiderLatitude = utils.String2Pointer(param["latitude"].(string))
|
|
|
|
|
request.Param.RiderLongitude = utils.String2Pointer(param["longitude"].(string))
|
|
|
|
|
request.Param.DistributionDeliveryId = param["third_carrier_order_id"].(string)
|
|
|
|
|
|
|
|
|
|
switch param["opcode"].(string) {
|
|
|
|
|
case TiktokLogisticsStatusCALLRIDER:
|
|
|
|
|
// 已发货订单更换物流
|
|
|
|
|
orderDetail, err := a.GetTiktokOrderDetail(param["order_id"].(string))
|
|
|
|
|
if err != nil {
|
|
|
|
|
globals.SugarLogger.Debugf("TiktokLogisticsStatusCALLRIDER ERR=== %v", err)
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
if orderDetail.OrderStatus >= CreateOrderStatusDelivery {
|
|
|
|
|
logisticsEdit := order_logisticsEdit_request.New()
|
|
|
|
|
logisticsEdit.Param = &order_logisticsEdit_request.OrderLogisticsEditParam{
|
|
|
|
|
OrderId: param["order_id"].(string),
|
|
|
|
|
CompanyCode: JxLogistics2Tiktok(param["logistics_provider_code"].(string)),
|
|
|
|
|
LogisticsCode: param["third_carrier_order_id"].(string),
|
|
|
|
|
StoreId: utils.Str2Int64(vendorStoreId),
|
|
|
|
|
}
|
|
|
|
|
logisticsData, err := logisticsEdit.Execute(a.accessTokenObj)
|
|
|
|
|
if err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
|
|
|
|
if logisticsData.Code != RequestSuccessCode {
|
|
|
|
|
return errors.New("logisticsData err :" + request.Param.ShopOrderId + ":" + logisticsData.SubMsg + ":" + logisticsData.LogId)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
request.Param.Status = 101
|
|
|
|
|
case TiktokLogisticsORDERRECEIVED:
|
|
|
|
|
request.Param.Status = 102
|
|
|
|
|
@@ -231,3 +240,22 @@ func (a *API) OrderStatusAndPsInfoNew(param map[string]interface{}) error {
|
|
|
|
|
}
|
|
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func JxLogistics2Tiktok(code string) string {
|
|
|
|
|
switch code {
|
|
|
|
|
case utils.DaDaCode, TiktokDeliveryTypeDaDa:
|
|
|
|
|
return TiktokDeliveryTypeDaDa
|
|
|
|
|
case utils.FnPsCode, TiktokDeliveryTypeFengNiao:
|
|
|
|
|
return TiktokDeliveryTypeFengNiao
|
|
|
|
|
case utils.UUPTCode, TiktokDeliveryTypeUU:
|
|
|
|
|
return TiktokDeliveryTypeUU
|
|
|
|
|
case utils.SFPSCode, TiktokDeliveryTypeSF:
|
|
|
|
|
return TiktokDeliveryTypeSF
|
|
|
|
|
case utils.MTPsCode, TiktokDeliveryTypeMeiTuan:
|
|
|
|
|
return TiktokDeliveryTypeMeiTuan
|
|
|
|
|
case utils.MyselfPsCode, TiktokDeliveryTypeMerchant:
|
|
|
|
|
return TiktokDeliveryTypeMerchant
|
|
|
|
|
default:
|
|
|
|
|
return TiktokDeliveryTypeMerchant
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|