修改抖音配送状态更新

This commit is contained in:
邹宗楠
2023-12-15 15:45:22 +08:00
parent ab814471a5
commit 6d76aa646b
5 changed files with 57 additions and 19 deletions

View File

@@ -2,6 +2,8 @@ package order_logisticsEdit_request
import (
"encoding/json"
order_logisticsEdit_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_logisticsEdit/response"
doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core"
)
type OrderLogisticsEditRequest struct {

View File

@@ -1,5 +1,7 @@
package order_logisticsEdit_response
import doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core"
type OrderLogisticsEditResponse struct {
doudian_sdk.BaseDoudianOpApiResponse
Data *OrderLogisticsEditData `json:"data"`

View File

@@ -97,7 +97,7 @@ func TestOrderStatusAndPsInfo(t *testing.T) {
OpCode: TiktokLogisticsDELIVERED,
}
a.OrderStatusAndPsInfoNew(utils.Struct2MapByJson(riderInfo))
a.OrderStatusAndPsInfoNew(utils.Struct2MapByJson(riderInfo), "")
}
//

View File

@@ -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
}
}

View File

@@ -49,3 +49,9 @@ func TestLen(t *testing.T) {
fmt.Println(res)
fmt.Println(string(body))
}
func TestName(t *testing.T) {
a := 1
a = a | 1
fmt.Println(a)
}