This commit is contained in:
richboo111
2023-12-19 14:33:54 +08:00
5 changed files with 77 additions and 21 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,25 +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:
request.Param.DistributionCode = TiktokDeliveryTypeDaDa
case utils.FnPsCode:
request.Param.DistributionCode = TiktokDeliveryTypeFengNiao
case utils.UUPTCode:
request.Param.DistributionCode = TiktokDeliveryTypeUU
case utils.SFPSCode:
request.Param.DistributionCode = TiktokDeliveryTypeSF
case utils.MTPsCode:
request.Param.DistributionCode = TiktokDeliveryTypeMeiTuan
case utils.MyselfPsCode:
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
@@ -229,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

@@ -3,12 +3,14 @@ package tiktok_api
import (
"fmt"
order_getSettleBillDetailV3_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_getSettleBillDetailV3/request"
"io/ioutil"
"net/http"
"strings"
"testing"
)
func TestBillDetail(t *testing.T) {
orderDetail, err := a.GetTiktokOrderDetail("6924377919564027693")
orderDetail, err := a.GetTiktokOrderDetail("6924475525382739211")
if err != nil {
fmt.Println(err)
}
@@ -29,7 +31,27 @@ func TestBillDetail(t *testing.T) {
}
func TestLen(t *testing.T) {
fmt.Println((57 & 1) != 0)
fmt.Println((57 & 64) != 0)
fmt.Println((0 & 8))
url := "https://www.jxc4.com/v2/store/sku/UpdateStoresSkus"
param := ``
payload := strings.NewReader("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"storeIDs\"\r\n\r\n[" + param + "]\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"payload\"\r\n\r\n[{\"nameID\":8461,\"unitPrice\":2600},{\"nameID\":9325,\"unitPrice\":1800},{\"nameID\":15045,\"unitPrice\":500},{\"nameID\":15026,\"unitPrice\":450},{\"nameID\":15007,\"unitPrice\":220},{\"nameID\":15019,\"unitPrice\":700},{\"nameID\":8075561,\"unitPrice\":350},{\"nameID\":10247,\"unitPrice\":600},{\"nameID\":15055,\"unitPrice\":900},{\"nameID\":11044,\"unitPrice\":580},{\"nameID\":15021,\"unitPrice\":300},{\"nameID\":15042,\"unitPrice\":650},{\"nameID\":11479,\"unitPrice\":2600},{\"nameID\":8779,\"unitPrice\":1200},{\"nameID\":15066,\"unitPrice\":700},{\"nameID\":8077377,\"unitPrice\":2200},{\"nameID\":14984,\"unitPrice\":800},{\"nameID\":14993,\"unitPrice\":500},{\"nameID\":15095,\"unitPrice\":750},{\"nameID\":9105,\"unitPrice\":1100},{\"nameID\":15005,\"unitPrice\":300},{\"nameID\":15107,\"unitPrice\":500},{\"nameID\":15029,\"unitPrice\":520},{\"nameID\":15027,\"unitPrice\":1100}]\n\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"causeFlag\"\r\n\r\n16\r\n-----011000010111000001101001--\r\n\r\n")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("token", "TOKEN.V2.2452A93EEB9111EC9B06525400E86DC0.20231208-110713.localpass.E252DAB0957611EE96A5525400E86DC0.[18981810340]")
req.Header.Add("content-type", "multipart/form-data; boundary=---011000010111000001101001")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
func TestName(t *testing.T) {
a := 1
a = a | 1
fmt.Println(a)
}