|
@@ -10,10 +10,12 @@ import (
|
|
|
"eta/eta_mobile/services/data/data_manage_permission"
|
|
|
"eta/eta_mobile/utils"
|
|
|
"fmt"
|
|
|
- "github.com/rdlucklib/rdluck_tools/paging"
|
|
|
+ "sort"
|
|
|
"strconv"
|
|
|
"strings"
|
|
|
"time"
|
|
|
+
|
|
|
+ "github.com/rdlucklib/rdluck_tools/paging"
|
|
|
)
|
|
|
|
|
|
// 我的图库
|
|
@@ -49,7 +51,7 @@ func (this *MyChartController) ChartList() {
|
|
|
pageSize, _ := this.GetInt("PageSize")
|
|
|
currentIndex, _ := this.GetInt("CurrentIndex")
|
|
|
keyWord := this.GetString("KeyWord")
|
|
|
-
|
|
|
+
|
|
|
var total int
|
|
|
page := paging.GetPaging(currentIndex, pageSize, total)
|
|
|
|
|
@@ -64,20 +66,38 @@ func (this *MyChartController) ChartList() {
|
|
|
|
|
|
var condition string
|
|
|
var pars []interface{}
|
|
|
-
|
|
|
+ // 是否显示精选资源
|
|
|
+ isSelected, _ := this.GetInt("IsSelected")
|
|
|
// 普通图表
|
|
|
condition += ` AND source = ? `
|
|
|
pars = append(pars, utils.CHART_SOURCE_DEFAULT)
|
|
|
-
|
|
|
+ chartClassifyIds := make([]int, 0)
|
|
|
+ var classifyList []*data_manage.ChartClassifyItems
|
|
|
+ var err error
|
|
|
+
|
|
|
+ classifyList, err = data_manage.GetChartClassifyAllBySourceIsSelected(utils.CHART_SOURCE_DEFAULT, isSelected)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = fmt.Sprintf("获取图表分类失败, Err: %v", err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
if chartClassifyId > 0 {
|
|
|
- chartClassifyId, err := data_manage.GetChartClassify(chartClassifyId)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
- br.Msg = "获取图表信息失败"
|
|
|
- br.ErrMsg = "获取信息失败,GetChartClassify,Err:" + err.Error()
|
|
|
- return
|
|
|
+ parents := data.GetChartClassifyChildrenRecursive(classifyList, 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)
|
|
|
+ }
|
|
|
+ condition += " AND chart_classify_id IN (" + utils.GetOrmInReplace(len(chartClassifyIds)) + ") "
|
|
|
+ pars = append(pars, chartClassifyIds)
|
|
|
+ } else if isSelected >= 0 {
|
|
|
+ for _, v := range classifyList {
|
|
|
+ chartClassifyIds = append(chartClassifyIds, v.ChartClassifyId)
|
|
|
}
|
|
|
- condition += " AND chart_classify_id IN(" + chartClassifyId + ") "
|
|
|
- //pars = append(pars, chartClassifyId)
|
|
|
+ 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 + `%' )`
|