From 6a1c183c285fd8f0674262085a00e5d935e4b001 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=82=B9=E5=AE=97=E6=A5=A0?= Date: Wed, 31 Aug 2022 10:54:01 +0800 Subject: [PATCH] 1 --- .../request/order_ordeReportList_request.go | 2 + .../response/order_ordeReportList_response.go | 4 + platformapi/tiktok_shop/tiktok_api/api.go | 74 +++++++++++++++++++ platformapi/tiktok_shop/tiktok_api/sku.go | 15 ++++ platformapi/tiktok_shop/tiktok_api/sku/sku.go | 1 - 5 files changed, 95 insertions(+), 1 deletion(-) create mode 100644 platformapi/tiktok_shop/tiktok_api/api.go create mode 100644 platformapi/tiktok_shop/tiktok_api/sku.go delete mode 100644 platformapi/tiktok_shop/tiktok_api/sku/sku.go diff --git a/platformapi/tiktok_shop/sdk-golang/api/order_ordeReportList/request/order_ordeReportList_request.go b/platformapi/tiktok_shop/sdk-golang/api/order_ordeReportList/request/order_ordeReportList_request.go index 9cb7f57f..36d7e7ed 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/order_ordeReportList/request/order_ordeReportList_request.go +++ b/platformapi/tiktok_shop/sdk-golang/api/order_ordeReportList/request/order_ordeReportList_request.go @@ -2,6 +2,8 @@ package order_ordeReportList_request import ( "encoding/json" + order_ordeReportList_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_ordeReportList/response" + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" ) type OrderOrdeReportListRequest struct { diff --git a/platformapi/tiktok_shop/sdk-golang/api/order_ordeReportList/response/order_ordeReportList_response.go b/platformapi/tiktok_shop/sdk-golang/api/order_ordeReportList/response/order_ordeReportList_response.go index 2f1446fc..e1cc8e0b 100644 --- a/platformapi/tiktok_shop/sdk-golang/api/order_ordeReportList/response/order_ordeReportList_response.go +++ b/platformapi/tiktok_shop/sdk-golang/api/order_ordeReportList/response/order_ordeReportList_response.go @@ -1,5 +1,9 @@ package order_ordeReportList_response +import ( + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" +) + type OrderOrdeReportListResponse struct { doudian_sdk.BaseDoudianOpApiResponse Data *OrderOrdeReportListData `json:"data"` diff --git a/platformapi/tiktok_shop/tiktok_api/api.go b/platformapi/tiktok_shop/tiktok_api/api.go new file mode 100644 index 00000000..0ad9f1d3 --- /dev/null +++ b/platformapi/tiktok_shop/tiktok_api/api.go @@ -0,0 +1,74 @@ +package tiktok_api + +import ( + doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core" + "git.rosy.net.cn/jx-callback/globals" + "time" +) + +var AccessToken *doudian_sdk.AccessToken // 存储数据库 + +type Api struct { + appKey string + appSecret string + accessToken string + refreshToken string + expiresIn int64 +} + +func New(appKey, appSecret string) *Api { + return &Api{ + appKey: appKey, + appSecret: appSecret, + } +} + +func (a *Api) GetToken() string { + if a.expiresIn != 0 && a.expiresIn > time.Now().Unix() && a.accessToken != "" { + return a.accessToken + } else { + if err := a.RefreshToken(); err != nil { + globals.SugarLogger.Debug("Tiktok RefreshToken Err : ", err) + return "" + } + return a.accessToken + } +} + +// CreateToken 创建token只有第一次授权或者更新授权才需要,其他时候直接刷新就可以啦 +func (a *Api) CreateToken(code string) error { + doudian_sdk.GlobalConfig.AppKey = a.appKey + doudian_sdk.GlobalConfig.AppSecret = a.appSecret + buildParam := &doudian_sdk.BuildAccessTokenParam{ + Code: code, // 定死还是自动获取 + ShopId: 0, + Config: nil, + } + access, err := doudian_sdk.BuildAccessToken(buildParam) + if err != nil { + return err + } + + a.accessToken = access.AccessToken + a.refreshToken = access.RefreshToken + a.expiresIn = access.ExpiresIn + AccessToken = access + return nil +} + +// RefreshToken 刷新token +func (a *Api) RefreshToken() error { + refresh := doudian_sdk.NewRefreshTokenRequest() + refresh.GetParam().RefreshToken = a.refreshToken + refresh.GetParam().GrantType = "refresh_token" + + createToken, err := refresh.Execute(AccessToken) + if err != nil { + return err + } + a.accessToken = createToken.Data.AccessToken + a.refreshToken = createToken.Data.RefreshToken + a.expiresIn = createToken.Data.ExpiresIn + AccessToken.CreateTokenData = createToken.Data + return nil +} diff --git a/platformapi/tiktok_shop/tiktok_api/sku.go b/platformapi/tiktok_shop/tiktok_api/sku.go new file mode 100644 index 00000000..db5282d9 --- /dev/null +++ b/platformapi/tiktok_shop/tiktok_api/sku.go @@ -0,0 +1,15 @@ +package tiktok_api + +import ( + order_orderDetail_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/order_orderDetail/request" +) + +// GetTiktokOrderDetail 获取订单详情 +func (a *Api) GetTiktokOrderDetail(storeId string) { + reqParam := order_orderDetail_request.New() + reqParam.Param = &order_orderDetail_request.OrderOrderDetailParam{ + ShopOrderId: storeId, + IsSearchable: false, + } + reqParam.Execute(AccessToken) +} diff --git a/platformapi/tiktok_shop/tiktok_api/sku/sku.go b/platformapi/tiktok_shop/tiktok_api/sku/sku.go deleted file mode 100644 index 377a5e7f..00000000 --- a/platformapi/tiktok_shop/tiktok_api/sku/sku.go +++ /dev/null @@ -1 +0,0 @@ -package sku