- InitVendorCategory可对三个主流平台进行操作

This commit is contained in:
gazebo
2019-04-23 17:40:44 +08:00
parent f860307530
commit a857d40442
11 changed files with 130 additions and 13 deletions

View File

@@ -515,3 +515,42 @@ func jxStatus2jdStatus(jxStatus int) (jdStatus int) {
}
return jdStatus
}
func (p *PurchaseHandler) getVendorCategories(level int, pid int64) (vendorCats []*model.SkuVendorCategory, err error) {
cats, err := api.JdAPI.QueryChildCategoriesForOP(pid)
if err != nil {
return nil, err
}
for _, v := range cats {
if v.Status == 1 {
cat := &model.SkuVendorCategory{
VendorID: model.VendorIDJD,
Name: v.Name,
Level: level,
VendorCategoryID: utils.Int64ToStr(v.Id),
}
cat.LastOperator = "builder"
if level > 1 {
cat.ParentID = utils.Int64ToStr(v.ParentId)
if level == 3 {
cat.IsLeaf = 1
}
}
vendorCats = append(vendorCats, cat)
if level < 3 {
childVendorCats, err2 := p.getVendorCategories(level+1, v.Id)
if err2 == nil && len(childVendorCats) > 0 {
vendorCats = append(vendorCats, childVendorCats...)
} else {
cat.IsLeaf = 1
}
}
}
}
return vendorCats, nil
}
func (p *PurchaseHandler) GetVendorCategories(ctx *jxcontext.Context) (vendorCats []*model.SkuVendorCategory, err error) {
vendorCats, err = p.getVendorCategories(1, 0)
return vendorCats, err
}