Sfoglia il codice sorgente

英文研报分类列表

xyxie 1 anno fa
parent
commit
7b5a13a527
2 ha cambiato i file con 37 aggiunte e 83 eliminazioni
  1. 16 48
      controllers/english_report/english_classify.go
  2. 21 35
      models/english_report.go

+ 16 - 48
controllers/english_report/english_classify.go

@@ -8,7 +8,6 @@ import (
 	"eta/eta_api/services"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/rdlucklib/rdluck_tools/paging"
 	"sort"
 	"time"
 )
@@ -33,46 +32,24 @@ func (this *EnglishReportController) ListClassify() {
 		this.Data["json"] = br
 		this.ServeJSON()
 	}()
-	pageSize, _ := this.GetInt("PageSize")
-	currentIndex, _ := this.GetInt("CurrentIndex")
-	keyWord := this.GetString("KeyWord")
 
-	var startSize int
-	if pageSize <= 0 {
-		pageSize = utils.PageSize20
-	}
-	if currentIndex <= 0 {
-		currentIndex = 1
+	keyWord := this.GetString("KeyWord")
+	reqEnabled, _ := this.GetInt("Enabled", -1)
+	enabled := -1
+	if reqEnabled == 1 {
+		enabled = reqEnabled
 	}
-
-	startSize = utils.StartIndex(currentIndex, pageSize)
-
-	page := paging.GetPaging(currentIndex, pageSize, 0)
 	resp := new(models.EnglishClassifyListResp)
 
 	// 处理一级分类分页的情况
-	rootList, err := models.GetEnglishClassifyRootId(startSize, pageSize, keyWord)
-	if err != nil {
-		br.Msg = "获取失败"
-		br.ErrMsg = "获取失败,Err:" + err.Error()
-		return
-	}
-	var ids []int
-	var rootIds []int
-	rootMap := make(map[int]struct{}, 0)
-	for _, v := range rootList {
-		rootIds = append(rootIds, v.Id)
-		rootMap[v.Id] = struct{}{}
-	}
-	total, err := models.GetEnglishClassifyListCount(keyWord)
+	rootList, err := models.GetEnglishClassifyRootId(keyWord, enabled)
 	if err != nil {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取失败,Err:" + err.Error()
 		return
 	}
-	if total == 0 {
+	if len(rootList) == 0 {
 		resp.List = make([]*models.EnglishClassifyList, 0)
-		resp.Paging = page
 
 		br.Data = resp
 		br.Ret = 200
@@ -80,10 +57,16 @@ func (this *EnglishReportController) ListClassify() {
 		br.Msg = "获取成功"
 		return
 	}
-	page = paging.GetPaging(currentIndex, pageSize, total)
+	var ids []int
+	var rootIds []int
+	rootMap := make(map[int]struct{}, 0)
+	for _, v := range rootList {
+		rootIds = append(rootIds, v.Id)
+		rootMap[v.Id] = struct{}{}
+	}
 
 	//获取相关的分类ID
-	idList, err := models.GetEnglishClassifyListByRootId(rootIds, keyWord)
+	idList, err := models.GetEnglishClassifyListByRootId(rootIds, keyWord, enabled)
 	if err != nil {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取失败,Err:" + err.Error()
@@ -177,7 +160,6 @@ func (this *EnglishReportController) ListClassify() {
 	sort.Sort(sortList)
 
 	resp.List = sortList
-	resp.Paging = page
 
 	br.Data = resp
 	br.Ret = 200
@@ -578,19 +560,8 @@ func (this *EnglishReportController) FistListClassify() {
 		this.Data["json"] = br
 		this.ServeJSON()
 	}()
-	pageSize, _ := this.GetInt("PageSize")
-	currentIndex, _ := this.GetInt("CurrentIndex")
-
-	var startSize int
-	if pageSize <= 0 {
-		pageSize = utils.PageSize20
-	}
-	if currentIndex <= 0 {
-		currentIndex = 1
-	}
 
-	startSize = utils.StartIndex(currentIndex, pageSize)
-	rootList, err := models.GetEnglishFirstClassifyList(startSize, pageSize)
+	rootList, err := models.GetEnglishFirstClassifyList()
 	if err != nil {
 		br.Msg = "获取失败"
 		br.ErrMsg = "获取失败,Err:" + err.Error()
@@ -602,12 +573,10 @@ func (this *EnglishReportController) FistListClassify() {
 		br.ErrMsg = "获取失败,Err:" + err.Error()
 		return
 	}
-	page := paging.GetPaging(currentIndex, pageSize, total)
 	resp := new(models.EnglishClassifyListResp)
 
 	if total == 0 {
 		resp.List = make([]*models.EnglishClassifyList, 0)
-		resp.Paging = page
 
 		br.Data = resp
 		br.Ret = 200
@@ -650,7 +619,6 @@ func (this *EnglishReportController) FistListClassify() {
 	sort.Sort(sortList)
 
 	resp.List = sortList
-	resp.Paging = page
 
 	br.Data = resp
 	br.Ret = 200

+ 21 - 35
models/english_report.go

@@ -427,59 +427,45 @@ type EnglishClassifyList struct {
 }
 
 type EnglishClassifyListResp struct {
-	List   []*EnglishClassifyList
-	Paging *paging.PagingItem `description:"分页数据"`
+	List []*EnglishClassifyList
 }
 
 // GetEnglishClassifyRootId 获取一级分类列表
-func GetEnglishClassifyRootId(startSize, pageSize int, keyword string) (items []*EnglishClassifyList, err error) {
+func GetEnglishClassifyRootId(keyword string, enabled int) (items []*EnglishClassifyList, err error) {
 	sql := ``
 	o := orm.NewOrmUsingDB("rddp")
+	cond := ""
+	if enabled == 1 {
+		cond = " AND enabled=1 "
+	}
 	if keyword != "" {
 		sql = `SELECT * FROM (
 			                   SELECT * FROM english_classify
-                   WHERE parent_id=0 AND classify_name ?
+                   WHERE parent_id=0 ` + cond + ` AND classify_name ? 
                    UNION
                    SELECT * FROM english_classify
                    WHERE id IN(SELECT parent_id FROM english_classify
-                   WHERE parent_id>0 AND classify_name LIKE ?)
+                   WHERE parent_id>0 ` + cond + ` AND classify_name LIKE ? )
                    )AS t
                    ORDER BY sort ASC,create_time ASC
                    LIMIT ?,? `
-		_, err = o.Raw(sql, utils.GetLikeKeyword(keyword), utils.GetLikeKeyword(keyword), startSize, pageSize).QueryRows(&items)
+		_, err = o.Raw(sql, utils.GetLikeKeyword(keyword), utils.GetLikeKeyword(keyword)).QueryRows(&items)
 	} else {
-		sql = `SELECT * FROM english_classify WHERE parent_id=0 ORDER BY sort ASC,create_time ASC LIMIT ?,? `
-		_, err = o.Raw(sql, startSize, pageSize).QueryRows(&items)
+		sql = `SELECT * FROM english_classify WHERE parent_id=0 ` + cond + ` ORDER BY sort ASC,create_time ASC LIMIT ?,? `
+		_, err = o.Raw(sql).QueryRows(&items)
 	}
 	return
 }
 
-func GetEnglishClassifyListCount(keyword string) (count int, err error) {
-	sqlCount := ``
-	o := orm.NewOrmUsingDB("rddp")
-	if keyword != "" {
-		sqlCount = `SELECT  COUNT(1) AS count FROM (
-               SELECT * FROM english_classify
-               WHERE parent_id=0 AND classify_name LIKE ?
-               UNION
-               SELECT * FROM english_classify
-               WHERE id IN(SELECT parent_id FROM english_classify
-               WHERE parent_id>0 AND classify_name LIKE ?)
-               )AS t `
-		err = o.Raw(sqlCount, utils.GetLikeKeyword(keyword), utils.GetLikeKeyword(keyword)).QueryRow(&count)
-	} else {
-		sqlCount = `SELECT COUNT(1) AS count FROM english_classify WHERE parent_id=0`
-		err = o.Raw(sqlCount).QueryRow(&count)
-	}
-
-	return
-}
-
-func GetEnglishClassifyListByRootId(rootIds []int, keyword string) (items []*EnglishClassifyList, err error) {
+func GetEnglishClassifyListByRootId(rootIds []int, keyword string, enabled int) (items []*EnglishClassifyList, err error) {
 	sql := ``
 	pars := make([]interface{}, 0)
 
 	o := orm.NewOrmUsingDB("rddp")
+	cond := ""
+	if enabled == 1 {
+		cond = " AND enabled=1 "
+	}
 	if keyword != "" {
 		sql = `SELECT
 	a.*
@@ -487,12 +473,12 @@ FROM
 	english_classify a
 	LEFT JOIN english_classify b ON a.root_id = b.id
 	LEFT JOIN english_classify c ON a.parent_id = c.id
-	WHERE a.parent_id>0 and a.classify_name LIKE ? and a.root_id IN (` + utils.GetOrmInReplace(len(rootIds)) + `)`
+	WHERE a.parent_id>0  ` + cond + ` and a.classify_name LIKE ? and a.root_id IN (` + utils.GetOrmInReplace(len(rootIds)) + `)`
 		pars = append(pars, utils.GetLikeKeyword(keyword))
 		pars = append(pars, rootIds)
 		_, err = o.Raw(sql, pars).QueryRows(&items)
 	} else {
-		sql = `SELECT * FROM english_classify WHERE parent_id>0 and root_id IN (` + utils.GetOrmInReplace(len(rootIds)) + `) `
+		sql = `SELECT * FROM english_classify WHERE parent_id>0  ` + cond + ` and root_id IN (` + utils.GetOrmInReplace(len(rootIds)) + `) `
 		_, err = o.Raw(sql, rootIds).QueryRows(&items)
 	}
 	return
@@ -623,10 +609,10 @@ func GetEnglishClassifyCountsByName(name string, parentId int) (count int, err e
 }
 
 // GetEnglishFirstClassifyList 获取一级、二级分类列表
-func GetEnglishFirstClassifyList(startSize, pageSize int) (items []*EnglishClassifyList, err error) {
+func GetEnglishFirstClassifyList() (items []*EnglishClassifyList, err error) {
 	o := orm.NewOrmUsingDB("rddp")
-	sql := `SELECT * FROM english_classify WHERE parent_id=0  ORDER BY sort ASC,create_time ASC LIMIT ?,? `
-	_, err = o.Raw(sql, startSize, pageSize).QueryRows(&items)
+	sql := `SELECT * FROM english_classify WHERE parent_id=0  ORDER BY sort ASC,create_time`
+	_, err = o.Raw(sql).QueryRows(&items)
 	return
 }