diff --git a/platformapi/tiktok_shop/sdk-golang/api/trade_UpdateTradeLimitTemplate/request/trade_UpdateTradeLimitTemplate_request.go b/platformapi/tiktok_shop/sdk-golang/api/trade_UpdateTradeLimitTemplate/request/trade_UpdateTradeLimitTemplate_request.go new file mode 100644 index 00000000..eca1df42 --- /dev/null +++ b/platformapi/tiktok_shop/sdk-golang/api/trade_UpdateTradeLimitTemplate/request/trade_UpdateTradeLimitTemplate_request.go @@ -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-商品ID,4-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"` +} diff --git a/platformapi/tiktok_shop/sdk-golang/api/trade_UpdateTradeLimitTemplate/response/trade_UpdateTradeLimitTemplate_response.go b/platformapi/tiktok_shop/sdk-golang/api/trade_UpdateTradeLimitTemplate/response/trade_UpdateTradeLimitTemplate_response.go new file mode 100644 index 00000000..5a9788a5 --- /dev/null +++ b/platformapi/tiktok_shop/sdk-golang/api/trade_UpdateTradeLimitTemplate/response/trade_UpdateTradeLimitTemplate_response.go @@ -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"` +} diff --git a/platformapi/tiktok_shop/tiktok_api/store.go b/platformapi/tiktok_shop/tiktok_api/store.go index f19b6a5a..f2d7afd3 100644 --- a/platformapi/tiktok_shop/tiktok_api/store.go +++ b/platformapi/tiktok_shop/tiktok_api/store.go @@ -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,22 @@ 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)) + 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() diff --git a/platformapi/tiktok_shop/tiktok_api/store_test.go b/platformapi/tiktok_shop/tiktok_api/store_test.go index e60781f4..936b05e6 100644 --- a/platformapi/tiktok_shop/tiktok_api/store_test.go +++ b/platformapi/tiktok_shop/tiktok_api/store_test.go @@ -4,6 +4,7 @@ import ( "fmt" freightTemplate_create_request "git.rosy.net.cn/baseapi/platformapi/tiktok_shop/sdk-golang/api/freightTemplate_create/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" @@ -310,3 +311,16 @@ 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) +}