+ IMultipleStoresHandler.GetAllCategories
This commit is contained in:
@@ -158,7 +158,7 @@ type IPurchasePlatformHandler interface {
|
|||||||
// db *dao.DaoDB,
|
// db *dao.DaoDB,
|
||||||
type IMultipleStoresHandler interface {
|
type IMultipleStoresHandler interface {
|
||||||
IPurchasePlatformHandler
|
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)
|
CreateCategory(db *dao.DaoDB, cat *model.SkuCategory, userName string) (err error)
|
||||||
UpdateCategory(db *dao.DaoDB, cat *model.SkuCategory, userName string) error
|
UpdateCategory(db *dao.DaoDB, cat *model.SkuCategory, userName string) error
|
||||||
|
|||||||
11
business/partner/purchase/jd/jd_test.go
Normal file
11
business/partner/purchase/jd/jd_test.go
Normal 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()
|
||||||
|
}
|
||||||
@@ -10,13 +10,8 @@ import (
|
|||||||
_ "git.rosy.net.cn/jx-callback/business/jxcallback/orderman"
|
_ "git.rosy.net.cn/jx-callback/business/jxcallback/orderman"
|
||||||
"git.rosy.net.cn/jx-callback/business/model"
|
"git.rosy.net.cn/jx-callback/business/model"
|
||||||
"git.rosy.net.cn/jx-callback/business/partner"
|
"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) {
|
func TestSwitch2SelfDeliver(t *testing.T) {
|
||||||
orderID := "817540316000041"
|
orderID := "817540316000041"
|
||||||
if order, err := partner.CurOrderManager.LoadOrder(orderID, model.VendorIDJD); err == nil {
|
if order, err := partner.CurOrderManager.LoadOrder(orderID, model.VendorIDJD); err == nil {
|
||||||
|
|||||||
@@ -68,22 +68,44 @@ func (p *PurchaseHandler) CreateCategory(db *dao.DaoDB, cat *model.SkuCategory,
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *PurchaseHandler) ReadCategories() (cats []*model.SkuCategory, err error) {
|
func jdCat2Jx(jdCat *jdapi.CategoryInfo) (jxCat *partner.BareCategoryInfo) {
|
||||||
result, err := getAPI("").QueryCategoriesByOrgCode()
|
return &partner.BareCategoryInfo{
|
||||||
if err == nil {
|
VendorCatID: utils.Int64ToStr(jdCat.Id),
|
||||||
cats = make([]*model.SkuCategory, len(result))
|
Level: jdCat.Level,
|
||||||
for k, v := range result {
|
Name: jdCat.Name,
|
||||||
cats[k] = &model.SkuCategory{
|
Seq: jdCat.Sort,
|
||||||
ParentID: int(v.ParentId), // 这里是暂存,传递数据用,正确的值应该是本地的ID
|
|
||||||
Name: v.Name,
|
|
||||||
Level: int8(v.Level),
|
|
||||||
Seq: v.Sort,
|
|
||||||
JdID: v.Id,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return cats, nil
|
|
||||||
}
|
}
|
||||||
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 {
|
func (p *PurchaseHandler) UpdateCategory(db *dao.DaoDB, cat *model.SkuCategory, userName string) error {
|
||||||
|
|||||||
@@ -37,12 +37,12 @@ func TestUpdateSku(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestReadCategories(t *testing.T) {
|
func TestGetAllCategories(t *testing.T) {
|
||||||
result, err := curPurchaseHandler.ReadCategories()
|
result, err := curPurchaseHandler.GetAllCategories(jxcontext.AdminCtx, "")
|
||||||
if err != nil || len(result) == 0 {
|
if err != nil || len(result) == 0 {
|
||||||
t.Fatal(err.Error())
|
t.Fatal(err.Error())
|
||||||
}
|
}
|
||||||
t.Log(result[0])
|
t.Log(utils.Format4Output(result, false))
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestReadSku(t *testing.T) {
|
func TestReadSku(t *testing.T) {
|
||||||
|
|||||||
Reference in New Issue
Block a user