Merge branch 'master' of https://e.coding.net/rosydev/baseapi
This commit is contained in:
@@ -44,7 +44,9 @@ func New(appID, appSecret, merchantId, code string, config ...*platformapi.APICo
|
|||||||
if len(config) > 0 {
|
if len(config) > 0 {
|
||||||
curConfig = *config[0]
|
curConfig = *config[0]
|
||||||
}
|
}
|
||||||
|
if appID == "" {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
// 查询蜂鸟refeshToken
|
// 查询蜂鸟refeshToken
|
||||||
return &API{
|
return &API{
|
||||||
grantType: "authorization_code", // 授权模式,填固定值authorization_code
|
grantType: "authorization_code", // 授权模式,填固定值authorization_code
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package tiktok_api
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"errors"
|
||||||
doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core"
|
doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core"
|
||||||
"git.rosy.net.cn/jx-callback/globals"
|
"git.rosy.net.cn/jx-callback/globals"
|
||||||
"sync"
|
"sync"
|
||||||
@@ -27,21 +28,25 @@ type API struct {
|
|||||||
|
|
||||||
func New(appKey, appSecret, accessToken string) *API {
|
func New(appKey, appSecret, accessToken string) *API {
|
||||||
var access *doudian_sdk.AccessToken
|
var access *doudian_sdk.AccessToken
|
||||||
|
doudian_sdk.GlobalConfig.AppKey = appKey
|
||||||
|
doudian_sdk.GlobalConfig.AppSecret = appSecret
|
||||||
if accessToken != "" {
|
if accessToken != "" {
|
||||||
if err := json.Unmarshal([]byte(accessToken), &access); err != nil {
|
if err := json.Unmarshal([]byte(accessToken), &access); err != nil {
|
||||||
globals.SugarLogger.Debug("accessToken init err :", err)
|
globals.SugarLogger.Debug("accessToken init err :", err)
|
||||||
return nil
|
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{
|
return &API{
|
||||||
appKey: appKey,
|
appKey: appKey,
|
||||||
appSecret: appSecret,
|
appSecret: appSecret,
|
||||||
accessToken: access.AccessToken,
|
|
||||||
refreshToken: access.RefreshToken,
|
|
||||||
expiresIn: access.ExpiresIn,
|
|
||||||
accessTokenObj: access,
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -93,12 +98,17 @@ func (a *API) RefreshToken() (*doudian_sdk.CreateTokenData, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
if createToken.Code != RequestSuccessCode {
|
||||||
|
return nil, errors.New(createToken.SubMsg)
|
||||||
|
}
|
||||||
a.accessToken = createToken.Data.AccessToken
|
a.accessToken = createToken.Data.AccessToken
|
||||||
a.refreshToken = createToken.Data.RefreshToken
|
a.refreshToken = createToken.Data.RefreshToken
|
||||||
a.expiresIn = time.Now().Unix() + createToken.Data.ExpiresIn
|
a.expiresIn = time.Now().Unix() + createToken.Data.ExpiresIn
|
||||||
|
globals.SugarLogger.Debug("===============data", createToken.Data)
|
||||||
a.accessTokenObj.CreateTokenData = createToken.Data
|
a.accessTokenObj.CreateTokenData = createToken.Data
|
||||||
|
|
||||||
// 不要
|
// 不要
|
||||||
|
createToken.Data.ExpiresIn = a.expiresIn
|
||||||
strData, _ := json.Marshal(createToken.Data)
|
strData, _ := json.Marshal(createToken.Data)
|
||||||
globals.SugarLogger.Debug("=========", string(strData))
|
globals.SugarLogger.Debug("=========", string(strData))
|
||||||
return &createToken.Data, nil
|
return &createToken.Data, nil
|
||||||
@@ -135,6 +145,13 @@ func (a *API) SetAccessToken(token string) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
a.accessTokenObj = access
|
if access.ExpiresIn > time.Now().Unix() {
|
||||||
|
a.accessTokenObj = access
|
||||||
|
} else {
|
||||||
|
a.accessToken = access.AccessToken
|
||||||
|
a.refreshToken = access.RefreshToken
|
||||||
|
a.RefreshToken()
|
||||||
|
}
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import (
|
|||||||
product_listV2_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/product_listV2/response"
|
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"
|
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_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_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"
|
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
|
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
|
||||||
|
}
|
||||||
|
|||||||
@@ -210,3 +210,7 @@ func TestCreateStoreCommodity(t *testing.T) {
|
|||||||
fmt.Println("err=============", err)
|
fmt.Println("err=============", err)
|
||||||
fmt.Println("data===", fmt.Sprintf("%v", data))
|
fmt.Println("data===", fmt.Sprintf("%v", data))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestInt16(t *testing.T) {
|
||||||
|
fmt.Println(utils.Str2Int16(strings.ReplaceAll("08:00", ":", "")))
|
||||||
|
}
|
||||||
|
|||||||
@@ -45,3 +45,11 @@ func TestUploadImg(t *testing.T) {
|
|||||||
fmt.Println(data)
|
fmt.Println(data)
|
||||||
// logid 202209281425150101351501360B6DB460
|
// logid 202209281425150101351501360B6DB460
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestRefundToken(t *testing.T) {
|
||||||
|
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()
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
@@ -34,6 +34,8 @@ import (
|
|||||||
warehouse_createBatch_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/warehouse_createBatch/response"
|
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_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"
|
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 单个获取门店信息
|
//GetStoreDetail 单个获取门店信息
|
||||||
@@ -52,6 +54,8 @@ func (a *API) GetStoreDetail(param *shop_getStoreDetail_request.ShopGetStoreDeta
|
|||||||
|
|
||||||
//BatchCreateStore 批量创建门店
|
//BatchCreateStore 批量创建门店
|
||||||
func (a *API) BatchCreateStore(param *shop_batchCreateStore_request.ShopBatchCreateStoreParam) (*shop_batchCreateStore_response.ShopBatchCreateStoreData, error) {
|
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 := shop_batchCreateStore_request.New()
|
||||||
request.Param = param
|
request.Param = param
|
||||||
response, err := request.Execute(a.accessTokenObj)
|
response, err := request.Execute(a.accessTokenObj)
|
||||||
@@ -66,6 +70,8 @@ func (a *API) BatchCreateStore(param *shop_batchCreateStore_request.ShopBatchCre
|
|||||||
|
|
||||||
// EditStore 编辑门店
|
// EditStore 编辑门店
|
||||||
func (a *API) EditStore(param *shop_editStore_request.ShopEditStoreParam) (*shop_editStore_response.ShopEditStoreData, error) {
|
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 := shop_editStore_request.New()
|
||||||
request.Param = param
|
request.Param = param
|
||||||
response, err := request.Execute(a.accessTokenObj)
|
response, err := request.Execute(a.accessTokenObj)
|
||||||
|
|||||||
@@ -565,6 +565,10 @@ func Str2Int(s string) (i int) {
|
|||||||
return int(Str2Int64WithDefault(s, 0))
|
return int(Str2Int64WithDefault(s, 0))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func Str2Int16(s string) (i int16) {
|
||||||
|
return int16(Str2Int64WithDefault(s, 0))
|
||||||
|
}
|
||||||
|
|
||||||
//func String2Int64Slice(s string) []int64 {
|
//func String2Int64Slice(s string) []int64 {
|
||||||
// res := make([]int64, 0)
|
// res := make([]int64, 0)
|
||||||
// if len(s) == 0 {
|
// if len(s) == 0 {
|
||||||
|
|||||||
Reference in New Issue
Block a user