ソースを参照

过滤特定分类下的报告

xiexiaoyuan 3 年 前
コミット
a42e238bd1

+ 1 - 0
models/tables/rddp/classify/classify.go

@@ -25,6 +25,7 @@ type Classify struct {
 	VipTitle string `gorm:"column:vip_title" db:"vip_title" json:"vip_title"` //研究员头衔
 	YbIconUrl string `gorm:"column:yb_icon_url" db:"yb_icon_url" json:"yb_icon_url" form:"yb_icon_url"` //研报3.0已购页面icon图片地址
 	YbBgUrl string `gorm:"column:yb_bg_url" db:"yb_bg_url" json:"yb_bg_url" form:"yb_bg_url"` //研报3.0已购详情背景图地址
+	IsShow  int8   `gorm:"column:is_show" db:"is_show" json:"is_show" form:"is_show"`      //是否展示报告:1,展示该分类下的报告,0隐藏分类下的报告
 }
 
 func (c *Classify) TableName() string  {

+ 6 - 6
models/tables/rddp/classify/query.go

@@ -41,7 +41,7 @@ func GetSecondIdsByClassifyNames(names []string) (ids []int, err error) {
 
 // GetParentList 查询所有一级分类
 func GetParentList() (list []*Classify, err error) {
-	err = global.MYSQL["rddp"].Model(Classify{}).Where("parent_id = 0 and classify_name != '权益研报'").Order("sort asc, id asc").Scan(&list).Error
+	err = global.MYSQL["rddp"].Model(Classify{}).Where("parent_id = 0 and classify_name != '权益研报' AND is_show = 1").Order("sort asc, id asc").Scan(&list).Error
 	if err == utils.ErrNoRow {
 		err = nil
 	}
@@ -50,7 +50,7 @@ func GetParentList() (list []*Classify, err error) {
 
 // GetByClassifyId 根据分类ID查询分类详情
 func GetByClassifyId(id int) (item *Classify, err error) {
-	err = global.MYSQL["rddp"].Model(Classify{}).Where("id = ?", id).First(&item).Error
+	err = global.MYSQL["rddp"].Model(Classify{}).Where("id = ? AND is_show = 1", id).First(&item).Error
 	if err == utils.ErrNoRow {
 		err = nil
 	}
@@ -59,7 +59,7 @@ func GetByClassifyId(id int) (item *Classify, err error) {
 
 // GetListByPid 根据分类名称查找专栏列表
 func GetListByPid(pid int) (list []*Classify, err error) {
-	err = global.MYSQL["rddp"].Model(Classify{}).Where("parent_id = ? ", pid).Order("sort asc, id asc").Scan(&list).Error
+	err = global.MYSQL["rddp"].Model(Classify{}).Where("parent_id = ? AND is_show = 1 ", pid).Order("sort asc, id asc").Scan(&list).Error
 	if err == utils.ErrNoRow {
 		err = nil
 	}
@@ -83,7 +83,7 @@ func GetIdsByClassifyName(names []string) (ids []int, err error) {
 // GetIdsByClassifyNameAndParentId 查询
 func GetIdsByClassifyNameAndParentId(names []string, parentId int) (ids []int, err error) {
 	var list []*Classify
-	err = global.MYSQL["rddp"].Model(Classify{}).Select("id").Where("classify_name in (?) and parent_id = ?", names, parentId).Scan(&list).Error
+	err = global.MYSQL["rddp"].Model(Classify{}).Select("id").Where("classify_name in (?) and parent_id = ? AND is_show = 1", names, parentId).Scan(&list).Error
 	if err != nil {
 		return
 	}
@@ -96,7 +96,7 @@ func GetIdsByClassifyNameAndParentId(names []string, parentId int) (ids []int, e
 // GetOtherIdsByClassifyNames 查询
 func GetOtherIdsByClassifyNames(names []string) (ids []int, err error) {
 	var list []*Classify
-	err = global.MYSQL["rddp"].Model(Classify{}).Select("id").Where("classify_name in (?) and parent_id > 0", names).Scan(&list).Error
+	err = global.MYSQL["rddp"].Model(Classify{}).Select("id").Where("classify_name in (?) and parent_id > 0 AND is_show = 1", names).Scan(&list).Error
 	if err != nil {
 		return
 	}
@@ -109,7 +109,7 @@ func GetOtherIdsByClassifyNames(names []string) (ids []int, err error) {
 
 // GetFirstByPid 根据一级分类查找二级分类
 func GetFirstByPid(pid int) (item *Classify, err error) {
-	err = global.MYSQL["rddp"].Model(Classify{}).Where("parent_id = ? ", pid).First(&item).Error
+	err = global.MYSQL["rddp"].Model(Classify{}).Where("parent_id = ? AND is_show = 1 ", pid).First(&item).Error
 	if err == utils.ErrNoRow {
 		err = nil
 	}

+ 4 - 2
services/report/classify.go

@@ -15,7 +15,7 @@ import (
 	"strings"
 )
 
-// GetClassListByClassifyId 查询二级分类列表
+// GetClassListByClassifyId 专栏详情:查询二级分类列表
 func GetClassListByClassifyId(user user.UserInfo, classifyIdFirst int) (list []*response.ClassifyListItem, err error) {
 	var errMsg string
 	defer func() {
@@ -338,10 +338,12 @@ func GetClassifyFirstList(user user.UserInfo) (list response.ClassifyFirstList,
 		if _, ok := classifyMap[item.ClassifyName]; ok {
 			if item.ClassifyName == "需求报告" || item.ClassifyName == "宏观报告" {
 				classifySecond, tErr := classify.GetFirstByPid(item.Id)
-				if tErr == nil && classifySecond.Id > 0 {
+				if tErr == nil && classifySecond.ClassifyName == item.ClassifyName {
 					temp.ClassifyIdSecond = classifySecond.Id
 					temp.ClassifyNameSecond = classifySecond.ClassifyName
 					temp.RedirectType = 3
+				}else{
+					continue
 				}
 			}else{
 				temp.RedirectType = 1

+ 22 - 1
services/report/report.go

@@ -437,12 +437,13 @@ func GetReportList(user user.UserInfo, keyWord string, classifyIdFirst, classify
 		err = errors.New("该分类不存在")
 		return
 	}
-	condition = `classify_id_first = ?`
+	condition = `classify_id_first = ? and state = 2`
 	pars = append(pars, classifyIdFirst)
 	permissionMap := make(map[string][]int)
 	checkPermissionMap := make(map[string]bool)
 	permissionImageMap := make(map[string]string)
 	chartPermissionImageMap := make(map[int]string)
+	var classifyIdSeconds []int
     var reportImgUrl string
     chartPermissionList, err := chart_permission.GetFiccListExceptTacticByProductId()
 	if err != nil {
@@ -503,6 +504,26 @@ func GetReportList(user user.UserInfo, keyWord string, classifyIdFirst, classify
 				permissionImageMap[v.KeyWord] = chartPermissionImageMap[v.ChartPermissionId]
 			}
 		}
+
+		//获取二级分类的所有头像
+		classifyList, tErr := classify.GetListByPid(classifyIdFirst)
+		if tErr != nil {
+			errMsg = tErr.Error()
+			err = errors.New("二级分类查询出错")
+			return
+		}
+
+		for _, v := range classifyList {
+			classifyIdSeconds = append(classifyIdSeconds, v.Id)
+		}
+
+		if len(classifyIdSeconds) == 0 && classifyParent.ClassifyName != "晨报" && classifyParent.ClassifyName != "周报" {
+			ret = new(response.ReportList)
+			ret.Paging = response.GetPaging(pageIndex, pageSize, 0)
+			return
+		}
+		condition += ` AND classify_id_second IN ? `
+		pars = append(pars, classifyIdSeconds)
 	}
 
 	// 获取有效的权限id列表