Bladeren bron

沙盘分类

zwxi 5 maanden geleden
bovenliggende
commit
991cf26bbe
3 gewijzigde bestanden met toevoegingen van 31 en 6 verwijderingen
  1. 15 6
      controllers/sandbox/sandbox.go
  2. 9 0
      models/sandbox/sandbox_classify.go
  3. 7 0
      services/sandbox/sandbox.go

+ 15 - 6
controllers/sandbox/sandbox.go

@@ -1738,15 +1738,24 @@ func (this *SandboxController) ListV2() {
 		return
 	}
 
+	classifyList, err := sandbox.GetAllSandboxClassify()
+	if err != nil && !utils.IsErrNoRow(err) {
+		br.Msg = "获取分类信息失败"
+		br.ErrMsg = "获取分类信息失败,Err:" + err.Error()
+		return
+	}
+	classsifyMap := make(map[int]*sandbox.SandboxClassifyItems)
+	for _, v := range classifyList {
+		classsifyMap[v.SandboxClassifyId] = v
+	}
+
 	for i, v := range list {
-		ids, err := sandbox.GetSandboxAllParentByClassifyId(v.SandboxClassifyId)
-		if err != nil {
-			br.Msg = "获取父级信息错误!"
-			br.ErrMsg = "获取父级信息错误,Err:" + err.Error()
-			return
-		}
+		parentIds := make([]int, 0)
+		sandboxService.GetSandBoxParentIds(v.SandboxClassifyId, classsifyMap, parentIds)
+		ids := utils.IntArr2joinString(parentIds,",")
 		list[i].ParentIds = ids
 	}
+
 	resp := new(sandbox.SandboxListResp)
 	if list == nil || len(list) <= 0 || (err != nil && utils.IsErrNoRow(err)) {
 		items := make([]*sandbox.SandboxListItems, 0)

+ 9 - 0
models/sandbox/sandbox_classify.go

@@ -330,3 +330,12 @@ func UpdateSandboxClassifyChartPermissionById(ChartPermissionId int, ChartPermis
 	err = global.DmSQL["data"].Exec(sql, ChartPermissionId, ChartPermissionName).Error
 	return
 }
+
+// GetAllSandboxClassify
+func GetAllSandboxClassify() (items []*SandboxClassifyItems, err error) {
+	//o := orm.NewOrmUsingDB("data")
+	sql := ` SELECT * FROM sandbox_classify `
+	//_, err = o.Raw(sql).QueryRows(&items)
+	err = global.DmSQL["data"].Raw(sql).Find(&items).Error
+	return
+}

+ 7 - 0
services/sandbox/sandbox.go

@@ -958,3 +958,10 @@ func ReplaceEdbInSandbox(oldEdbInfoId, newEdbInfoId int) (err error) {
 
 	return
 }
+
+func GetSandBoxParentIds(classifyId int, classifymap map[int]*sandbox.SandboxClassifyItems, parentIds []int) {
+	if item, ok := classifymap[classifyId]; ok {
+		parentIds = append(parentIds, item.ParentId)
+		GetSandBoxParentIds(item.ParentId, classifymap, parentIds)
+	}
+}