瀏覽代碼

fix:显示三级分类

zqbao 8 月之前
父節點
當前提交
967789c5c8
共有 2 個文件被更改,包括 41 次插入1 次删除
  1. 19 1
      controllers/chart_permission.go
  2. 22 0
      services/chart_permission.go

+ 19 - 1
controllers/chart_permission.go

@@ -2,6 +2,7 @@ package controllers
 
 import (
 	"eta/eta_mini_bridge/models"
+	"eta/eta_mini_bridge/services"
 	"eta/eta_mini_bridge/utils"
 	"fmt"
 	"sort"
@@ -360,7 +361,24 @@ func (this *ChartPermissionController) ClassifyTree() {
 		br.ErrMsg = "获取类别信息失败,系统错误,Err:" + err.Error()
 		return
 	}
-	classifyList = getClassifyTree(classifyList, parentClassifyList)
+
+	var rootClassifyIds []int
+	for _, v := range parentClassifyList {
+		if v.ParentId != 0 {
+			rootClassifyIds = append(rootClassifyIds, v.ParentId)
+		}
+	}
+
+	rootClassifyIds = utils.Unique(rootClassifyIds)
+	rootClassifyList, err := models.GetClassifyListByIds(rootClassifyIds)
+	if err != nil {
+		br.Msg = "获取分类失败"
+		br.ErrMsg = "获取类别信息失败,系统错误,Err:" + err.Error()
+		return
+	}
+	classifyList = append(classifyList, parentClassifyList...)
+	classifyList = append(classifyList, rootClassifyList...)
+	classifyList = services.GetClassifyTree(classifyList, 0)
 
 	br.Msg = "分类列表获取成功"
 	br.Data = classifyList

+ 22 - 0
services/chart_permission.go

@@ -2,6 +2,7 @@ package services
 
 import (
 	"errors"
+	"eta/eta_mini_bridge/models"
 	"eta/eta_mini_bridge/utils"
 	"strconv"
 )
@@ -30,3 +31,24 @@ func CheckUserPermission(userId int) (status int, err error) {
 	}
 	return
 }
+
+// GetClassifyTree 递归获取分类目录树
+func GetClassifyTree(list []*models.ClassifyView, parentId int) []*models.ClassifyView {
+	res := make([]*models.ClassifyView, 0)
+	for _, v := range list {
+		if v.ParentId == parentId {
+			t := new(models.ClassifyView)
+			t.Id = v.Id
+			t.ClassifyName = v.ClassifyName
+			t.CreateTime = v.CreateTime
+			t.HasChild = v.HasChild
+			t.Level = v.Level
+			t.ModifyTime = v.ModifyTime
+			t.ParentId = v.ParentId
+			t.Sort = v.Sort
+			t.Child = GetClassifyTree(list, v.Id)
+			res = append(res, t)
+		}
+	}
+	return res
+}