zwxi 7 月之前
父節點
當前提交
14c34e6fdc
共有 1 個文件被更改,包括 23 次插入6 次删除
  1. 23 6
      controllers/data_manage/my_chart.go

+ 23 - 6
controllers/data_manage/my_chart.go

@@ -11,6 +11,7 @@ import (
 	"eta/eta_api/utils"
 	"fmt"
 	"github.com/rdlucklib/rdluck_tools/paging"
+	"sort"
 	"strconv"
 	"strings"
 	"time"
@@ -69,15 +70,31 @@ func (this *MyChartController) ChartList() {
 	condition += ` AND source = ? `
 	pars = append(pars, utils.CHART_SOURCE_DEFAULT)
 
+	chartClassifyIds := make([]int, 0)
 	if chartClassifyId > 0 {
-		chartClassifyId, err := data_manage.GetChartClassify(chartClassifyId)
-		if err != nil && err.Error() != utils.ErrNoRow() {
-			br.Msg = "获取图表信息失败"
-			br.ErrMsg = "获取信息失败,GetChartClassify,Err:" + err.Error()
+
+		list, e := data_manage.GetChartClassifyAllBySource(utils.CHART_SOURCE_DEFAULT)
+		if e != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = fmt.Sprintf("获取图表分类失败, Err: %v", e)
 			return
 		}
-		condition += " AND chart_classify_id IN(" + chartClassifyId + ") "
-		//pars = append(pars, chartClassifyId)
+		parents := data.GetChartClassifyParentRecursive(list, chartClassifyId)
+		sort.Slice(parents, func(i, j int) bool {
+			return parents[i].Level < parents[i].Level
+		})
+		for _, v := range parents {
+			chartClassifyIds = append(chartClassifyIds, v.ChartClassifyId)
+		}
+
+		//chartClassifyId, err := data_manage.GetChartClassify(chartClassifyId)
+		//if err != nil && err.Error() != utils.ErrNoRow() {
+		//	br.Msg = "获取图表信息失败"
+		//	br.ErrMsg = "获取信息失败,GetChartClassify,Err:" + err.Error()
+		//	return
+		//}
+		condition += " AND chart_classify_id IN(" + utils.GetOrmInReplace(len(chartClassifyIds)) + ") "
+		pars = append(pars, chartClassifyIds)
 	}
 	if keyWord != "" {
 		condition += ` AND  ( chart_name LIKE '%` + keyWord + `%' OR chart_name_en LIKE '%` + keyWord + `%' )`