美团新apisku销售属性

This commit is contained in:
苏尹岚
2020-06-12 16:18:38 +08:00
parent 4a62418fb5
commit 25dedce4f4
4 changed files with 76 additions and 23 deletions

View File

@@ -182,7 +182,7 @@ type UpdateSkusParamSkus struct {
Capacity string `json:"capacity,omitempty"` //否 20L 容量在有特殊要求的类目下必填最多支持6位小数。
Type string `json:"type"` //"com.jd.pop.ware.ic.api.domain.sku"
Type2 string `json:"@type"`
MultiCateProps []*CreateSkuParamAttrs `json:"multiCateProps"` // 否 无 类目属性列表,类目属性中有必填项时,此字段必填;若未设置或设置错误,会有“通用属性必填”等错误提示!
MultiCateProps []*CreateSkuParamAttrs `json:"multiCateProps,omitempty"` // 否 无 类目属性列表,类目属性中有必填项时,此字段必填;若未设置或设置错误,会有“通用属性必填”等错误提示!
}
//查询商家所有的店内分类

View File

@@ -328,31 +328,17 @@ func TestSearchWare4Valid(t *testing.T) {
func TestUpdateSkus(t *testing.T) {
_, err := api.UpdateSkus(&UpdateSkusParam{
WareID: 14537944716,
WareID: 14600091031,
Skus: []*UpdateSkusParamSkus{
&UpdateSkusParamSkus{
WareID: 14537944716,
JdPrice: 1.5,
StockNum: "99",
OuterID: "11",
WareID: 14600091031,
SkuID: 70357447332,
JdPrice: 7.5,
StockNum: "9999",
SaleAttrs: []*CreateSkuParamAttrs{
&CreateSkuParamAttrs{
AttrID: "1001027602",
AttrValues: []string{"2440977935"},
},
},
Type: "com.jd.pop.ware.ic.api.domain.sku",
Type2: "com.jd.pop.ware.ic.api.domain.Sku",
},
&UpdateSkusParamSkus{
WareID: 14537944716,
JdPrice: 1.8,
StockNum: "99",
OuterID: "123",
SaleAttrs: []*CreateSkuParamAttrs{
&CreateSkuParamAttrs{
AttrID: "1001027602",
AttrValues: []string{"2441761921"},
AttrValues: []string{"2441658643"},
},
},
Type: "com.jd.pop.ware.ic.api.domain.sku",
@@ -436,10 +422,10 @@ func TestTransparentImageAdd(t *testing.T) {
func TestUpdateWareSaleAttrvalueAlias(t *testing.T) {
err := api.UpdateWareSaleAttrvalueAlias(&UpdateWareSaleAttrvalueAliasParam{
WareID: 14566414324,
WareID: 14565234929,
Props: []*CreateSkuParamAttrs2{
&CreateSkuParamAttrs2{
AttrID: "1001038262",
AttrID: "1000021981",
AttrValues: []string{"2453826609"},
AttrValueAlias: []string{"500g 下午易缺货"},
Type: "com.jd.pop.ware.ic.api.domain.prop",

View File

@@ -20,6 +20,10 @@ const (
SellStatusOffline = 1 // 下架
)
const (
MtwmSkuAttr = `[{"attrId":1200000094,"attrName":"产地","valueList":[{"valueId":100000050,"value":"中国"}]},{"attrId":1200000132,"attrName":"国产/进口","valueList":[{"valueId":1300000003,"value":"国产"}]},{"attrId":1200000210,"attrName":"商品类别","valueList":[{"valueId":1300002991,"value":"水果混合切片"}]},{"attrId":1200000275,"attrName":"是否有机","valueList":[{"valueId":1300003874,"value":"无机"}]},{"attrId":1200000286,"attrName":"果品品牌","valueList":[{"valueId":1300003944,"value":"其他品牌"}]}]`
)
var (
retailBatchFailedSkuReg = regexp.MustCompile(`((?:\d+;)+)`)
)
@@ -127,6 +131,21 @@ type Param4UpdateCat struct {
Period string `json:"period,omitempty"`
}
type CategoryAttrListResult struct {
AttrID string `json:"attr_id"`
AttrName string `json:"attr_name"`
AttrValueType string `json:"attr_value_type"`
Need string `json:"need"`
CharacterType string `json:"character_type"`
TextMaxLength string `json:"text_max_length"`
Sequence int `json:"sequence"`
SupportExtend string `json:"support_extend"`
ValueList []struct {
ValueID string `json:"value_id"`
Value string `json:"value"`
} `json:"value_list"`
}
// 美团分类没有ID就以名字为唯一标识不论级别都必须不能重名
// name和originName的长度不能超过10个字符字符不是字节
// 创建一级分类originName为空name为新分类名secondaryName为空
@@ -363,6 +382,38 @@ func (a *API) RetailSkuDelete(trackInfo, poiCode, foodCode, skuID string) (err e
return err
}
//category/attr/list 根据末级类目id获取类目属性列表
//https://open-shangou.meituan.com/home/docDetail/386
func (a *API) CategoryAttrList(tag_id int64) (categoryAttrListResult []*CategoryAttrListResult, err error) {
result, err := a.AccessAPI("gw/category/attr/list", true, map[string]interface{}{
"tag_id": tag_id,
})
if err == nil {
utils.Map2StructByJson(result.(map[string]interface{})["general_attrs"], &categoryAttrListResult, false)
}
return categoryAttrListResult, err
}
type CategoryAttrValueListResult struct {
ValueID string `json:"value_id"`
Value string `json:"value"`
}
//category/attr/value/list 查询特殊属性的属性值列表
//https://open-shangou.meituan.com/home/docDetail/387
func (a *API) CategoryAttrValueList(attr_id int64, keyword string, page_num, page_size int) (categoryAttrValueListResult []*CategoryAttrValueListResult, err error) {
result, err := a.AccessAPI("gw/category/attr/value/list", true, map[string]interface{}{
"attr_id": attr_id,
"keyword": keyword,
"page_num": page_num,
"page_size": page_size,
})
if err == nil {
utils.Map2StructByJson(result, &categoryAttrValueListResult, false)
}
return categoryAttrValueListResult, err
}
// 就是厂商商品类别
func (a *API) RetailGetSpTagIds() (tagIds []*RetailTag, err error) {
result, err := a.AccessAPI("retail/getSpTagIds", true, nil)

View File

@@ -284,3 +284,19 @@ func TestRetailSellStatus(t *testing.T) {
}
t.Log(utils.Format4Output(result, false))
}
func TestCategoryAttrList(t *testing.T) {
result, err := api.CategoryAttrList(200002727)
if err != nil {
t.Fatal(err)
}
t.Log(utils.Format4Output(result, false))
}
func TestCategoryAttrValueList(t *testing.T) {
result, err := api.CategoryAttrValueList(1200000094, "中国", 1, 5)
if err != nil {
t.Fatal(err)
}
t.Log(utils.Format4Output(result, false))
}