From 6d76aa646b2ec746633f5e24d4c07a6bfc44cda4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Fri, 15 Dec 2023 15:45:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8A=96=E9=9F=B3=E9=85=8D?= =?UTF-8?q?=E9=80=81=E7=8A=B6=E6=80=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../request/order_logisticsEdit_request.go | 2 + .../response/order_logisticsEdit_response.go | 2 + .../tiktok_shop/tiktok_api/api_test.go | 2 +- .../tiktok_api/logistics_express.go | 64 +++++++++++++------ .../tiktok_api/settl_bill_detail_test.go | 6 ++ 5 files changed, 57 insertions(+), 19 deletions(-) diff --git a/platformapi/tiktok_shop/sdk-golang/api/order_logisticsEdit/request/order_logisticsEdit_request.go b/platformapi/tiktok_shop/sdk-golang/api/order_logisticsEdit/request/order_logisticsEdit_request.go index 18faa5ee..7b064f3f 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/order_logisticsEdit/request/order_logisticsEdit_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/order_logisticsEdit/request/order_logisticsEdit_request.go @@ -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 { diff --git a/platformapi/tiktok_shop/sdk-golang/api/order_logisticsEdit/response/order_logisticsEdit_response.go b/platformapi/tiktok_shop/sdk-golang/api/order_logisticsEdit/response/order_logisticsEdit_response.go index 9edbea71..9b07570e 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/order_logisticsEdit/response/order_logisticsEdit_response.go +++ b/platformapi/tiktok_shop/sdk-golang/api/order_logisticsEdit/response/order_logisticsEdit_response.go @@ -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"` diff --git a/platformapi/tiktok_shop/tiktok_api/api_test.go b/platformapi/tiktok_shop/tiktok_api/api_test.go index 01a4b31f..4d4f5c42 100644 --- a/platformapi/tiktok_shop/tiktok_api/api_test.go +++ b/platformapi/tiktok_shop/tiktok_api/api_test.go @@ -97,7 +97,7 @@ func TestOrderStatusAndPsInfo(t *testing.T) { OpCode: TiktokLogisticsDELIVERED, } - a.OrderStatusAndPsInfoNew(utils.Struct2MapByJson(riderInfo)) + a.OrderStatusAndPsInfoNew(utils.Struct2MapByJson(riderInfo), "") } // diff --git a/platformapi/tiktok_shop/tiktok_api/logistics_express.go b/platformapi/tiktok_shop/tiktok_api/logistics_express.go index cf89b7ba..6a202fba 100644 --- a/platformapi/tiktok_shop/tiktok_api/logistics_express.go +++ b/platformapi/tiktok_shop/tiktok_api/logistics_express.go @@ -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 + } +} diff --git a/platformapi/tiktok_shop/tiktok_api/settl_bill_detail_test.go b/platformapi/tiktok_shop/tiktok_api/settl_bill_detail_test.go index 696fde80..b701b494 100644 --- a/platformapi/tiktok_shop/tiktok_api/settl_bill_detail_test.go +++ b/platformapi/tiktok_shop/tiktok_api/settl_bill_detail_test.go @@ -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) +}