+ IMultipleStoresHandler.GetAllCategories

This commit is contained in:
gazebo
2019-08-28 15:36:51 +08:00
parent cf4202a41b
commit 538b3162a2
5 changed files with 52 additions and 24 deletions

View File

@@ -158,7 +158,7 @@ type IPurchasePlatformHandler interface {
// db *dao.DaoDB,
type IMultipleStoresHandler interface {
IPurchasePlatformHandler
ReadCategories() (cats []*model.SkuCategory, err error)
GetAllCategories(ctx *jxcontext.Context, vendorOrgCode string) (cats []*BareCategoryInfo, err error)
CreateCategory(db *dao.DaoDB, cat *model.SkuCategory, userName string) (err error)
UpdateCategory(db *dao.DaoDB, cat *model.SkuCategory, userName string) error

View File

@@ -0,0 +1,11 @@
package jd
import (
_ "git.rosy.net.cn/jx-callback/globals/api/apimanager"
"git.rosy.net.cn/jx-callback/globals/testinit"
)
func init() {
testinit.Init()
}

View File

@@ -10,13 +10,8 @@ import (
_ "git.rosy.net.cn/jx-callback/business/jxcallback/orderman"
"git.rosy.net.cn/jx-callback/business/model"
"git.rosy.net.cn/jx-callback/business/partner"
"git.rosy.net.cn/jx-callback/globals/testinit"
)
func init() {
testinit.Init()
}
func TestSwitch2SelfDeliver(t *testing.T) {
orderID := "817540316000041"
if order, err := partner.CurOrderManager.LoadOrder(orderID, model.VendorIDJD); err == nil {

View File

@@ -68,22 +68,44 @@ func (p *PurchaseHandler) CreateCategory(db *dao.DaoDB, cat *model.SkuCategory,
return err
}
func (p *PurchaseHandler) ReadCategories() (cats []*model.SkuCategory, err error) {
result, err := getAPI("").QueryCategoriesByOrgCode()
if err == nil {
cats = make([]*model.SkuCategory, len(result))
for k, v := range result {
cats[k] = &model.SkuCategory{
ParentID: int(v.ParentId), // 这里是暂存传递数据用正确的值应该是本地的ID
Name: v.Name,
Level: int8(v.Level),
Seq: v.Sort,
JdID: v.Id,
}
}
return cats, nil
func jdCat2Jx(jdCat *jdapi.CategoryInfo) (jxCat *partner.BareCategoryInfo) {
return &partner.BareCategoryInfo{
VendorCatID: utils.Int64ToStr(jdCat.Id),
Level: jdCat.Level,
Name: jdCat.Name,
Seq: jdCat.Sort,
}
return nil, err
}
func (p *PurchaseHandler) GetAllCategories(ctx *jxcontext.Context, vendorOrgCode string) (cats []*partner.BareCategoryInfo, err error) {
result, err := getAPI(vendorOrgCode).QueryCategoriesByOrgCode()
if err == nil {
catMap := make(map[int64]*partner.BareCategoryInfo)
level := 1
for {
processedCount := 0
for _, jdCat := range result {
if jdCat.Level == level {
processedCount++
jxCat := jdCat2Jx(jdCat)
if level == 1 {
cats = append(cats, jxCat)
} else {
parentCat := catMap[jdCat.ParentId]
if parentCat != nil {
parentCat.Children = append(parentCat.Children, jxCat)
}
}
catMap[jdCat.Id] = jxCat
}
}
if processedCount == 0 {
break
}
level++
}
}
return cats, err
}
func (p *PurchaseHandler) UpdateCategory(db *dao.DaoDB, cat *model.SkuCategory, userName string) error {

View File

@@ -37,12 +37,12 @@ func TestUpdateSku(t *testing.T) {
}
}
func TestReadCategories(t *testing.T) {
result, err := curPurchaseHandler.ReadCategories()
func TestGetAllCategories(t *testing.T) {
result, err := curPurchaseHandler.GetAllCategories(jxcontext.AdminCtx, "")
if err != nil || len(result) == 0 {
t.Fatal(err.Error())
}
t.Log(result[0])
t.Log(utils.Format4Output(result, false))
}
func TestReadSku(t *testing.T) {