Ver Fonte

研报列表封面图配置优化

hsun há 2 anos atrás
pai
commit
2fc54a274a

+ 3 - 2
models/tables/rddp/classify/classify.go

@@ -28,9 +28,10 @@ type Classify struct {
 	IsShow            int8      `gorm:"column:is_show" db:"is_show" json:"is_show" form:"is_show"`                                             //是否展示报告:1,展示该分类下的报告,0隐藏分类下的报告
 	YbFiccIcon        string    `gorm:"column:yb_ficc_icon" db:"yb_ficc_icon" json:"yb_ficc_icon" form:"yb_ficc_icon"`                         //研报小程序端ficc页码图标
 	YbFiccPcIcon      string    `gorm:"column:yb_ficc_pc_icon" db:"yb_ficc_pc_icon" json:"yb_ficc_pc_icon" form:"yb_ficc_pc_icon"`             //研报 pc端ficc页码图标
-	YbFiccSort        int      `gorm:"column:yb_ficc_sort" db:"yb_ficc_sort" json:"yb_ficc_sort" form:"yb_ficc_sort"`                         //研报小程序端ficc页面排序
+	YbFiccSort        int       `gorm:"column:yb_ficc_sort" db:"yb_ficc_sort" json:"yb_ficc_sort" form:"yb_ficc_sort"`                         //研报小程序端ficc页面排序
+	YbListImg         string    `gorm:"column:yb_list_img" db:"yb_list_img" json:"yb_list_img" form:"yb_list_img"`                             //研报小程序端报告列表封面图
 }
 
-func (c *Classify) TableName() string  {
+func (c *Classify) TableName() string {
 	return "classify"
 }

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

@@ -113,4 +113,10 @@ func GetChildByPid(pid int) (list []*Classify, err error) {
 		err = nil
 	}
 	return
+}
+
+// GetClassifyList 获取全部分类
+func GetClassifyList() (list []*Classify, err error) {
+	err = global.MYSQL["rddp"].Model(Classify{}).Scan(&list).Error
+	return
 }

+ 42 - 21
services/report/report.go

@@ -552,7 +552,7 @@ func GetReportList(user user.UserInfo, keyWord string, classifyIdFirst, classify
 	permissionImageMap := make(map[string]string)
 	chartPermissionImageMap := make(map[int]string)
 	var classifyIdSeconds []int
-	var reportImgUrl string
+	//var reportImgUrl string
 
 	chartPermissionList, err := chart_permission.GetFiccListExceptTacticByProductId()
 	if err != nil {
@@ -589,15 +589,15 @@ func GetReportList(user user.UserInfo, keyWord string, classifyIdFirst, classify
 			return
 		}
 		permissionMap[classifyInfo.ClassifyName] = permissionIds
-		if len(permissionIds) > 0 {
-			for _, v := range permissionIds {
-				reportImgUrl = chartPermissionImageMap[v]
-			}
-		}
+		//if len(permissionIds) > 0 {
+		//	for _, v := range permissionIds {
+		//		reportImgUrl = chartPermissionImageMap[v]
+		//	}
+		//}
 
 	} else {
 		if classifyParent.ClassifyName == "晨报" || classifyParent.ClassifyName == "周报" {
-			reportImgUrl = chartPermissionImageMap[1]
+			//reportImgUrl = chartPermissionImageMap[1]
 			classifyIdSeconds = append(classifyIdSeconds, 0)
 		}
 
@@ -754,6 +754,18 @@ func GetReportList(user user.UserInfo, keyWord string, classifyIdFirst, classify
 
 	var reportList []*response.ReportListItem
 	if len(list) > 0 {
+		// 封面图
+		classifyList, e := classify.GetClassifyList()
+		if e != nil {
+			err = errors.New("获取报告分类列表失败" + e.Error())
+			return
+		}
+		listImgMap := make(map[int]string, 0)
+		classifyLen := len(classifyList)
+		for i := 0; i < classifyLen; i++ {
+			listImgMap[classifyList[i].Id] = classifyList[i].YbListImg
+		}
+
 		var videoReportIds []int
 		videoMap := make(map[int][]*response.VideoListItem)
 		weekAuthMap := make(map[int]bool)
@@ -776,14 +788,14 @@ func GetReportList(user user.UserInfo, keyWord string, classifyIdFirst, classify
 			}
 		}
 		// 以下分类图标特殊处理 =_=!
-		reportImgMap := map[string]string{
-			"晨报": "report_list_chen.png",
-			"周报": "report_list_zhou.png",
-			"月报": "report_list_yue.png",
-			"大事点评": "report_list_dashidianping.png",
-			"会议纪要": "report_list_huiyijiyao.png",
-			"年报合集": "report_list_nianbaoheji.png",
-		}
+		//reportImgMap := map[string]string{
+		//	"晨报": "report_list_chen.png",
+		//	"周报": "report_list_zhou.png",
+		//	"月报": "report_list_yue.png",
+		//	"大事点评": "report_list_dashidianping.png",
+		//	"会议纪要": "report_list_huiyijiyao.png",
+		//	"年报合集": "report_list_nianbaoheji.png",
+		//}
 		for _, reportInfo := range list {
 			reportItem := new(response.ReportListItem)
 			reportItem.ReportId = reportInfo.Id
@@ -805,16 +817,25 @@ func GetReportList(user user.UserInfo, keyWord string, classifyIdFirst, classify
 				stageStr = strconv.Itoa(reportInfo.Stage)
 			}
 			reportItem.TitleInfo = fmt.Sprintf("【第%s期|FICC|%s】", stageStr, reportItem.ClassifyNameSecond)
-			trimClassifyNameSecond := utils.TrimHtml(reportInfo.ClassifyNameSecond)
+			//trimClassifyNameSecond := utils.TrimHtml(reportInfo.ClassifyNameSecond)
 			if reportInfo.ClassifyNameFirst == "晨报" || reportInfo.ClassifyNameFirst == "周报" || classifyIdSecond > 0 {
-				reportItem.ReportImgUrl = utils.ALIYUN_YBIMG_HOST + reportImgUrl
+				//reportItem.ReportImgUrl = utils.ALIYUN_YBIMG_HOST + reportImgUrl
 				reportItem.TitleInfo = fmt.Sprintf("【第%s期|FICC|%s】", stageStr, reportItem.ClassifyNameFirst)
-			} else if url, ok := permissionImageMap[trimClassifyNameSecond]; ok {
-				reportItem.ReportImgUrl = utils.ALIYUN_YBIMG_HOST + url
 			}
-			if img, ok := reportImgMap[reportInfo.ClassifyNameFirst]; ok {
-				reportItem.ReportImgUrl = utils.ALIYUN_YBIMG_HOST + img
+			//else if url, ok := permissionImageMap[trimClassifyNameSecond]; ok {
+			//	reportItem.ReportImgUrl = utils.ALIYUN_YBIMG_HOST + url
+			//}
+			//if img, ok := reportImgMap[reportInfo.ClassifyNameFirst]; ok {
+			//	reportItem.ReportImgUrl = utils.ALIYUN_YBIMG_HOST + img
+			//}
+			// 封面图
+			coverImg := ""
+			if reportInfo.ClassifyNameFirst == "晨报" || reportInfo.ClassifyNameFirst == "周报" {
+				coverImg = listImgMap[reportInfo.ClassifyIdFirst]
+			} else {
+				coverImg = listImgMap[reportInfo.ClassifyIdSecond]
 			}
+			reportItem.ReportImgUrl = coverImg
 
 			if classifyParent.ClassifyName == "晨报" && productAuthOk {
 				// 查询当前晨报的所有音频