This commit is contained in:
邹宗楠
2022-09-30 16:19:22 +08:00
16 changed files with 328 additions and 482 deletions

View File

@@ -11,30 +11,6 @@ type ShopBatchCreateStoreRequest struct {
Param *ShopBatchCreateStoreParam
}
type ShopBatchCreateStoreParam struct {
StoreList []*StoreList `json:"store_list"`
}
type StoreList struct {
RowID int64 `json:"row_id"`
Name string `json:"name"`
StoreCode string `json:"store_code"` //门店编码
Longitude string `json:"longitude"` //经度
Latitude string `json:"latitude"` //纬度
Province string `json:"province"` //省份
City string `json:"city"` //市
District string `json:"district"` //区
Address string `json:"address"` //详细地址
Contact string `json:"contact"` //联系方式
OpenTime OpenTime `json:"open_time"` //营业时间
StoreID int64 `json:"store_id"` //创建成功的门店ID
}
type OpenTime struct {
DayMap map[string]string `json:"day_map"`
Custom string `json:"custom"` //暂时不使用
}
func (c *ShopBatchCreateStoreRequest) GetUrlPath() string {
return "/shop/batchCreateStore"
}
@@ -46,6 +22,7 @@ func New() *ShopBatchCreateStoreRequest {
request.SetConfig(doudian_sdk.GlobalConfig)
request.SetClient(doudian_sdk.DefaultDoudianOpApiClient)
return request
}
func (c *ShopBatchCreateStoreRequest) Execute(accessToken *doudian_sdk.AccessToken) (*shop_batchCreateStore_response.ShopBatchCreateStoreResponse, error) {
@@ -56,7 +33,9 @@ func (c *ShopBatchCreateStoreRequest) Execute(accessToken *doudian_sdk.AccessTok
response := &shop_batchCreateStore_response.ShopBatchCreateStoreResponse{}
_ = json.Unmarshal([]byte(responseJson), response)
return response, nil
}
func (c *ShopBatchCreateStoreRequest) GetParamObject() interface{} {
return c.Param
}
@@ -64,3 +43,36 @@ func (c *ShopBatchCreateStoreRequest) GetParamObject() interface{} {
func (c *ShopBatchCreateStoreRequest) GetParams() *ShopBatchCreateStoreParam {
return c.Param
}
type ShopBatchCreateStoreParam struct {
// 与createStore接口入参一致
StoreList []StoreListItem `json:"store_list"`
}
type OpenTime struct {
// Key:用数字表示周几1:周一、2:周一、5:周五、6:周六、7:周日。Value: 营业时间“x-x”。x的区间[00:00, 23:59]24:00无效。营业到次日举例"19:00-02:00"。完整举例(周3周4不营业){1:"12:00-16:00",2:"12:00-16:00",5:"19:00-02:00",6:"12:00-16:00",7:"12:00-16:00"}
DayMap map[int64]string `json:"day_map"`
}
type StoreListItem struct {
// 标识这行数据
RowId int64 `json:"row_id"`
// 门店名称
Name string `json:"name"`
// 门店编码
StoreCode string `json:"store_code"`
// 经度
Longitude string `json:"longitude"`
// 纬度
Latitude string `json:"latitude"`
// 省份
Province string `json:"province"`
// 市
City string `json:"city"`
// 区
District string `json:"district"`
// 详细地址
Address string `json:"address"`
// 电话
Contact string `json:"contact"`
// Key:用数字表示周几1:周一、2:周一、5:周五、6:周六、7:周日。Value: 营业时间“x-x”。x的区间[00:00, 23:59]24:00无效。营业到次日举例"19:00-02:00"。完整举例(周3周4不营业){1:"12:00-16:00",2:"12:00-16:00",5:"19:00-02:00",6:"12:00-16:00",7:"12:00-16:00"}
OpenTime *OpenTime `json:"open_time"`
}

View File

@@ -1,29 +1,56 @@
package shop_batchCreateStore_response
import doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core"
import (
doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core"
)
type ShopBatchCreateStoreResponse struct {
doudian_sdk.BaseDoudianOpApiResponse
Data *ShopBatchCreateStoreData `json:"data"`
}
type DataItem struct {
RowID int `json:"row_id"`
Name string `json:"name"`
StoreCode string `json:"store_code"` //门店编码
Longitude string `json:"longitude"` //经度
Latitude string `json:"latitude"` //纬度
Province string `json:"province"` //省份
City string `json:"city"` //市
District string `json:"district"` //区
Address string `json:"address"` //详细地址
Contact string `json:"contact"` //联系方式
OpenTime OpenTime `json:"open_time"` //营业时间
}
type OpenTime struct {
DayMap map[string]string `json:"day_map"`
Custom string `json:"custom"` //暂时不使用
// -
DayMap map[int64]string `json:"day_map"`
// -
Custom string `json:"custom"`
}
type Store struct {
// -
RowId int64 `json:"row_id"`
// -
Name string `json:"name"`
// -
RelShopId int64 `json:"rel_shop_id"`
// -
StoreCode string `json:"store_code"`
// -
Longitude string `json:"longitude"`
// -
Latitude string `json:"latitude"`
// -
Province string `json:"province"`
// -
City string `json:"city"`
// -
District string `json:"district"`
// -
Address string `json:"address"`
// -
Contact string `json:"contact"`
// -
OpenTime *OpenTime `json:"open_time"`
// 创建成功的门店ID
StoreId int64 `json:"store_id"`
}
type ResultListItem struct {
// 是否成功
IsSuccess bool `json:"is_success"`
// 错误描述
Msg string `json:"msg"`
// 提交过来的信息
Store *Store `json:"store"`
}
type ShopBatchCreateStoreData struct {
Data []DataItem `json:"data"`
// 结果
ResultList []ResultListItem `json:"result_list"`
}

View File

@@ -3,8 +3,6 @@ package shop_bindStoreSaleLimit_request
import (
"encoding/json"
shop_bindStoreSaleLimit_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_bindStoreSaleLimit/response"
//shop_bindStoreSaleLimit_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_bindStoreSaleLimit/response"
doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core"
)
@@ -13,15 +11,6 @@ type ShopBindStoreSaleLimitRequest struct {
Param *ShopBindStoreSaleLimitParam
}
type ShopBindStoreSaleLimitParam struct {
StoreID int64 `json:"store_id"` //创建成功的门店ID
SaleLimitID int64 `json:"sale_limit_id"` //限售模板ID
}
type OpenTime struct {
DayMap map[string]string `json:"day_map"`
Custom string `json:"custom"` //暂时不使用
}
func (c *ShopBindStoreSaleLimitRequest) GetUrlPath() string {
return "/shop/bindStoreSaleLimit"
}
@@ -33,6 +22,7 @@ func New() *ShopBindStoreSaleLimitRequest {
request.SetConfig(doudian_sdk.GlobalConfig)
request.SetClient(doudian_sdk.DefaultDoudianOpApiClient)
return request
}
func (c *ShopBindStoreSaleLimitRequest) Execute(accessToken *doudian_sdk.AccessToken) (*shop_bindStoreSaleLimit_response.ShopBindStoreSaleLimitResponse, error) {
@@ -43,7 +33,9 @@ func (c *ShopBindStoreSaleLimitRequest) Execute(accessToken *doudian_sdk.AccessT
response := &shop_bindStoreSaleLimit_response.ShopBindStoreSaleLimitResponse{}
_ = json.Unmarshal([]byte(responseJson), response)
return response, nil
}
func (c *ShopBindStoreSaleLimitRequest) GetParamObject() interface{} {
return c.Param
}
@@ -51,3 +43,10 @@ func (c *ShopBindStoreSaleLimitRequest) GetParamObject() interface{} {
func (c *ShopBindStoreSaleLimitRequest) GetParams() *ShopBindStoreSaleLimitParam {
return c.Param
}
type ShopBindStoreSaleLimitParam struct {
// 门店ID
StoreId int64 `json:"store_id"`
// 限售模版ID
SaleLimitId int64 `json:"sale_limit_id"`
}

View File

@@ -1,11 +1,12 @@
package shop_bindStoreSaleLimit_response
import doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core"
import (
doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core"
)
type ShopBindStoreSaleLimitResponse struct {
doudian_sdk.BaseDoudianOpApiResponse
Data *ShopBindStoreSaleLimitData `json:"data"`
}
type ShopBindStoreSaleLimitData struct {
}

View File

@@ -10,24 +10,6 @@ type ShopEditStoreRequest struct {
doudian_sdk.BaseDoudianOpApiRequest
Param *ShopEditStoreParam
}
type ShopEditStoreParam struct {
RowID int64 `json:"row_id"`
Name string `json:"name"`
StoreCode string `json:"store_code"` //门店编码
Longitude string `json:"longitude"` //经度
Latitude string `json:"latitude"` //纬度
Province string `json:"province"` //省份
City string `json:"city"` //市
District string `json:"district"` //区
Address string `json:"address"` //详细地址
Contact string `json:"contact"` //联系方式
OpenTime OpenTime `json:"open_time"` //营业时间
StoreID int64 `json:"store_id"` //创建成功的门店ID
}
type OpenTime struct {
DayMap map[string]string `json:"day_map"`
Custom string `json:"custom"` //暂时不使用
}
func (c *ShopEditStoreRequest) GetUrlPath() string {
return "/shop/editStore"
@@ -51,6 +33,7 @@ func (c *ShopEditStoreRequest) Execute(accessToken *doudian_sdk.AccessToken) (*s
response := &shop_editStore_response.ShopEditStoreResponse{}
_ = json.Unmarshal([]byte(responseJson), response)
return response, nil
}
func (c *ShopEditStoreRequest) GetParamObject() interface{} {
@@ -60,3 +43,32 @@ func (c *ShopEditStoreRequest) GetParamObject() interface{} {
func (c *ShopEditStoreRequest) GetParams() *ShopEditStoreParam {
return c.Param
}
type OpenTime struct {
// 营业时间
DayMap map[int64]string `json:"day_map"`
}
type ShopEditStoreParam struct {
// 门店ID
StoreId int64 `json:"store_id"`
// 门店名
Name string `json:"name"`
// 自用编码
StoreCode string `json:"store_code"`
// 经度
Longitude string `json:"longitude"`
// 纬度
Latitude string `json:"latitude"`
// 省
Province string `json:"province"`
// 市
City string `json:"city"`
// 区
District string `json:"district"`
// 详细地址
Address string `json:"address"`
// 电话
Contact string `json:"contact"`
// 营业时间
OpenTime *OpenTime `json:"open_time"`
}

View File

@@ -1,6 +1,8 @@
package shop_editStore_response
import doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core"
import (
doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core"
)
type ShopEditStoreResponse struct {
doudian_sdk.BaseDoudianOpApiResponse

View File

@@ -10,10 +10,6 @@ type ShopStoreSuspendRequest struct {
doudian_sdk.BaseDoudianOpApiRequest
Param *ShopStoreSuspendParam
}
type ShopStoreSuspendParam struct {
StoreID int64 `json:"store_id"` //门店ID
Reason string `json:"reason"` //停业原因
}
func (c *ShopStoreSuspendRequest) GetUrlPath() string {
return "/shop/storeSuspend"
@@ -37,6 +33,7 @@ func (c *ShopStoreSuspendRequest) Execute(accessToken *doudian_sdk.AccessToken)
response := &shop_storeSuspend_response.ShopStoreSuspendResponse{}
_ = json.Unmarshal([]byte(responseJson), response)
return response, nil
}
func (c *ShopStoreSuspendRequest) GetParamObject() interface{} {
@@ -46,3 +43,10 @@ func (c *ShopStoreSuspendRequest) GetParamObject() interface{} {
func (c *ShopStoreSuspendRequest) GetParams() *ShopStoreSuspendParam {
return c.Param
}
type ShopStoreSuspendParam struct {
// 门店ID
StoreId int64 `json:"store_id"`
// 停业原因
Reason string `json:"reason"`
}

View File

@@ -1,10 +1,16 @@
package shop_storeSuspend_response
import doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core"
import (
doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core"
)
type ShopStoreSuspendResponse struct {
doudian_sdk.BaseDoudianOpApiResponse
Data *ShopStoreSuspendData `json:"data"`
}
type ShopStoreSuspendData struct {
// 返回错误码
RetCode int64 `json:"ret_code"`
// -
RetMsg string `json:"ret_msg"`
}

View File

@@ -10,10 +10,6 @@ type ShopUnsuspendStoreRequest struct {
doudian_sdk.BaseDoudianOpApiRequest
Param *ShopUnsuspendStoreParam
}
type ShopUnsuspendStoreParam struct {
StoreID int64 `json:"store_id"` //门店ID
Reason string `json:"reason"` //停业原因
}
func (c *ShopUnsuspendStoreRequest) GetUrlPath() string {
return "/shop/unsuspendStore"
@@ -37,6 +33,7 @@ func (c *ShopUnsuspendStoreRequest) Execute(accessToken *doudian_sdk.AccessToken
response := &shop_unsuspendStore_response.ShopUnsuspendStoreResponse{}
_ = json.Unmarshal([]byte(responseJson), response)
return response, nil
}
func (c *ShopUnsuspendStoreRequest) GetParamObject() interface{} {
@@ -46,3 +43,10 @@ func (c *ShopUnsuspendStoreRequest) GetParamObject() interface{} {
func (c *ShopUnsuspendStoreRequest) GetParams() *ShopUnsuspendStoreParam {
return c.Param
}
type ShopUnsuspendStoreParam struct {
// 门店ID
StoreId int64 `json:"store_id"`
// 恢复营业原因
Reason string `json:"reason"`
}

View File

@@ -1,10 +1,16 @@
package shop_unsuspendStore_response
import doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core"
import (
doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core"
)
type ShopUnsuspendStoreResponse struct {
doudian_sdk.BaseDoudianOpApiResponse
Data *ShopUnsuspendStoreData `json:"data"`
}
type ShopUnsuspendStoreData struct {
// 返回错误码
RetCode int64 `json:"ret_code"`
// -
RetMsg string `json:"ret_msg"`
}

View File

@@ -11,29 +11,6 @@ type TradeCreateTradeLimitTemplateRequest struct {
Param *TradeCreateTradeLimitTemplateParam
}
type TradeCreateTradeLimitTemplateParam struct {
StoreID int64 `json:"store_id"` //门店ID
TradeLimitRuleRequestList []*TradeLimitRuleRequestList `json:"trade_limit_rule_request_list"` //限购参数
TradeLimitResourceObject TradeLimitResourceObject `json:"trade_limit_resource_object"` //限购资源值
TradeLimitPattern TradeLimitPattern `json:"trade_limit_pattern"` //限购值,模型为重量则单位为毫克,模型为金额则单位为分
TimePeriod TimePeriod `json:"time_period"` //限购时间
}
type TradeLimitRuleRequestList struct {
TradeLimitModel int32 `json:"trade_limit_model"` //限购模型 1-重量2-数量3-地区4-金额
TradeLimitResource int32 `json:"trade_limit_resource"` //限购资源类别1-抖店2-门店3-商品ID4-sku,5-类目6-活动7-商品标
}
type TradeLimitResourceObject struct {
TradeLimitResourceIDList []string `json:"trade_limit_resource_id_list"` //限购资源值列表
}
type TradeLimitPattern struct {
Minimum int64 `json:"minimum"` //单次下限
Maximum int64 `json:"maximum"` //单次上限
CumulativeMax int64 `json:"cumulative_max"` //累计限购值
}
type TimePeriod struct {
TradeLimitSubjectList []int64 `json:"trade_limit_subject_list"` //限购维度1 // 端用户比如uid=122aid=1128 2 // 用户组用户比如uid=122group=aweme 3 // 设备 4 // 下单电话 5 // 收件电话 6 // 身份证号 7 // 支付账号
}
func (c *TradeCreateTradeLimitTemplateRequest) GetUrlPath() string {
return "/trade/createTradeLimitTemplate"
}
@@ -45,6 +22,7 @@ func New() *TradeCreateTradeLimitTemplateRequest {
request.SetConfig(doudian_sdk.GlobalConfig)
request.SetClient(doudian_sdk.DefaultDoudianOpApiClient)
return request
}
func (c *TradeCreateTradeLimitTemplateRequest) Execute(accessToken *doudian_sdk.AccessToken) (*trade_createTradeLimitTemplate_response.TradeCreateTradeLimitTemplateResponse, error) {
@@ -55,7 +33,9 @@ func (c *TradeCreateTradeLimitTemplateRequest) Execute(accessToken *doudian_sdk.
response := &trade_createTradeLimitTemplate_response.TradeCreateTradeLimitTemplateResponse{}
_ = json.Unmarshal([]byte(responseJson), response)
return response, nil
}
func (c *TradeCreateTradeLimitTemplateRequest) GetParamObject() interface{} {
return c.Param
}
@@ -63,3 +43,46 @@ func (c *TradeCreateTradeLimitTemplateRequest) GetParamObject() interface{} {
func (c *TradeCreateTradeLimitTemplateRequest) GetParams() *TradeCreateTradeLimitTemplateParam {
return c.Param
}
type TradeLimitPattern struct {
// 单次下限
Minimum int64 `json:"minimum"`
// 单次上限
Maximum int64 `json:"maximum"`
// 累计限购值
CumulativeMax int64 `json:"cumulative_max"`
}
type TimePeriod struct {
// 限购开始时间
StartTime int64 `json:"start_time"`
// 限购结束时间
EndTime int64 `json:"end_time"`
// 限购滑动窗口时长
LimitPeriod int64 `json:"limit_period"`
// 限购滑动窗口结束时间
LimitPeriodEndTime int64 `json:"limit_period_end_time"`
}
type TradeLimitRuleRequestListItem struct {
// 限购模型 1-重量2-数量3-地区4-金额
TradeLimitModel int32 `json:"trade_limit_model"`
// 限购资源类别1-抖店2-门店3-商品ID4-sku,5-类目6-活动7-商品标
TradeLimitResource int32 `json:"trade_limit_resource"`
// 限购资源值
TradeLimitResourceObject *TradeLimitResourceObject `json:"trade_limit_resource_object"`
// 限购值,模型为重量则单位为毫克,模型为金额则单位为分
TradeLimitPattern *TradeLimitPattern `json:"trade_limit_pattern"`
// 限购时间
TimePeriod *TimePeriod `json:"time_period"`
// 限购维度1 // 端用户比如uid=122aid=1128 2 // 用户组用户比如uid=122group=aweme 3 // 设备 4 // 下单电话 5 // 收件电话 6 // 身份证号 7 // 支付账号
TradeLimitSubjectList []int32 `json:"trade_limit_subject_list"`
}
type TradeCreateTradeLimitTemplateParam struct {
// 门店ID
StoreId int64 `json:"store_id"`
// 限购参数
TradeLimitRuleRequestList []TradeLimitRuleRequestListItem `json:"trade_limit_rule_request_list"`
}
type TradeLimitResourceObject struct {
// 限购资源值列表
TradeLimitResourceIdList []string `json:"trade_limit_resource_id_list"`
}

View File

@@ -1,11 +1,14 @@
package trade_createTradeLimitTemplate_response
import doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core"
import (
doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core"
)
type TradeCreateTradeLimitTemplateResponse struct {
doudian_sdk.BaseDoudianOpApiResponse
Data *TradeCreateTradeLimitTemplateData `json:"data"`
}
type TradeCreateTradeLimitTemplateData struct {
TradeLimitID int64 `json:"trade_limit_id"` //限购模板ID
// 限购模板ID
TradeLimitId int64 `json:"trade_limit_id"`
}

View File

@@ -36,7 +36,10 @@ func ConfigSpiWithUrlQuery(request DoudianOpSpiRequest, handler BizHandler, quer
appKey := queries.Get("app_key")
paramJson := queries.Get("param_json")
if len(paramJson) == 0 {
<<<<<<< HEAD
//bs, _ := io.ReadAll(body)
=======
>>>>>>> 4829577ec90a3adad3ba5b0b591b6537e86a3915
bs, _ := ioutil.ReadAll(body)
paramJson = string(bs)
}

View File

@@ -1,125 +0,0 @@
package tiktok_api
import (
"fmt"
"git.rosy.net.cn/baseapi"
address_create_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/address_create/request"
afterSale_Detail_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/afterSale_Detail/request"
afterSale_rejectReasonCodeList_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/afterSale_rejectReasonCodeList/request"
shop_batchCreateStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_batchCreateStore/request"
"go.uber.org/zap"
"testing"
)
var (
api *address_create_request.AddressCreateRequest
sugarLogger *zap.SugaredLogger
)
func init() {
logger, _ := zap.NewDevelopment()
sugarLogger = logger.Sugar()
baseapi.Init(sugarLogger)
// sandbox
// api = New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0")
// prod
api = address_create_request.New()
}
func TestCreateToken(t *testing.T) {
api2 := New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", "")
accessToken, err := api2.CreateToken("bb52688c-7bca-4b64-8747-5258a9a6ba33")
fmt.Println(err)
fmt.Println(accessToken)
}
func TestRefreshToken(t *testing.T) {
accesstoken := `{"access_token":"6c4d71b3-831c-4a96-8d2e-977e37afba5a","expires_in":604800,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接专用店","refresh_token":"65aae144-4cc0-44d2-89ba-5d3062caca41","authority_id":""}`
api2 := New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", accesstoken)
data, err := api2.RefreshToken()
fmt.Println(err)
fmt.Println(data)
}
// {"access_token":"90868a42-1287-4453-ba71-34c72f22e886","expires_in":555553,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接专用店","refresh_token":"4e8cf946-8df1-4489-be88-f96f2d4603a8","authority_id ":""}
func TestCreateStore(t *testing.T) {
accesstoken := `{"access_token":"6c4d71b3-831c-4a96-8d2e-977e37afba5a","expires_in":604800,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接 专用店","refresh_token":"65aae144-4cc0-44d2-89ba-5d3062caca41","authority_ id":""}`
a := New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", accesstoken)
request := address_create_request.New()
param := request.GetParams()
param.StoreId = 666667
storeParam := &address_create_request.Address{}
storeParam.UserName = "火车南站店"
storeParam.Mobile = "13688039650"
storeParam.ProvinceId = 510000
storeParam.CityId = 510100
storeParam.TownId = 510107
storeParam.Detail = "四川省成都市武侯区火车南站综合市场蔬菜区2728号"
storeParam.StreetId = 222
storeParam.LinkType = 0
storeParam.FixedPhone = "13688039650"
storeParam.Remark = "抖音火车南站测试门店"
param.Address = storeParam
data, err := request.Execute(a.accessTokenObj)
t.Fatal("err===========", err)
fmt.Println("data==", fmt.Sprintf("%v", data))
}
func TestCreateStoreList(t *testing.T) {
accesstoken := `{"access_token":"6c4d71b3-831c-4a96-8d2e-977e37afba5a","expires_in":604800,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接 专用店","refresh_token":"65aae144-4cc0-44d2-89ba-5d3062caca41","authority_ id":""}`
a := New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", accesstoken)
request := shop_batchCreateStore_request.New()
//param := request.GetParams()
//storeList := make([]*shop_batchCreateStore_request.ShopBatchCreateStoreParam, 0)
list := &shop_batchCreateStore_request.StoreList{
RowID: 1,
Name: "黄田市场店测试",
StoreCode: "667510",
Longitude: "113.846355",
Latitude: "22.62557",
Province: "510000",
City: "510100",
District: "510107",
Address: "深圳西乡黄田市场大夫天路北三巷八号",
Contact: "18981810340",
OpenTime: shop_batchCreateStore_request.OpenTime{DayMap: map[string]string{"1": "07:00-19:00"}},
}
request.Param.StoreList = append(request.Param.StoreList, list)
resp, err := request.Execute(a.accessTokenObj)
t.Fatal("err===========", err)
t.Fatalf("resp===========:%v", resp)
}
func TestNamGetRejectReasonCodeList(t *testing.T) {
accesstoken := `{"access_token":"6c4d71b3-831c-4a96-8d2e-977e37afba5a","expires_in":604800,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接 专用店","refresh_token":"65aae144-4cc0-44d2-89ba-5d3062caca41","authority_ id":""}`
a := New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", accesstoken)
request := afterSale_rejectReasonCodeList_request.New()
date, _ := request.Execute(a.accessTokenObj)
for _, v := range date.Data.Items {
fmt.Println(v.RejectReasonCode)
fmt.Println(v.Reason)
}
}
func TestSturctToMap(t *testing.T) {
aa := `{"access_token":"6c4d71b3-831c-4a96-8d2e-977e37afba5a","expires_in":604800,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接 专用店","refresh_token":"65aae144-4cc0-44d2-89ba-5d3062caca41","authority_ id":""}`
fmt.Println(len(aa))
}
func TestGetOrder(t *testing.T) {
accesstoken := `{"access_token":"90868a42-1287-4453-ba71-34c72f22e886","expires_in":30536,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接专用店","refresh_token":"4e8cf946-8df1-4489-be88-f96f2d4603a8","authority_id ":""}`
a := New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", accesstoken)
request := afterSale_Detail_request.New()
param := request.GetParams()
param.AfterSaleId = "4981791596669925176"
result, err := request.Execute(a.accessTokenObj)
fmt.Println("err", err)
fmt.Println("result===", result)
}

View File

@@ -1,166 +0,0 @@
package tiktok_api
import (
"errors"
"fmt"
shop_bindStoreSaleLimit_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_bindStoreSaleLimit/request"
shop_bindStoreSaleLimit_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_bindStoreSaleLimit/response"
shop_editStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_editStore/request"
shop_editStore_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_editStore/response"
shop_getStoreFreight_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_getStoreFreight/request"
shop_storeSuspend_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_storeSuspend/request"
shop_storeSuspend_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_storeSuspend/response"
shop_unsuspendStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_unsuspendStore/request"
shop_unsuspendStore_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_unsuspendStore/response"
trade_createTradeLimitTemplate_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/trade_createTradeLimitTemplate/request"
trade_createTradeLimitTemplate_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/trade_createTradeLimitTemplate/response"
)
//GetStoreDetail 单个获取门店信息
func (a *API) GetStoreDetail() {
}
//BatchCreateStore 批量创建门店
//func (a *API) BatchCreateStore(storeInfo BatchCreateStoreReq) (*shop_batchCreateStore_response.ShopBatchCreateStoreData, error) {
// request := shop_batchCreateStore_request.New()
// request.Param = &shop_batchCreateStore_request.ShopBatchCreateStoreParam{
// RowID: int64(storeInfo.RowID),
// Name: storeInfo.Name,
// StoreCode: storeInfo.StoreCode,
// Longitude: storeInfo.Longitude,
// Latitude: storeInfo.Latitude,
// Province: storeInfo.Province,
// City: storeInfo.City,
// District: storeInfo.District,
// Address: storeInfo.Address,
// Contact: storeInfo.Contact,
// OpenTime: storeInfo.OpenTime,
// StoreID: int64(storeInfo.StoreID),
// }
// response, err := request.Execute(AccessToken)
// if err != nil {
// return nil, err
// }
// if response.Code != 1000 {
// return nil, errors.New(response.Msg)
// }
// return response.Data, nil
//}
// EditStore 编辑门店
func (a *API) EditStore(storeInfo EditStoreReq) (*shop_editStore_response.ShopEditStoreData, error) {
request := shop_editStore_request.New()
request.Param = &shop_editStore_request.ShopEditStoreParam{
RowID: int64(storeInfo.RowID),
Name: storeInfo.Name,
StoreCode: storeInfo.StoreCode,
Longitude: storeInfo.Longitude,
Latitude: storeInfo.Latitude,
Province: storeInfo.Province,
City: storeInfo.City,
District: storeInfo.District,
Address: storeInfo.Address,
Contact: storeInfo.Contact,
OpenTime: storeInfo.OpenTime,
StoreID: int64(storeInfo.StoreID),
}
response, err := request.Execute(a.accessTokenObj)
if err != nil {
return nil, err
}
if response.Code != 1000 {
return nil, errors.New(response.Msg)
}
return response.Data, nil
}
//暂停营业
func (a *API) StoreSuspend(info StoreSuspendReq) (*shop_storeSuspend_response.ShopStoreSuspendData, error) {
request := shop_storeSuspend_request.New()
request.Param = &shop_storeSuspend_request.ShopStoreSuspendParam{
StoreID: int64(info.StoreID),
Reason: info.Reason,
}
response, err := request.Execute(a.accessTokenObj)
if err != nil {
return nil, err
}
if response.Code != 1000 {
return nil, errors.New(response.Msg)
}
return response.Data, nil
}
//门店恢复营业
func (a *API) UnsuspendStore(info UnsuspendStoreReq) (*shop_unsuspendStore_response.ShopUnsuspendStoreData, error) {
request := shop_unsuspendStore_request.New()
request.Param = &shop_unsuspendStore_request.ShopUnsuspendStoreParam{
StoreID: int64(info.StoreID),
Reason: info.Reason,
}
response, err := request.Execute(a.accessTokenObj)
if err != nil {
return nil, err
}
if response.Code != 1000 {
return nil, errors.New(response.Msg)
}
return response.Data, nil
}
//创建限售规则模板
func (a *API) CreateTradeLimitTemplate(info CreateTradeLimitTemplateReq) (*trade_createTradeLimitTemplate_response.TradeCreateTradeLimitTemplateData, error) {
request := trade_createTradeLimitTemplate_request.New()
request.Param = &trade_createTradeLimitTemplate_request.TradeCreateTradeLimitTemplateParam{
StoreID: info.StoreID,
TradeLimitRuleRequestList: info.TradeLimitRuleRequestList,
TradeLimitResourceObject: info.TradeLimitResourceObject,
TradeLimitPattern: info.TradeLimitPattern,
TimePeriod: info.TimePeriod,
}
response, err := request.Execute(a.accessTokenObj)
if err != nil {
return nil, err
}
if response.Code != 1000 {
return nil, errors.New(response.Msg)
}
return response.Data, nil
}
//门店绑定限售模板
func (a *API) BindStoreSaleLimit(info BindBindStoreSaleLimitReq) (*shop_bindStoreSaleLimit_response.ShopBindStoreSaleLimitData, error) {
request := shop_bindStoreSaleLimit_request.New()
request.Param = &shop_bindStoreSaleLimit_request.ShopBindStoreSaleLimitParam{
StoreID: info.StoreID,
SaleLimitID: info.SaleLimitID,
}
response, err := request.Execute(a.accessTokenObj)
if err != nil {
return nil, err
}
if response.Code != 1000 {
return nil, errors.New(response.Msg)
}
return response.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)
}
if len(result.Data.StoreFreights) == 0 {
return 0, errors.New(fmt.Sprintf("此门[%d]店暂未绑定运费模板", storeId))
}
return result.Data.StoreFreights[0].FreightId, nil
}

View File

@@ -1,11 +1,5 @@
package tiktok_api
import (
shop_batchCreateStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_batchCreateStore/request"
shop_editStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_editStore/request"
trade_createTradeLimitTemplate_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/trade_createTradeLimitTemplate/request"
)
const (
//限购模型
@@ -31,41 +25,46 @@ const (
TradeLimitSubjectReceivingMobile = 5 //收件电话
TradeLimitSubjectIDCard = 6 //身份证号
TradeLimitSubjectPayAccount = 7 //支付账号
//联系方式类型
LinkTypePhone = 0 //手机
LinkTypeOrdinary = 1 //普通座机
LinkTypeEnterprise = 2 //企业座机
)
//门店信息
type Store struct {
StoreID int `json:"id"`
Name string `json:"name"`
StoreCode string `json:"store_code"` //门店编码
RelShopID int `json:"rel_shop_id"` //关联抖店Id
PoiID int `json:"poi_id"`
Longitude string `json:"longitude"` //经度
Latitude string `json:"latitude"` //纬度
Province string `json:"province"` //省份
ProvinceCode string `json:"province_code"` //省份code
City string `json:"city"` //市
CityCode string `json:"city_code"` //城市code
District string `json:"district"` //区
DistrictCode string `json:"district_code"` //区code
Town string `json:"town"` //街道/镇
TownCode string `json:"town_code"` //街道/镇code
Address string `json:"address"` //详细地址
Contact string `json:"contact"` //联系方式
OpenTime shop_batchCreateStore_request.OpenTime `json:"open_time"` //营业时间
IsOpenNow bool `json:"is_open_now"` //当前时间是否在营业时间中,如果不在则是打烊中
State int `json:"state"` //绑定状态 1绑定中;2绑定成功;3:资质验证中;4账户认证中;5正常营业(c端可下单);6暂停营业\
PoiAuditState int `json:"poi_audit_state"` //poi审核子状态1审核中;2绑定成功;3驳回
QualState int `json:"qual_state"` //资质审核状态0未提交1审核中2审核通过3驳回
RemitState int `json:"remit_state"` //账户验证状态0未提交1验证中2通过3失败
OpenAccountState int `json:"open_account_state"` //开户状态0未开户;1已开户
SuspendType int `json:"suspend_type"` //停业类型:1商家主动操作;2平台处罚
BoundTime int `json:"bound_time"` //绑定成功的时间
CreateTime int `json:"create_time"` // 创建时间
UpdateTime int `json:"update_time"` //更新时间
QualPassTime int `json:"qual_pass_time"` //资质验证通过时间
RemitPassTime int `json:"remit_pass_time"` //账户验证通过时间
OpenAccountTime int `json:"open_account_time"` //变成已开户的时间
StoreID int `json:"id"`
Name string `json:"name"`
StoreCode string `json:"store_code"` //门店编码
RelShopID int `json:"rel_shop_id"` //关联抖店Id
PoiID int `json:"poi_id"`
Longitude string `json:"longitude"` //经度
Latitude string `json:"latitude"` //纬度
Province string `json:"province"` //省份
ProvinceCode string `json:"province_code"` //省份code
City string `json:"city"` //市
CityCode string `json:"city_code"` //城市code
District string `json:"district"` //区
DistrictCode string `json:"district_code"` //区code
Town string `json:"town"` //街道/镇
TownCode string `json:"town_code"` //街道/镇code
Address string `json:"address"` //详细地址
Contact string `json:"contact"` //联系方式
OpenTime OpenTime `json:"open_time"` //营业时间
IsOpenNow bool `json:"is_open_now"` //当前时间是否在营业时间中,如果不在则是打烊中
State int `json:"state"` //绑定状态 1绑定中;2绑定成功;3:资质验证中;4账户认证中;5正常营业(c端可下单);6暂停营业\
PoiAuditState int `json:"poi_audit_state"` //poi审核子状态1审核中;2绑定成功;3驳回
QualState int `json:"qual_state"` //资质审核状态0未提交1审核中2审核通过3驳回
RemitState int `json:"remit_state"` //账户验证状态0未提交1验证中2通过3失败
OpenAccountState int `json:"open_account_state"` //开户状态0未开户;1已开户
SuspendType int `json:"suspend_type"` //停业类型:1商家主动操作;2平台处罚
BoundTime int `json:"bound_time"` //绑定成功的时间
CreateTime int `json:"create_time"` // 创建时间
UpdateTime int `json:"update_time"` //更新时间
QualPassTime int `json:"qual_pass_time"` //资质验证通过时间
RemitPassTime int `json:"remit_pass_time"` //账户验证通过时间
OpenAccountTime int `json:"open_account_time"` //变成已开户的时间
}
//关联抖店信息
@@ -83,26 +82,26 @@ type RelShopUser struct {
//poi审核信息
type PoiAudiInfo struct {
PoiAuditID string `json:"poi_audit_id"` //poi审核id
PoiAuditState int `json:"poi_audit_state"` //poi审核子状态1审核中;2绑定成功;3驳回
StoreID int `json:"store_id"` //门店ID
Name string `json:"name"` //门店名称
StoreCode string `json:"store_code"` //门店编码
Longitude string `json:"longitude"` //经度
Latitude string `json:"latitude"` //纬度
Province string `json:"province"` //省份
ProvinceCode string `json:"province_code"` //省份code
City string `json:"city"` //市
District string `json:"district"` //区
Address string `json:"address"` //详细地址
Contact string `json:"contact"` //联系方式
OpenTime shop_batchCreateStore_request.OpenTime `json:"open_time"` //营业时间
PoiAuditID string `json:"poi_audit_id"` //poi审核id
PoiAuditState int `json:"poi_audit_state"` //poi审核子状态1审核中;2绑定成功;3驳回
StoreID int `json:"store_id"` //门店ID
Name string `json:"name"` //门店名称
StoreCode string `json:"store_code"` //门店编码
Longitude string `json:"longitude"` //经度
Latitude string `json:"latitude"` //纬度
Province string `json:"province"` //省份
ProvinceCode string `json:"province_code"` //省份code
City string `json:"city"` //市
District string `json:"district"` //区
Address string `json:"address"` //详细地址
Contact string `json:"contact"` //联系方式
OpenTime OpenTime `json:"open_time"` //营业时间
}
//营业时间
type OpenTime struct {
DayMap map[string]string `json:"day_map"`
Custom string `json:"custom"` //暂时不使用
DayMap map[int]string `json:"day_map"`
Custom string `json:"custom"` //暂时不使用
}
//负责人信息
@@ -121,34 +120,37 @@ type StoreDetail struct {
//批量创建门店
type BatchCreateStoreReq struct {
RowID int `json:"row_id"`
Name string `json:"name"`
StoreCode string `json:"store_code"` //门店编码
Longitude string `json:"longitude"` //经度
Latitude string `json:"latitude"` //纬度
Province string `json:"province"` //省份
City string `json:"city"` //
District string `json:"district"` //
Address string `json:"address"` //详细地址
Contact string `json:"contact"` //联系方式
OpenTime shop_batchCreateStore_request.OpenTime `json:"open_time"` //营业时间
StoreID int `json:"store_id"` //创建成功的门店ID
StoreList []*StoreList `json:"store_list"`
}
type StoreList struct {
RowID int64 `json:"row_id"`
Name string `json:"name"`
StoreCode string `json:"store_code"` //门店编码
Longitude string `json:"longitude"` //经度
Latitude string `json:"latitude"` //纬度
Province string `json:"province"` //省份
City string `json:"city"` //
District string `json:"district"` //
Address string `json:"address"` //详细地址
Contact string `json:"contact"` //联系方式
OpenTime *OpenTime `json:"open_time"` //营业时间
StoreID int64 `json:"store_id"` //创建成功的门店ID
}
//批量创建门店
type EditStoreReq struct {
RowID int `json:"row_id"`
Name string `json:"name"`
StoreCode string `json:"store_code"` //门店编码
Longitude string `json:"longitude"` //经度
Latitude string `json:"latitude"` //纬度
Province string `json:"province"` //省份
City string `json:"city"` //市
District string `json:"district"` //区
Address string `json:"address"` //详细地址
Contact string `json:"contact"` //联系方式
OpenTime shop_editStore_request.OpenTime `json:"open_time"` //营业时间
StoreID int `json:"store_id"` //创建成功的门店ID
RowID int `json:"row_id"`
Name string `json:"name"`
StoreCode string `json:"store_code"` //门店编码
Longitude string `json:"longitude"` //经度
Latitude string `json:"latitude"` //纬度
Province string `json:"province"` //省份
City string `json:"city"` //市
District string `json:"district"` //区
Address string `json:"address"` //详细地址
Contact string `json:"contact"` //联系方式
OpenTime OpenTime `json:"open_time"` //营业时间
StoreID int `json:"store_id"` //创建成功的门店ID
}
//暂停营业
@@ -165,11 +167,26 @@ type UnsuspendStoreReq struct {
//创建限售规则模板
type CreateTradeLimitTemplateReq struct {
StoreID int64 `json:"store_id"` //门店ID
TradeLimitRuleRequestList []*trade_createTradeLimitTemplate_request.TradeLimitRuleRequestList `json:"trade_limit_rule_request_list"` //限购参数
TradeLimitResourceObject trade_createTradeLimitTemplate_request.TradeLimitResourceObject `json:"trade_limit_resource_object"` //限购资源值
TradeLimitPattern trade_createTradeLimitTemplate_request.TradeLimitPattern `json:"trade_limit_pattern"` //限购值,模型为重量则单位为毫克,模型为金额则单位为分
TimePeriod trade_createTradeLimitTemplate_request.TimePeriod `json:"time_period"` //限购时间
StoreID int64 `json:"store_id"` //门店ID
TradeLimitRuleRequestList []*TradeLimitRuleRequestList `json:"trade_limit_rule_request_list"` //限购参数
TradeLimitResourceObject TradeLimitResourceObject `json:"trade_limit_resource_object"` //限购资源值
TradeLimitPattern TradeLimitPattern `json:"trade_limit_pattern"` //限购值,模型为重量则单位为毫克,模型为金额则单位为分
TimePeriod TimePeriod `json:"time_period"` //限购时间
}
type TradeLimitRuleRequestList struct {
TradeLimitModel int32 `json:"trade_limit_model"` //限购模型 1-重量2-数量3-地区4-金额
TradeLimitResource int32 `json:"trade_limit_resource"` //限购资源类别1-抖店2-门店3-商品ID4-sku,5-类目6-活动7-商品标
}
type TradeLimitResourceObject struct {
TradeLimitResourceIDList []string `json:"trade_limit_resource_id_list"` //限购资源值列表
}
type TradeLimitPattern struct {
Minimum int64 `json:"minimum"` //单次下限
Maximum int64 `json:"maximum"` //单次上限
CumulativeMax int64 `json:"cumulative_max"` //累计限购值
}
type TimePeriod struct {
TradeLimitSubjectList []int64 `json:"trade_limit_subject_list"` //限购维度1 // 端用户比如uid=122aid=1128 2 // 用户组用户比如uid=122group=aweme 3 // 设备 4 // 下单电话 5 // 收件电话 6 // 身份证号 7 // 支付账号
}
//门店绑定限售模板
@@ -177,3 +194,21 @@ type BindBindStoreSaleLimitReq struct {
StoreID int64 `json:"store_id"` //门店ID
SaleLimitID int64 `json:"sale_limit_id"` //限售模板ID
}
//创建店铺地址库
type CreateAddressReq struct {
Address *Address `json:"address"` // 地址信息
StoreId int64 `json:"store_id"` // 门店ID新建地址绑定在该门店下非门店场景无需填写
}
type Address struct {
UserName string `json:"user_name"` // 联系人姓名
Mobile string `json:"mobile"` // 手机号码
ProvinceId int64 `json:"province_id"` // 省份ID
CityId int64 `json:"city_id"` // 城市ID
TownId int64 `json:"town_id"` // 区ID
Detail string `json:"detail"` // 详细地址
StreetId int64 `json:"street_id"` // 街道ID
LinkType int32 `json:"link_type"` // 联系方式类型(0-手机,1-普通座机,2-企业座机)
FixedPhone string `json:"fixed_phone"` // 普通座机格式:区号-座机号-分机号(分机号选填)、区号3~4位、座机号7~8位、分机号不超过5位。企业座机400/800开头不超过10位、95开头在5~8we
Remark string `json:"remark"` // 售后备注
}