From b6caab82046edb70b35951d07c6c9deed2be1af3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Thu, 6 Oct 2022 11:42:00 +0800 Subject: [PATCH 1/8] 1 --- platformapi/tiktok_shop/tiktok_api/api.go | 27 +++++++++++++++-------- platformapi/tiktok_shop/tiktok_api/sku.go | 15 +++++++++++++ 2 files changed, 33 insertions(+), 9 deletions(-) diff --git a/platformapi/tiktok_shop/tiktok_api/api.go b/platformapi/tiktok_shop/tiktok_api/api.go index e709ad7f..cb7de1ea 100644 --- a/platformapi/tiktok_shop/tiktok_api/api.go +++ b/platformapi/tiktok_shop/tiktok_api/api.go @@ -27,21 +27,25 @@ type API struct { func New(appKey, appSecret, accessToken string) *API { var access *doudian_sdk.AccessToken + doudian_sdk.GlobalConfig.AppKey = appKey + doudian_sdk.GlobalConfig.AppSecret = appSecret if accessToken != "" { if err := json.Unmarshal([]byte(accessToken), &access); err != nil { globals.SugarLogger.Debug("accessToken init err :", err) return nil } + return &API{ + appKey: appKey, + appSecret: appSecret, + accessToken: access.AccessToken, + refreshToken: access.RefreshToken, + expiresIn: access.ExpiresIn, + accessTokenObj: access, + } } - doudian_sdk.GlobalConfig.AppKey = appKey - doudian_sdk.GlobalConfig.AppSecret = appSecret return &API{ - appKey: appKey, - appSecret: appSecret, - accessToken: access.AccessToken, - refreshToken: access.RefreshToken, - expiresIn: access.ExpiresIn, - accessTokenObj: access, + appKey: appKey, + appSecret: appSecret, } } @@ -135,6 +139,11 @@ func (a *API) SetAccessToken(token string) { return } - a.accessTokenObj = access + if access.ExpiresIn > time.Now().Unix() { + a.accessTokenObj = access + } else { + a.RefreshToken() + } + return } diff --git a/platformapi/tiktok_shop/tiktok_api/sku.go b/platformapi/tiktok_shop/tiktok_api/sku.go index 7d6fe303..3b1c179a 100644 --- a/platformapi/tiktok_shop/tiktok_api/sku.go +++ b/platformapi/tiktok_shop/tiktok_api/sku.go @@ -14,6 +14,7 @@ import ( product_listV2_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_listV2/response" product_setOffline_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_setOffline/request" shop_getShopCategory_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_getShopCategory/request" + shop_getStoreFreight_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreFreight/request" sku_syncStock_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/sku_syncStock/request" sku_syncStockBatch_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/sku_syncStockBatch/request" ) @@ -207,3 +208,17 @@ func (a *API) GetSkuDetailList(param *product_listV2_request.ProductListV2Param) return result.Data, nil } + +// GetStoreFreight 获取运费模板 +func (a *API) GetStoreFreight(storeId int64) (int64, error) { + request := shop_getStoreFreight_request.New() + request.Param.StoreId = storeId + result, err := request.Execute(a.accessTokenObj) + if err != nil { + return 0, err + } + if result.Code != RequestSuccessCode { + return 0, errors.New(result.SubMsg) + } + return result.Data.StoreFreights[0].FreightId, err +} From fe2adc643fe68b1760c94e7a60b2c85753afca4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Thu, 6 Oct 2022 11:51:50 +0800 Subject: [PATCH 2/8] 1 --- platformapi/fnpsapi/fnpsapi.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/platformapi/fnpsapi/fnpsapi.go b/platformapi/fnpsapi/fnpsapi.go index 857a4942..8c773654 100644 --- a/platformapi/fnpsapi/fnpsapi.go +++ b/platformapi/fnpsapi/fnpsapi.go @@ -44,7 +44,9 @@ func New(appID, appSecret, merchantId, code string, config ...*platformapi.APICo if len(config) > 0 { curConfig = *config[0] } - + if appID == "" { + return nil + } // 查询蜂鸟refeshToken return &API{ grantType: "authorization_code", // 授权模式,填固定值authorization_code From 54432e868ce65b44a792b455033024c82d30ed11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Thu, 6 Oct 2022 17:02:05 +0800 Subject: [PATCH 3/8] 1 --- platformapi/tiktok_shop/tiktok_api/sku_test.go | 4 ++++ utils/typeconv.go | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/platformapi/tiktok_shop/tiktok_api/sku_test.go b/platformapi/tiktok_shop/tiktok_api/sku_test.go index de927225..ee4f00c1 100644 --- a/platformapi/tiktok_shop/tiktok_api/sku_test.go +++ b/platformapi/tiktok_shop/tiktok_api/sku_test.go @@ -210,3 +210,7 @@ func TestCreateStoreCommodity(t *testing.T) { fmt.Println("err=============", err) fmt.Println("data===", fmt.Sprintf("%v", data)) } + +func TestInt16(t *testing.T) { + fmt.Println(utils.Str2Int16(strings.ReplaceAll("08:00", ":", ""))) +} diff --git a/utils/typeconv.go b/utils/typeconv.go index fa85e542..66da9b30 100644 --- a/utils/typeconv.go +++ b/utils/typeconv.go @@ -565,6 +565,10 @@ func Str2Int(s string) (i int) { return int(Str2Int64WithDefault(s, 0)) } +func Str2Int16(s string) (i int16) { + return int16(Str2Int64WithDefault(s, 0)) +} + //func String2Int64Slice(s string) []int64 { // res := make([]int64, 0) // if len(s) == 0 { From 4151f7643e64bd1db9390a6068ec24cec0a5ba30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Thu, 6 Oct 2022 17:39:00 +0800 Subject: [PATCH 4/8] 1 --- platformapi/tiktok_shop/tiktok_api/api.go | 3 +++ platformapi/tiktok_shop/tiktok_api/sku_warehouse_test.go | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/platformapi/tiktok_shop/tiktok_api/api.go b/platformapi/tiktok_shop/tiktok_api/api.go index cb7de1ea..e9bce43b 100644 --- a/platformapi/tiktok_shop/tiktok_api/api.go +++ b/platformapi/tiktok_shop/tiktok_api/api.go @@ -103,6 +103,7 @@ func (a *API) RefreshToken() (*doudian_sdk.CreateTokenData, error) { a.accessTokenObj.CreateTokenData = createToken.Data // 不要 + createToken.Data.ExpiresIn = a.expiresIn strData, _ := json.Marshal(createToken.Data) globals.SugarLogger.Debug("=========", string(strData)) return &createToken.Data, nil @@ -142,6 +143,8 @@ func (a *API) SetAccessToken(token string) { if access.ExpiresIn > time.Now().Unix() { a.accessTokenObj = access } else { + a.accessToken = access.AccessToken + a.refreshToken = access.RefreshToken a.RefreshToken() } diff --git a/platformapi/tiktok_shop/tiktok_api/sku_warehouse_test.go b/platformapi/tiktok_shop/tiktok_api/sku_warehouse_test.go index a8160b68..893957de 100644 --- a/platformapi/tiktok_shop/tiktok_api/sku_warehouse_test.go +++ b/platformapi/tiktok_shop/tiktok_api/sku_warehouse_test.go @@ -45,3 +45,11 @@ func TestUploadImg(t *testing.T) { fmt.Println(data) // logid 202209281425150101351501360B6DB460 } + +func TestRefundToken(t *testing.T) { + token := `{"access_token":"6c4d71b3-831c-4a96-8d2e-977e37afba5a","expires_in":604800,"scope":"SCOPE","shop_id":"53802960","shop_name":"小时达开放平台对接专用店","refresh_token":"65aae144-4cc0-44d2-89ba-5d3062caca41","authority_id":""}` + + a := New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", token) + a.RefreshToken() + +} From c243f111564845c158f26f924c74164a1d0a34c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Thu, 6 Oct 2022 18:08:17 +0800 Subject: [PATCH 5/8] 1 --- platformapi/tiktok_shop/tiktok_api/api.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/platformapi/tiktok_shop/tiktok_api/api.go b/platformapi/tiktok_shop/tiktok_api/api.go index e9bce43b..01fbcede 100644 --- a/platformapi/tiktok_shop/tiktok_api/api.go +++ b/platformapi/tiktok_shop/tiktok_api/api.go @@ -2,6 +2,7 @@ package tiktok_api import ( "encoding/json" + "errors" doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" "git.rosy.net.cn/jx-callback/globals" "sync" @@ -97,6 +98,9 @@ func (a *API) RefreshToken() (*doudian_sdk.CreateTokenData, error) { if err != nil { return nil, err } + if createToken.Code != RequestSuccessCode { + return nil, errors.New(createToken.SubMsg) + } a.accessToken = createToken.Data.AccessToken a.refreshToken = createToken.Data.RefreshToken a.expiresIn = time.Now().Unix() + createToken.Data.ExpiresIn From ca9dd919147ef5c7316aabfa675446697f062986 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Thu, 6 Oct 2022 18:14:05 +0800 Subject: [PATCH 6/8] 1 --- platformapi/tiktok_shop/tiktok_api/api.go | 1 + 1 file changed, 1 insertion(+) diff --git a/platformapi/tiktok_shop/tiktok_api/api.go b/platformapi/tiktok_shop/tiktok_api/api.go index 01fbcede..e336448e 100644 --- a/platformapi/tiktok_shop/tiktok_api/api.go +++ b/platformapi/tiktok_shop/tiktok_api/api.go @@ -104,6 +104,7 @@ func (a *API) RefreshToken() (*doudian_sdk.CreateTokenData, error) { a.accessToken = createToken.Data.AccessToken a.refreshToken = createToken.Data.RefreshToken a.expiresIn = time.Now().Unix() + createToken.Data.ExpiresIn + globals.SugarLogger.Debug("===============data", createToken.Data) a.accessTokenObj.CreateTokenData = createToken.Data // 不要 From 470644ccadf196b76ae02e09273cad0a12b671b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Sat, 8 Oct 2022 09:14:27 +0800 Subject: [PATCH 7/8] 1 --- platformapi/tiktok_shop/tiktok_api/sku_warehouse_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platformapi/tiktok_shop/tiktok_api/sku_warehouse_test.go b/platformapi/tiktok_shop/tiktok_api/sku_warehouse_test.go index 893957de..7e2b9913 100644 --- a/platformapi/tiktok_shop/tiktok_api/sku_warehouse_test.go +++ b/platformapi/tiktok_shop/tiktok_api/sku_warehouse_test.go @@ -47,7 +47,7 @@ func TestUploadImg(t *testing.T) { } func TestRefundToken(t *testing.T) { - token := `{"access_token":"6c4d71b3-831c-4a96-8d2e-977e37afba5a","expires_in":604800,"scope":"SCOPE","shop_id":"53802960","shop_name":"小时达开放平台对接专用店","refresh_token":"65aae144-4cc0-44d2-89ba-5d3062caca41","authority_id":""}` + token := `{"access_token":"a1746210-a8a3-4497-a87b-09d1f10dbb95","expires_in":604800,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接专 用店","refresh_token":"c1cf8d88-0983-4f2a-b969-3746fae6b0cd","authority_id ":""}` a := New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", token) a.RefreshToken() From f169cc1b75c5b1457c569975526a4a354df39031 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Sat, 8 Oct 2022 09:32:12 +0800 Subject: [PATCH 8/8] 1 --- platformapi/tiktok_shop/tiktok_api/store.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/platformapi/tiktok_shop/tiktok_api/store.go b/platformapi/tiktok_shop/tiktok_api/store.go index 330e4566..d032aa21 100644 --- a/platformapi/tiktok_shop/tiktok_api/store.go +++ b/platformapi/tiktok_shop/tiktok_api/store.go @@ -34,6 +34,8 @@ import ( warehouse_createBatch_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/warehouse_createBatch/response" warehouse_createFence_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/warehouse_createFence/request" warehouse_createFence_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/warehouse_createFence/response" + "git.rosy.net.cn/baseapi/utils" + "git.rosy.net.cn/jx-callback/globals" ) //GetStoreDetail 单个获取门店信息 @@ -52,6 +54,8 @@ func (a *API) GetStoreDetail(param *shop_getStoreDetail_request.ShopGetStoreDeta //BatchCreateStore 批量创建门店 func (a *API) BatchCreateStore(param *shop_batchCreateStore_request.ShopBatchCreateStoreParam) (*shop_batchCreateStore_response.ShopBatchCreateStoreData, error) { + globals.SugarLogger.Debug("=========创建抖音门店api") + globals.SugarLogger.Debugf("BatchCreateStore:%s", utils.Format4Output(param, true)) request := shop_batchCreateStore_request.New() request.Param = param response, err := request.Execute(a.accessTokenObj) @@ -66,6 +70,8 @@ func (a *API) BatchCreateStore(param *shop_batchCreateStore_request.ShopBatchCre // EditStore 编辑门店 func (a *API) EditStore(param *shop_editStore_request.ShopEditStoreParam) (*shop_editStore_response.ShopEditStoreData, error) { + globals.SugarLogger.Debug("=========EditStore") + globals.SugarLogger.Debugf("EditStore EditStore:%s", utils.Format4Output(param, true)) request := shop_editStore_request.New() request.Param = param response, err := request.Execute(a.accessTokenObj)