Merge branch 'master' of e.coding.net:rosydev/baseapi

This commit is contained in:
邹宗楠
2022-11-04 18:19:23 +08:00
4 changed files with 247 additions and 63 deletions

View File

@@ -0,0 +1,88 @@
package trade_UpdateTradeLimitTemplate_request
import (
"encoding/json"
trade_UpdateTradeLimitTemplate_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/trade_UpdateTradeLimitTemplate/response"
doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core"
)
type TradeUpdateTradeLimitTemplateRequest struct {
doudian_sdk.BaseDoudianOpApiRequest
Param *TradeUpdateTradeLimitTemplateParam
}
func (c *TradeUpdateTradeLimitTemplateRequest) GetUrlPath() string {
return "/trade/UpdateTradeLimitTemplate"
}
func New() *TradeUpdateTradeLimitTemplateRequest {
request := &TradeUpdateTradeLimitTemplateRequest{
Param: &TradeUpdateTradeLimitTemplateParam{},
}
request.SetConfig(doudian_sdk.GlobalConfig)
request.SetClient(doudian_sdk.DefaultDoudianOpApiClient)
return request
}
func (c *TradeUpdateTradeLimitTemplateRequest) Execute(accessToken *doudian_sdk.AccessToken) (*trade_UpdateTradeLimitTemplate_response.TradeUpdateTradeLimitTemplateResponse, error) {
responseJson, err := c.GetClient().Request(c, accessToken)
if err != nil {
return nil, err
}
response := &trade_UpdateTradeLimitTemplate_response.TradeUpdateTradeLimitTemplateResponse{}
_ = json.Unmarshal([]byte(responseJson), response)
return response, nil
}
func (c *TradeUpdateTradeLimitTemplateRequest) GetParamObject() interface{} {
return c.Param
}
func (c *TradeUpdateTradeLimitTemplateRequest) GetParams() *TradeUpdateTradeLimitTemplateParam {
return c.Param
}
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 TimePeriodFixed struct {
// 开始时间
StartTime int64 `json:"start_time"`
// 结束时间
EndTime int64 `json:"end_time"`
}
type TimePeriod struct {
// 限购时间类型
TimePeriodPattern int32 `json:"time_period_pattern"`
// 限购时间滑动窗口
TimePeriodFixed *TimePeriodFixed `json:"time_period_fixed"`
}
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"`
}
type TradeUpdateTradeLimitTemplateParam struct {
// 限购模板ID
TradeLimitTemplateId int64 `json:"trade_limit_template_id"`
// 限购参数
TradeLimitRuleRequestList []TradeLimitRuleRequestListItem `json:"trade_limit_rule_request_list"`
}

View File

@@ -0,0 +1,14 @@
package trade_UpdateTradeLimitTemplate_response
import (
doudian_sdk "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/core"
)
type TradeUpdateTradeLimitTemplateResponse struct {
doudian_sdk.BaseDoudianOpApiResponse
Data *TradeUpdateTradeLimitTemplateData `json:"data"`
}
type TradeUpdateTradeLimitTemplateData struct {
// 限购模板ID
TradeLimitTemplateId int64 `json:"trade_limit_template_id"`
}

View File

@@ -31,6 +31,8 @@ import (
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_UpdateTradeLimitTemplate_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/trade_UpdateTradeLimitTemplate/request"
trade_UpdateTradeLimitTemplate_response "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/trade_UpdateTradeLimitTemplate/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"
warehouse_bindFences_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/warehouse_bindFences/request"
@@ -172,6 +174,23 @@ func (a *API) CreateTradeLimitTemplate(param *trade_createTradeLimitTemplate_req
return response.Data, nil
}
//更新限售模板
func (a *API) UpdateTradeLimitTemplate(param *trade_UpdateTradeLimitTemplate_request.TradeUpdateTradeLimitTemplateParam) (*trade_UpdateTradeLimitTemplate_response.TradeUpdateTradeLimitTemplateData, error) {
request := trade_UpdateTradeLimitTemplate_request.New()
request.Param = param
response, err := request.Execute(a.accessTokenObj)
globals.SugarLogger.Debugf("更新限售规则模板=========:%s", request.GetUrlPath())
globals.SugarLogger.Debugf("更新限售规则模板:=%s", utils.Format4Output(response, false))
globals.SugarLogger.Debugf("打印限售规则参数 检查====%v", utils.Format4Output(request.Param, false))
if err != nil {
return nil, err
}
if response.Code != RequestSuccessCode {
return nil, errors.New(response.SubMsg)
}
return response.Data, nil
}
//门店绑定限售模板
func (a *API) BindStoreSaleLimit(param *shop_bindStoreSaleLimit_request.ShopBindStoreSaleLimitParam) error {
request := shop_bindStoreSaleLimit_request.New()
@@ -230,13 +249,14 @@ func (a *API) FreightTemplateUpdate(param *freightTemplate_update_request.Freigh
response, err := request.Execute(a.accessTokenObj)
globals.SugarLogger.Debugf("更新运费模板=========:%s", request.GetUrlPath())
globals.SugarLogger.Debugf("更新运费模板:=%s", utils.Format4Output(response, false))
globals.SugarLogger.Debugf("打印param 检查======%v", utils.Format4Output(request.Param, false))
if err != nil {
return nil, err
}
if response.Code != RequestSuccessCode {
return nil, errors.New(response.Msg + "," + response.SubMsg)
}
return response.Data, nil
return nil, nil
}
// 门店绑定运费模板 1对1

View File

@@ -3,7 +3,9 @@ package tiktok_api
import (
"fmt"
freightTemplate_create_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_create/request"
freightTemplate_update_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_update/request"
shop_batchCreateStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_batchCreateStore/request"
shop_bindStoreSaleLimit_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_bindStoreSaleLimit/request"
shop_editStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_editStore/request"
shop_storeSuspend_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_storeSuspend/request"
shop_unsuspendStore_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/shop_unsuspendStore/request"
@@ -21,6 +23,7 @@ import (
"time"
)
//创建店铺
func TestCreateStore(t *testing.T) {
accesstoken := `{"access_token":"c4afc5bc-7ddf-4244-b35a-0c393f3dca32","expires_in":1666862533,"scope":"SCOPE","shop_id":"57939570","shop_name":"京西菜市速食","refresh_token":"5a4f9dfe-306b-4bca-8b35-2ae9afc0245e","authority_id":""}`
a := New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", accesstoken)
@@ -103,50 +106,6 @@ func TestAPI_CreateTradeLimitTemplate(t *testing.T) {
a.FreightTemplateCreate(tempDetail)
}
// 批量创建区域仓
func TestCreateWarehouse(t *testing.T) {
token := `{"access_token":"a1746210-a8a3-4497-a87b-09d1f10dbb95","expires_in":1665652230,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接专用店","refresh_token":"c1cf8d88-0983-4f2a-b969-3746fae6b0cd","authority_id":""}`
a := New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", token)
data, err := a.BatchCreateWarehouse(&warehouse_createBatch_request.WarehouseCreateBatchParam{
OutWarehouseList: []warehouse_createBatch_request.OutWarehouseListItem{
{
OutWarehouseId: "666668",
Name: "V派区域仓",
Intro: "VV派区域仓,仓库id为京西门店id",
AddressDetail: "四川省成都市金牛区万科加州湾V派",
WarehouseLocation: &warehouse_createBatch_request.WarehouseLocation{
AddressId1: 51,
AddressId2: 510100,
AddressId3: 510106,
AddressId4: 0,
},
},
}})
fmt.Println(data)
fmt.Println(err)
}
// 仓库绑定门店
func TestBindWarehouseToStore(t *testing.T) {
token := `{"access_token":"a1746210-a8a3-4497-a87b-09d1f10dbb95","expires_in":1665652230,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接专用店","refresh_token":"c1cf8d88-0983-4f2a-b969-3746fae6b0cd","authority_id":""}`
a := New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", token)
data, err := a.StoreBindWarehouse(&warehouse_bindStore_request.WarehouseBindStoreParam{
StoreIds: []int64{65312663},
OutWarehouseId: "668510",
})
fmt.Println(data)
fmt.Println(err)
}
// 仓库解绑门店
func TestUnBindd(t *testing.T) {
token := `{"access_token":"a1746210-a8a3-4497-a87b-09d1f10dbb95","expires_in":1665652230,"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.WarehouseUnbindStore([]int64{63114504}, "666667")
}
//创建电子围栏
func TestCreateFence(t *testing.T) {
token := `{"access_token":"a1746210-a8a3-4497-a87b-09d1f10dbb95","expires_in":1665652230,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接专用店","refresh_token":"c1cf8d88-0983-4f2a-b969-3746fae6b0cd","authority_id":""}`
@@ -256,25 +215,8 @@ func TestUpdateStore(t *testing.T) {
err := a.EditStore(param)
fmt.Println(err)
}
func TestGetStoreBindFreight(t *testing.T) {
var token = `{"access_token":"d590b649-0dd9-4988-a5e2-bf7e06e2f105","expires_in":1667808519,"scope":"SCOPE","shop_id":57939570,"shop_name":"京西菜市速食","refresh_token":"f57c6a55-af5f-45ca-8ade-b2282be86341","authority_id":""}`
var a2 = New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", token)
resp, err := a2.GetStoreFreight(64251634)
fmt.Println(resp)
fmt.Println(err)
}
func TestStoreUpdateFence(t *testing.T) {
tempStr := strings.Split("104.111331,30.67964544419017;104.13348225189759,30.671752134736078;104.14265760085712,30.652696;104.13348225189759,30.63363986526392;104.111331,30.625746555809826;104.08917974810242,30.63363986526392;104.0800043991429,30.652696;104.08917974810242,30.671752134736078", ";")
//fmt.Printf("%d", len(tempStr))
for v := len(tempStr) - 1; v >= 0; v-- {
s2 := strings.Split(tempStr[v], ",")
Longitude := utils.Str2Float64(s2[0])
Latitude := utils.Str2Float64(s2[1])
fmt.Printf("%f,%f\n", Longitude, Latitude)
}
}
//获取门店绑定仓库
func TestGetWarehouseByStore(t *testing.T) {
accesstoken := `{"access_token":"d590b649-0dd9-4988-a5e2-bf7e06e2f105","expires_in":1667808519,"scope":"SCOPE","shop_id":57939570,"shop_name":"京西菜市速食","refresh_token":"f57c6a55-af5f-45ca-8ade-b2282be86341","authority_id":""}`
a := New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", accesstoken)
@@ -288,11 +230,14 @@ func TestUtilsTime2Date(t *testing.T) {
fmt.Println(time.Now().Day())
}
//设置门店打包费
func TestSetStorePackageFee(t *testing.T) {
err := a.SetStorePackageFee(62490423, 5) //单位 分
fmt.Println(err)
}
//限售模板
//创建起送价限售模板
func TestCreateMinPriceTemplate(t *testing.T) {
param := &trade_createTradeLimitTemplate_request.TradeCreateTradeLimitTemplateParam{
StoreId: 62490423,
@@ -310,3 +255,120 @@ func TestCreateMinPriceTemplate(t *testing.T) {
fmt.Println(templateID)
fmt.Println(err)
}
//门店绑定限售模板
func TestStoreBindSaleTemplate(t *testing.T) {
param := &shop_bindStoreSaleLimit_request.ShopBindStoreSaleLimitParam{
StoreId: 62490423,
SaleLimitId: 7161729424591700237,
}
err := a.BindStoreSaleLimit(param)
fmt.Println(err)
}
//获取门店限售模板
func TestGetStoreSaleLimit(t *testing.T) {
SaleLimitID, err := a.StoreQuerySaleLimitTemp(62490423)
fmt.Println(SaleLimitID)
fmt.Println(err)
}
//电子围栏
//创建电子围栏
//更新电子围栏
func TestSplitFence(t *testing.T) {
tempStr := strings.Split("104.111331,30.67964544419017;104.13348225189759,30.671752134736078;104.14265760085712,30.652696;104.13348225189759,30.63363986526392;104.111331,30.625746555809826;104.08917974810242,30.63363986526392;104.0800043991429,30.652696;104.08917974810242,30.671752134736078", ";")
//fmt.Printf("%d", len(tempStr))
for v := len(tempStr) - 1; v >= 0; v-- {
s2 := strings.Split(tempStr[v], ",")
Longitude := utils.Str2Float64(s2[0])
Latitude := utils.Str2Float64(s2[1])
fmt.Printf("%f,%f\n", Longitude, Latitude)
}
}
//运费模板
//创建运费模板
//更新运费模板
func TestUpdateFreightTemplate(t *testing.T) {
param := &freightTemplate_update_request.FreightTemplateUpdateParam{
Template: &freightTemplate_update_request.Template{
Id: 11332268,
TemplateName: "京西菜市(盐田一店)_668619的运费模板",
ProductProvince: 44,
ProductCity: 440300,
CalculateType: 2, //计价方式-1.按重量 2.按数量
TransferType: 1,
RuleType: 1, //固定运费
FixedAmount: 500, //固定运费 单位:分
},
Columns: []freightTemplate_update_request.ColumnsItem{{
//RuleAddress: "{\"440000\":{\"440300\":{\"440306\":[0]}}}",
IsOverFree: true, //是否包邮
IsDefault: 0,
IsLimited: false,
OverAmount: 9900, //此字段在vendor_id=14时 存储满x包邮金额
}},
}
templateID, err := a.FreightTemplateUpdate(param)
fmt.Println(templateID)
fmt.Println(err)
}
//获取门店运费模板
func TestGetStoreBindFreight(t *testing.T) {
var token = `{"access_token":"d590b649-0dd9-4988-a5e2-bf7e06e2f105","expires_in":1667808519,"scope":"SCOPE","shop_id":57939570,"shop_name":"京西菜市速食","refresh_token":"f57c6a55-af5f-45ca-8ade-b2282be86341","authority_id":""}`
var a2 = New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", token)
resp, err := a2.GetStoreFreight(64251634)
fmt.Println(resp)
fmt.Println(err)
}
//仓库
//创建单个仓库
// 批量创建区域仓
func TestCreateWarehouse(t *testing.T) {
token := `{"access_token":"a1746210-a8a3-4497-a87b-09d1f10dbb95","expires_in":1665652230,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接专用店","refresh_token":"c1cf8d88-0983-4f2a-b969-3746fae6b0cd","authority_id":""}`
a := New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", token)
data, err := a.BatchCreateWarehouse(&warehouse_createBatch_request.WarehouseCreateBatchParam{
OutWarehouseList: []warehouse_createBatch_request.OutWarehouseListItem{
{
OutWarehouseId: "666668",
Name: "V派区域仓",
Intro: "VV派区域仓,仓库id为京西门店id",
AddressDetail: "四川省成都市金牛区万科加州湾V派",
WarehouseLocation: &warehouse_createBatch_request.WarehouseLocation{
AddressId1: 51,
AddressId2: 510100,
AddressId3: 510106,
AddressId4: 0,
},
},
}})
fmt.Println(data)
fmt.Println(err)
}
// 仓库绑定门店
func TestBindWarehouseToStore(t *testing.T) {
token := `{"access_token":"a1746210-a8a3-4497-a87b-09d1f10dbb95","expires_in":1665652230,"scope":"SCOPE","shop_id":"","shop_name":"小时达开放平台对接专用店","refresh_token":"c1cf8d88-0983-4f2a-b969-3746fae6b0cd","authority_id":""}`
a := New("7136048270014416392", "c397aa9f-3927-47c4-8cfe-4d84e02602e0", token)
data, err := a.StoreBindWarehouse(&warehouse_bindStore_request.WarehouseBindStoreParam{
StoreIds: []int64{65312663},
OutWarehouseId: "668510",
})
fmt.Println(data)
fmt.Println(err)
}
// 仓库解绑门店
func TestUnBind(t *testing.T) {
token := `{"access_token":"a1746210-a8a3-4497-a87b-09d1f10dbb95","expires_in":1665652230,"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.WarehouseUnbindStore([]int64{63114504}, "666667")
}