|
|
@@ -38,7 +38,7 @@ type WRCategoryTree struct {
|
|
|
Orderindex int32 `json:"orderindex" xorm:"'ORDERINDEX'"` // 顺序
|
|
|
Areauserid int64 `json:"areauserid" xorm:"'AREAUSERID'"` // 所属机构
|
|
|
|
|
|
- SubCategory []WRCategoryTree // 子分类
|
|
|
+ SubCategory []WRCategoryTree `json:"subcategory" xorm:"-"` // 子分类
|
|
|
}
|
|
|
|
|
|
// CreateCategoryTree 生成现货分类信息
|
|
|
@@ -46,17 +46,22 @@ func CreateCategoryTree(parentCategoryID int) ([]WRCategoryTree, error) {
|
|
|
engine := db.GetEngine()
|
|
|
|
|
|
wrCategoryTrees := make([]WRCategoryTree, 0)
|
|
|
- if err := engine.Table("WRCATEGORY WR").
|
|
|
- Where("WR.PARENTCATEGORYID = ?", parentCategoryID).
|
|
|
- Asc("WR.ORDERINDEX").
|
|
|
- Find(&wrCategoryTrees); err != nil {
|
|
|
+ session := engine.Table("WRCATEGORY WR")
|
|
|
+ if parentCategoryID != 0 {
|
|
|
+ session = session.Where("WR.PARENTCATEGORYID = ?", parentCategoryID)
|
|
|
+ } else {
|
|
|
+ session = session.Where("WR.PARENTCATEGORYID is null")
|
|
|
+ }
|
|
|
+ session = session.Asc("WR.ORDERINDEX")
|
|
|
+ if err := session.Find(&wrCategoryTrees); err != nil {
|
|
|
return nil, err
|
|
|
}
|
|
|
+
|
|
|
for i := range wrCategoryTrees {
|
|
|
category := &wrCategoryTrees[i]
|
|
|
|
|
|
// 递归生成子分类
|
|
|
- subs, err := CreateCategoryTree(int(category.Parentcategoryid))
|
|
|
+ subs, err := CreateCategoryTree(int(category.Categoryid))
|
|
|
if err != nil {
|
|
|
return nil, err
|
|
|
}
|