Selaa lähdekoodia

列表改为品种类型列表

ziwen 2 vuotta sitten
vanhempi
commit
26d9cc8dac

+ 13 - 4
controller/report/report.go

@@ -251,8 +251,9 @@ func ReportPptImgList(c *gin.Context) {
 	return
 }
 
-// CommoditiesCollectReportList 大宗商品研报列表
-func CommoditiesCollectReportList(c *gin.Context) {
+// VarietyReportList 品种类型研报列表
+func VarietyReportList(c *gin.Context) {
+	reqClassifyId := c.DefaultQuery("classify_id", "")
 	reqChartPermissionId := c.DefaultQuery("chart_permission_id", "")
 	reqPageIndex := c.DefaultQuery("current_index", "1")
 	reqPageSize := c.DefaultQuery("page_size", strconv.Itoa(utils.PageSize20))
@@ -278,13 +279,21 @@ func CommoditiesCollectReportList(c *gin.Context) {
 		response.Fail("权限ID格式错误", c)
 		return
 	}
+
+	classifyId, err := strconv.Atoi(reqClassifyId)
+	if err != nil {
+		response.Fail("种类ID格式错误", c)
+		return
+	}
+
 	userinfo := userService.GetInfoByClaims(c)
 
-	list, err := report.GetCommoditiesCollectReportList(userinfo, chartPermissionId, pageIndex, pageSize)
+	list, err := report.GetVarietyReportList(userinfo, classifyId, chartPermissionId, pageIndex, pageSize)
 	if err != nil {
-		response.FailMsg("汇总报告查询出错", err.Error(), c)
+		response.FailMsg("查看研报列表出错", err.Error(), c)
 		return
 	}
+
 	response.OkData("查询成功", list, c)
 	return
 }

+ 27 - 0
models/response/report.go

@@ -229,3 +229,30 @@ func (rc ReportChapterMenuList) Less(i, j int) bool {
 func (rc ReportChapterMenuList) Swap(i, j int) {
 	rc[i], rc[j] = rc[j], rc[i]
 }
+
+type ReportVarietyResp struct {
+	Paging *PagingItem          `json:"paging"`
+	List   []*VarietyReportItem `json:"list"`
+}
+
+type VarietyReportItem struct {
+	ReportId           int       `json:"report_id"`
+	ClassifyNameFirst  string    `description:"一级分类名称" json:"classify_name_first"`
+	ClassifyNameSecond string    `description:"二级分类名称" json:"classify_name_second"`
+	Title              string    `description:"标题" json:"title"`
+	Abstract           string    `description:"摘要" json:"abstract"`
+	Author             string    `description:"作者" json:"author"`
+	Frequency          string    `description:"频度" json:"frequency"`
+	PublishTime        time.Time `description:"发布时间" json:"publish_time"`
+	Stage              int       `description:"期数" json:"stage"`
+	Content            string    `description:"内容" json:"content"`
+	VideoUrl           string    `description:"音频文件URL" json:"video_url"`
+	VideoName          string    `description:"音频文件名称" json:"video_name"`
+	VideoSize          string    `description:"音频文件大小,单位M" json:"video_size"`
+	VideoPlaySeconds   string    `description:"音频播放时长" json:"video_play_seconds"`
+	VideoImg           string    `description:"音频播放条的图片" json:"video_img"`
+	ContentSub         string    `description:"内容前两个章节" json:"content_sub"`
+	BannerUrl          string    `description:"详情页banner" json:"banner_url"`
+	ShareBgImg         string    `description:"分享背景图" json:"share_bg_img"`
+	AuthOk             bool      `json:"auth_ok"`
+}

+ 33 - 0
models/tables/rddp/report/query.go

@@ -405,4 +405,37 @@ ORDER BY
 	sql = fmt.Sprintf(sql, firstName, secondId)
 	err = global.MYSQL["rddp"].Raw(sql).First(&items).Error
 	return
+}
+
+// GetCommoditiesReportCollectListByPermission 根据权限相关的分类查询大宗商品报告
+func GetCommoditiesReportCollectListByPermission(classifyIdSeconds []int, offset , limit int) (list []*Report, err error)  {
+	sql := ` SELECT
+id, classify_id_first, classify_name_first, classify_id_second, classify_name_second, title, stage, publish_time, author, create_time, video_url, video_name, video_play_seconds, abstract  
+FROM
+	report
+WHERE
+	classify_name_first != "晨报" 
+	AND classify_name_first != "周报" 
+	AND classify_id_second in ?
+	AND state = 2
+	ORDER BY publish_time DESC, id desc LIMIT ? OFFSET ?
+	`
+	err = global.MYSQL["rddp"].Raw(sql, classifyIdSeconds, limit, offset).Scan(&list).Error
+	return
+}
+
+// GetCommoditiesReportCollectCountByPermission 查询大宗商品报告总页数
+func GetCommoditiesReportCollectCountByPermission(classifyIdSeconds []int) (total int64, err error)  {
+	sql := `select count(*) 
+FROM
+        report
+WHERE
+        classify_name_first != "晨报" 
+        AND classify_name_first != "周报" 
+        AND classify_id_second in ?
+        AND state = 2
+        
+	`
+	err = global.MYSQL["rddp"].Raw(sql, classifyIdSeconds).Count(&total).Error
+	return
 }

+ 1 - 1
routers/report.go

@@ -16,7 +16,7 @@ func InitReport(r *gin.Engine) {
 	rGroup.GET("/search", report.Search)
 	rGroup.POST("/detail/rddp_share_img", report.RddpShareImg)
 	rGroup.GET("/ppt_img", report.ReportPptImgList)
-	rGroup.GET("/commodities/collect", report.CommoditiesCollectReportList)
+	rGroup.GET("/variety/list", report.VarietyReportList)
 
 	rGroup2 := r.Group("api/classify").Use(middleware.Token())
 	rGroup2.GET("/ficc", report.ClassifyFirstList)

+ 522 - 39
services/report/report.go

@@ -1212,8 +1212,8 @@ func GetReportPptImgListByReportIdAndReportChapterId(reportId, reportChapterId i
 	return
 }
 
-// GetCommoditiesCollectReportList 大宗商品报告列表
-func GetCommoditiesCollectReportList(user user.UserInfo, chartPermissionId, pageIndex, pageSize int) (ret *response.ReportCollectResp, err error) {
+// GetVarietyReportList 大宗商品报告列表
+func GetVarietyReportList(user user.UserInfo, classifyId, chartPermissionId, pageIndex, pageSize int) (ret *response.ReportVarietyResp, err error) {
 	var errMsg string
 	defer func() {
 		if err != nil {
@@ -1221,6 +1221,27 @@ func GetCommoditiesCollectReportList(user user.UserInfo, chartPermissionId, page
 		}
 	}()
 
+	// 判断用户状态是否是正常和永续
+	var productAuthOk bool
+	companyProduct, err := company_product.GetByCompany2ProductId(user.CompanyID, 1)
+	if err == utils.ErrNoRow {
+		err = nil
+	}
+	if err != nil {
+		errMsg = err.Error()
+		err = errors.New("查询用户购买产品出错")
+		return
+	}
+	if companyProduct != nil {
+		// 无FICC权限的客户不可见
+		if companyProduct.CompanyProductID > 0 {
+			// 已购或者试用用户可见
+			if strings.Contains("永续,正式", companyProduct.Status) || (companyProduct.Status == "试用" && companyProduct.IsSuspend != 1) {
+				productAuthOk = true
+			}
+		}
+	}
+
 	// 查询权限的基本信息
 	permissionInfo, err := chart_permission.GetByChartPermissionId(chartPermissionId)
 	if err != nil {
@@ -1233,17 +1254,20 @@ func GetCommoditiesCollectReportList(user user.UserInfo, chartPermissionId, page
 		err = errors.New("权限不存在")
 		return
 	}
-	// 除了晨报和周报以外的其他报告
-	classifyNames, err := chart_permission_search_key_word_mapping.GetKeyWordsByChartPermissionId(chartPermissionId, "rddp")
+
+	//分类ids
+	var allClassifySecondIds []int
+	var classifySecondIds []int
+
+	classifyNames, err := chart_permission_search_key_word_mapping.GetKeyWordsByChartPermissionId(chartPermissionId, "two_week")
 	if err != nil {
 		errMsg = err.Error()
 		err = errors.New("查询权限对应的分类出错")
 		return
 	}
 
-	var classifySecondIds []int
 	if len(classifyNames) > 0 {
-		classifySecondIds, err = classify.GetSecondIdsByClassifyNames(classifyNames)
+		allClassifySecondIds, err = classify.GetSecondIdsByClassifyNames(classifyNames)
 		if err != nil {
 			errMsg = err.Error()
 			err = errors.New("查询分类出错")
@@ -1251,51 +1275,510 @@ func GetCommoditiesCollectReportList(user user.UserInfo, chartPermissionId, page
 		}
 	}
 
-	// 查询晨报和周报相对应的章节ID
-	reportChapterTypeIds, err := report_chapter_type_permission.GetTypeIdsByChartPermissionId(chartPermissionId)
+	//根据所选一级分类id查询二级分类
+	classifyChild, err := classify.GetChildByPid(classifyId)
 	if err != nil {
 		errMsg = err.Error()
-		err = errors.New("查询权限对应的章节出错")
+		err = errors.New("查询二级分类出错")
 		return
 	}
+	classifyMap := make(map[int]int, 0)
+	for _, c := range classifyChild {
+		classifyMap[c.Id] = c.Id
+	}
 
-	var reportList []*response.ReportCollectListItem
-	list := response.ReportCollectListResp{}
-	var total int64
-	if len(reportChapterTypeIds) > 0 || len(classifySecondIds) > 0 {
-		offset := (pageIndex - 1) * pageSize
-		reportList, err = report.GetReportCollectListByPermission(classifySecondIds, reportChapterTypeIds, offset, pageSize)
-		if err != nil {
-			errMsg = err.Error()
-			err = errors.New("查询报告信息出错")
-			return
+	for _, id := range allClassifySecondIds {
+		if _, ok := classifyMap[id]; ok {
+			classifySecondIds = append(classifySecondIds, id)
 		}
-		listMap := make(map[string]*response.ReportCollectList)
-		for _, v := range reportList {
-			v.ContentSub = GetReportContentSub(v.ContentSub, true)
-			if _, ok := listMap[v.PublishTime.Format("2006-01-02")]; !ok {
-				temp := new(response.ReportCollectList)
-				temp.Date = v.PublishTime.Format("2006-01-02")
-				listMap[v.PublishTime.Format("2006-01-02")] = temp
-			}
-			listMap[v.PublishTime.Format("2006-01-02")].SubList = append(listMap[v.PublishTime.Format("2006-01-02")].SubList, v)
-		}
-		for _, v := range listMap {
-			list = append(list, v)
-		}
-		total, err = report.GetReportCollectCountByPermission(classifySecondIds, reportChapterTypeIds)
-		if err != nil {
+	}
+
+
+	// 获取有效的权限id列表
+	var validPermissionIdList []int
+	if productAuthOk {
+		validPermissionIdList, err = company.GetValidPermissionIdListByCompany2ProductId(user.CompanyID, 1)
+		if err != nil && err != utils.ErrNoRow {
 			errMsg = err.Error()
-			err = errors.New("查询报告总数出错")
+			err = errors.New("查询分类出错")
 			return
 		}
-		if len(list) > 0 {
-			sort.Sort(list)
+	}
+	var authOk bool
+	if len(validPermissionIdList) > 0 {
+	checkLoop:
+		for _, validPerid := range validPermissionIdList {
+			if chartPermissionId == validPerid {
+				authOk = true
+				break checkLoop
+			}
 		}
 	}
+	//// 查询晨报和周报相对应的章节ID
+	//reportChapterTypeIds, err := report_chapter_type_permission.GetTypeIdsByChartPermissionId(chartPermissionId)
+	//if err != nil {
+	//	errMsg = err.Error()
+	//	err = errors.New("查询权限对应的章节出错")
+	//	return
+	//}
 
-	ret = new(response.ReportCollectResp)
+	var reportList []*report.Report
+	var total int64
+	if len(classifySecondIds) > 0 {
+		if productAuthOk {
+			offset := (pageIndex - 1) * pageSize
+			reportList, err = report.GetCommoditiesReportCollectListByPermission(classifySecondIds, offset, pageSize)
+			if err != nil {
+				errMsg = err.Error()
+				err = errors.New("查询报告信息出错")
+				return
+			}
+
+			total, err = report.GetCommoditiesReportCollectCountByPermission(classifySecondIds)
+			if err != nil {
+				errMsg = err.Error()
+				err = errors.New("查询报告总数出错")
+				return
+			}
+		}
+	}
+	var list []*response.VarietyReportItem
+	for _, r := range reportList {
+		item := response.VarietyReportItem{
+			ReportId:           r.Id,
+			ClassifyNameFirst:  r.ClassifyNameFirst,
+			ClassifyNameSecond: r.ClassifyNameSecond,
+			Title:              r.Title,
+			Abstract:           r.Abstract,
+			Author:             r.Author,
+			Frequency:          r.Frequency,
+			PublishTime:        r.PublishTime,
+			Stage:              r.Stage,
+			Content:            r.Content,
+			VideoUrl:           r.VideoUrl,
+			VideoName:          r.VideoName,
+			VideoSize:          r.VideoSize,
+			VideoPlaySeconds:   r.VideoPlaySeconds,
+			VideoImg:           r.VideoUrl,
+			ContentSub:         r.ContentSub,
+			BannerUrl:          r.VideoUrl,
+			ShareBgImg:         r.Title,
+			AuthOk:             authOk,
+		}
+		list = append(list, &item)
+	}
+	ret = new(response.ReportVarietyResp)
 	ret.List = list
 	ret.Paging = response.GetPaging(pageIndex, pageSize, int(total))
 	return
-}
+}
+
+// GetCommoditiesReportList 获取大宗商品报告列表
+//func GetCommoditiesReportList(user user.UserInfo, chartPermissionId, pageIndex, pageSize int) (ret *response.ReportList, err error) {
+//	var errMsg string
+//	defer func() {
+//		if err != nil {
+//			global.LOG.Critical(fmt.Sprintf("GetReportList: userId=%d, err:%s, errMsg:%s", user.UserID, err.Error(), errMsg))
+//		}
+//	}()
+//
+//	// 判断用户状态是否是正常和永续
+//	var productAuthOk bool
+//	companyProduct, err := company_product.GetByCompany2ProductId(user.CompanyID, 1)
+//	if err == utils.ErrNoRow {
+//		err = nil
+//	}
+//	if err != nil {
+//		errMsg = err.Error()
+//		err = errors.New("查询用户购买产品出错")
+//		return
+//	}
+//	if companyProduct != nil {
+//		// 无FICC权限的客户不可见
+//		if companyProduct.CompanyProductID > 0 {
+//			// 已购或者试用用户可见
+//			if strings.Contains("永续,正式", companyProduct.Status) || (companyProduct.Status == "试用" && companyProduct.IsSuspend != 1) {
+//				productAuthOk = true
+//			}
+//		}
+//	}
+//
+//	// 查询权限的基本信息
+//	permissionInfo, err := chart_permission.GetByChartPermissionId(chartPermissionId)
+//	if err != nil {
+//		errMsg = err.Error()
+//		err = errors.New("查询权限出错")
+//		return
+//	}
+//
+//	if permissionInfo.ChartPermissionID == 0 {
+//		err = errors.New("权限不存在")
+//		return
+//	}
+//	// 除了晨报和周报以外的其他报告
+//	classifyNames, err := chart_permission_search_key_word_mapping.GetKeyWordsByChartPermissionId(chartPermissionId, "two_week")
+//	if err != nil {
+//		errMsg = err.Error()
+//		err = errors.New("查询权限对应的分类出错")
+//		return
+//	}
+//
+//	var classifySecondIds []int
+//	if len(classifyNames) > 0 {
+//		classifySecondIds, err = classify.GetSecondIdsByClassifyNames(classifyNames)
+//		if err != nil {
+//			errMsg = err.Error()
+//			err = errors.New("查询分类出错")
+//			return
+//		}
+//	}
+//
+//	var condition string
+//	pars := make([]interface{}, 0)
+//
+//	classifyParent, err := classify.GetByClassifyId(classifyIdFirst)
+//	if err != nil {
+//		errMsg = err.Error()
+//		err = errors.New("分类查询出错")
+//		return
+//	}
+//	if classifyParent.Id == 0 {
+//		err = errors.New("该分类不存在")
+//		return
+//	}
+//	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 {
+//		errMsg = err.Error()
+//		err = errors.New("分类查询出错")
+//		return
+//	}
+//
+//	if len(chartPermissionList) > 0 {
+//		for _, v := range chartPermissionList {
+//			chartPermissionImageMap[int(v.ChartPermissionID)] = v.YbImgUrl
+//		}
+//	}
+//
+//	if classifyIdSecond > 0 && keyWord == "" {
+//		classifyInfo, tErr := classify.GetByClassifyId(classifyIdSecond)
+//		if tErr != nil {
+//			errMsg = tErr.Error()
+//			err = errors.New("分类查询出错")
+//			return
+//		}
+//		if classifyInfo.Id == 0 {
+//			err = errors.New("该二级分类不存在")
+//			return
+//		}
+//
+//		condition += " AND classify_id_second = ?"
+//		pars = append(pars, classifyIdSecond)
+//		//查询二级分类对应的权限
+//		permissionIds, tErr := chart_permission_search_key_word_mapping.GetChartPermissionIdsByKeyWord(classifyInfo.ClassifyName)
+//		if tErr != nil {
+//			errMsg = tErr.Error()
+//			err = errors.New("分类权限查询出错")
+//			return
+//		}
+//		permissionMap[classifyInfo.ClassifyName] = permissionIds
+//		//if len(permissionIds) > 0 {
+//		//	for _, v := range permissionIds {
+//		//		reportImgUrl = chartPermissionImageMap[v]
+//		//	}
+//		//}
+//
+//	} else {
+//		if classifyParent.ClassifyName == "晨报" || classifyParent.ClassifyName == "周报" {
+//			//reportImgUrl = chartPermissionImageMap[1]
+//			classifyIdSeconds = append(classifyIdSeconds, 0)
+//		}
+//
+//		chartPermissions, tErr := chart_permission_search_key_word_mapping.GetChartPermissionByFrom("rddp")
+//		if tErr != nil {
+//			errMsg = tErr.Error()
+//			err = errors.New("分类权限查询出错")
+//			return
+//		}
+//
+//		if len(chartPermissions) > 0 {
+//			for _, v := range chartPermissions {
+//				permissionMap[v.KeyWord] = append(permissionMap[v.KeyWord], v.ChartPermissionId)
+//				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列表
+//	var validPermissionIdList []int
+//	if productAuthOk {
+//		validPermissionIdList, err = company.GetValidPermissionIdListByCompany2ProductId(user.CompanyID, 1)
+//		if err != nil && err != utils.ErrNoRow {
+//			errMsg = err.Error()
+//			err = errors.New("查询分类出错")
+//			return
+//		}
+//	}
+//
+//	if len(validPermissionIdList) > 0 {
+//		for classifyName, perIds := range permissionMap {
+//		checkLoop:
+//			for _, checkId := range perIds {
+//				for _, validPerid := range validPermissionIdList {
+//					if checkId == validPerid {
+//						checkPermissionMap[classifyName] = true
+//						break checkLoop
+//					}
+//				}
+//			}
+//		}
+//	}
+//
+//	var total int64
+//	var list []*report.Report
+//	if keyWord == "" {
+//		offset := (pageIndex - 1) * pageSize
+//		list, err = report.GetReportList(condition, pars, offset, pageSize)
+//		if err != nil {
+//			errMsg = err.Error()
+//			err = errors.New("报告查询出错")
+//			return
+//		}
+//		total, err = report.GetReportListCount(condition, pars)
+//		if err != nil {
+//			errMsg = err.Error()
+//			err = errors.New("查询报告总数出错")
+//			return
+//		}
+//	} else {
+//		if classifyIdSecond > 0 {
+//			classifyIdSeconds = append(classifyIdSeconds, classifyIdSecond)
+//		}
+//		if classifyParent.ClassifyName == "晨报" || classifyParent.ClassifyName == "周报" {
+//			classifyIdSeconds = append(classifyIdSeconds, 0)
+//		}
+//		searchResp, total1, tErr := elasticService.ReportListSearch(keyWord, classifyIdFirst, classifyIdSeconds, pageIndex, pageSize)
+//		if tErr != nil {
+//			errMsg = tErr.Error()
+//			err = errors.New("查询失败")
+//			return
+//		}
+//		total = int64(total1)
+//		if searchResp.Hits != nil && total > 0 {
+//			var reportIds []int
+//			for _, v := range searchResp.Hits.Hits {
+//				temp := new(report.Report)
+//				itemJson, tmpErr := v.Source.MarshalJSON()
+//				if tmpErr != nil {
+//					errMsg = tmpErr.Error()
+//					err = errors.New("解析出错")
+//					return
+//				}
+//				reportItem := new(response.EsReportItem)
+//				tmpErr = json.Unmarshal(itemJson, &reportItem)
+//				if tmpErr != nil {
+//					errMsg = tmpErr.Error()
+//					err = errors.New("解析json出错")
+//					return
+//				}
+//				temp.Id = reportItem.ReportId
+//				reportIds = append(reportIds, reportItem.ReportId)
+//				temp.ClassifyIdFirst = reportItem.ClassifyIdFirst
+//				temp.ClassifyNameFirst = reportItem.ClassifyNameFirst
+//				temp.ClassifyIdSecond = reportItem.ClassifyIdSecond
+//				temp.ClassifyNameSecond = reportItem.ClassifyNameSecond
+//				if len(v.Highlight["ClassifyNameSecond"]) > 0 {
+//					temp.ClassifyNameSecond = v.Highlight["ClassifyNameSecond"][0]
+//				}
+//				temp.Abstract = reportItem.Abstract
+//				stageInt, _ := strconv.Atoi(reportItem.StageStr)
+//				temp.Stage = stageInt
+//				temp.StageStr = reportItem.StageStr
+//				temp.Title = reportItem.Title
+//				temp.PublishTime, err = time.ParseInLocation(utils.FormatDateTime, reportItem.PublishTime, time.Local)
+//				if len(v.Highlight["Title"]) > 0 {
+//					temp.Title = v.Highlight["Title"][0]
+//				}
+//				if len(v.Highlight["Abstract"]) > 0 {
+//					temp.Abstract = v.Highlight["Abstract"][0]
+//				}
+//				if len(v.Highlight["StageStr"]) > 0 {
+//					temp.StageStr = v.Highlight["StageStr"][0]
+//				}
+//				list = append(list, temp)
+//			}
+//			reportInfoList, tmpErr := report.GetByReportIds(reportIds)
+//			if tmpErr != nil {
+//				errMsg = tmpErr.Error()
+//				err = errors.New("查询报告出错")
+//				return
+//			}
+//			reportListMap := make(map[int]*report.Report)
+//			for _, temp := range reportInfoList {
+//				reportListMap[temp.Id] = temp
+//			}
+//			for k, reportDetail := range list {
+//				if v, ok := reportListMap[reportDetail.Id]; ok {
+//					list[k].CreateTime = v.CreateTime
+//				}
+//			}
+//		}
+//	}
+//
+//	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)
+//		if classifyParent.ClassifyName == "晨报" && productAuthOk {
+//			//获取晨报的音频列表
+//			videoMap, _, errMsg, err = GetReportChapterVideoList(validPermissionIdList, classifyParent.ClassifyName, list)
+//			if err != nil {
+//				return
+//			}
+//		} else if classifyParent.ClassifyName == "周报" {
+//			//查询所有权限typeID
+//			//如果存在可以查看的章节ID
+//			for _, reportInfo := range list {
+//				videoReportIds = append(videoReportIds, reportInfo.Id)
+//			}
+//			// 判断周报权限\查询周报的音频列表
+//			videoMap, weekAuthMap, errMsg, err = GetReportChapterVideoList(validPermissionIdList, classifyParent.ClassifyName, list)
+//			if err != nil {
+//				return
+//			}
+//		}
+//		// 以下分类图标特殊处理 =_=!
+//		//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
+//			// 样式限制行数
+//			reportItem.Title = "<div style=\"-webkit-line-clamp: 2;-webkit-box-orient: vertical;display: -webkit-box;overflow: hidden;text-overflow: ellipsis;\">" + reportInfo.Title + "</div>"
+//			reportItem.PublishTime = reportInfo.PublishTime
+//			reportItem.ClassifyNameFirst = reportInfo.ClassifyNameFirst
+//			reportItem.ClassifyNameSecond = reportInfo.ClassifyNameSecond
+//			reportItem.ClassifyIdFirst = reportInfo.ClassifyIdFirst
+//			reportItem.ClassifyIdSecond = reportInfo.ClassifyIdSecond
+//			reportItem.Stage = reportInfo.Stage
+//			reportItem.Abstract = reportInfo.Abstract
+//			if reportInfo.Abstract != "" {
+//				reportItem.Abstract = "<div style=\"overflow: hidden;white-space: nowrap;text-overflow: ellipsis;\">" + reportInfo.Abstract + "</div>"
+//			}
+//			reportItem.Author = reportInfo.Author
+//			stageStr := reportInfo.StageStr
+//			if stageStr == "" {
+//				stageStr = strconv.Itoa(reportInfo.Stage)
+//			}
+//			reportItem.TitleInfo = fmt.Sprintf("【第%s期|FICC|%s】", stageStr, reportItem.ClassifyNameSecond)
+//			//trimClassifyNameSecond := utils.TrimHtml(reportInfo.ClassifyNameSecond)
+//			if reportInfo.ClassifyNameFirst == "晨报" || reportInfo.ClassifyNameFirst == "周报" || classifyIdSecond > 0 {
+//				//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
+//			//}
+//			// 封面图-默认取二级分类的图片,二级分类图片没有(如晨周报)则取一级
+//			coverImg := listImgMap[reportInfo.ClassifyIdSecond]
+//			if coverImg == "" {
+//				coverImg = listImgMap[reportInfo.ClassifyIdFirst]
+//			}
+//			reportItem.ReportImgUrl = coverImg
+//
+//			if classifyParent.ClassifyName == "晨报" && productAuthOk {
+//				// 查询当前晨报的所有音频
+//				if vList, ok := videoMap[reportInfo.Id]; ok {
+//					for _, vd := range vList {
+//						vd.VideoImg = reportItem.ReportImgUrl
+//					}
+//					reportItem.VideoList = vList
+//				}
+//				reportItem.AuthOk = productAuthOk
+//			} else if classifyParent.ClassifyName == "周报" {
+//				if wAuth, ok := weekAuthMap[reportInfo.Id]; ok {
+//					reportItem.AuthOk = wAuth
+//					if wAuth {
+//						// 查询当前晨报的所有音频
+//						if vList, ok2 := videoMap[reportInfo.Id]; ok2 {
+//							for _, vd := range vList {
+//								vd.VideoImg = reportItem.ReportImgUrl
+//							}
+//							reportItem.VideoList = vList
+//						}
+//					}
+//				}
+//			} else if authOk, ok := checkPermissionMap[reportInfo.ClassifyNameSecond]; ok && authOk {
+//				if reportInfo.VideoUrl != "" {
+//					videoTemp := new(response.VideoListItem)
+//					videoTemp.VideoUrl = reportInfo.VideoUrl
+//					videoTemp.VideoName = reportInfo.VideoName
+//					if reportInfo.VideoName == "" {
+//						videoTemp.VideoName = reportInfo.Title
+//					}
+//					videoTemp.VideoPlaySeconds = reportInfo.VideoPlaySeconds
+//					videoTemp.VideoImg = reportItem.ReportImgUrl
+//					reportItem.VideoList = append(reportItem.VideoList, videoTemp)
+//				}
+//				reportItem.AuthOk = authOk
+//			}
+//
+//			reportList = append(reportList, reportItem)
+//		}
+//
+//	}
+//	ret = new(response.ReportList)
+//	ret.List = reportList
+//	ret.Paging = response.GetPaging(pageIndex, pageSize, int(total))
+//	return
+//}