|
@@ -1661,3 +1661,141 @@ func GetArticNewLabelWhithActivity3Month() (labelMap map[int]bool, err error) {
|
|
|
}
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+//HandleArticleCategoryImg 预处理文章的封面图片
|
|
|
+func HandleArticleCategoryImg(list []*models.HomeArticle) (items []*models.HomeArticle, err error) {
|
|
|
+ //研选的五张图片
|
|
|
+ detailResearch, e := models.GetConfigByCode("category_research_img_url")
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("获取研选的五张图片失败" + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ researchList := strings.Split(detailResearch.ConfigValue, "{|}")
|
|
|
+ //对应分类的所图片
|
|
|
+ detailCategoryUrl, err := models.GetConfigByCode("category_map_img_url")
|
|
|
+ if err != nil {
|
|
|
+ err = errors.New("获取对应分类的所图片失败" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ categoryUrlList := strings.Split(detailCategoryUrl.ConfigValue, "{|}")
|
|
|
+ mapCategoryUrl := make(map[string]string)
|
|
|
+ var categoryId string
|
|
|
+ var imgUrlChart string
|
|
|
+ for _, v := range categoryUrlList {
|
|
|
+ vslice := strings.Split(v, "_")
|
|
|
+ categoryId = vslice[0]
|
|
|
+ imgUrlChart = vslice[len(vslice)-1]
|
|
|
+ mapCategoryUrl[categoryId] = imgUrlChart
|
|
|
+ }
|
|
|
+
|
|
|
+ mapChartPerssion := make(map[string]string)
|
|
|
+ reportMappingList, err := models.GetReportMappingStrategyAll()
|
|
|
+ if err != nil {
|
|
|
+ err = errors.New("GetReportMappingStrategyAll err" + err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range reportMappingList {
|
|
|
+ mapChartPerssion[strconv.Itoa(v.CategoryId)] = v.ChartPermissionName
|
|
|
+ }
|
|
|
+ for k, v := range list {
|
|
|
+ item := list[k]
|
|
|
+ //如果文章一开始的内容是图片,优先展示第一张图片
|
|
|
+ //newBody, _ := GetReportContentTextSubByarticle(item.Body, item.Annotation, item.ArticleId)
|
|
|
+ list[k].Annotation = ArticleAnnotation(item)
|
|
|
+ list[k].Body = ""
|
|
|
+ list[k].Abstract, _ = GetReportContentTextSub(v.Abstract)
|
|
|
+ list[k].PublishDate = utils.StrTimeToTime(item.PublishDate).Format(utils.FormatDate) //时间字符串格式转时间格式
|
|
|
+ if item.Pv > 999 {
|
|
|
+ list[k].Pv = 999
|
|
|
+ }
|
|
|
+ list[k].ChartPermissionName = mapChartPerssion[v.CategoryId]
|
|
|
+ //如果是研选系列的任意取五张图片的中的一张
|
|
|
+ if v.CategoryId == "0" || v.ArticleId > utils.SummaryArticleId {
|
|
|
+ knum := v.ArticleId % 5
|
|
|
+ list[k].ImgUrlPc = researchList[knum]
|
|
|
+ } else {
|
|
|
+ list[k].ImgUrlPc = mapCategoryUrl[v.CategoryId]
|
|
|
+ }
|
|
|
+ //ArticleResponse int `description:"报告类型 0:啥也不是,1研选报告,2:研选纪要,3:研选沙龙,4;研选观点"`
|
|
|
+ if list[k].ArticleId < utils.SummaryArticleId {
|
|
|
+ list[k].HttpUrl = utils.StrategyPlatform + strconv.Itoa(v.ArticleId)
|
|
|
+ list[k].IsNeedJump = true
|
|
|
+ if v.IsReport == 1 {
|
|
|
+ list[k].ArticleResponse = 1
|
|
|
+ } else if v.ArticleTypeName == "纪要" {
|
|
|
+ list[k].ArticleResponse = 2
|
|
|
+ } else if v.ArticleTypeName == "观点" {
|
|
|
+ list[k].ArticleResponse = 3
|
|
|
+ } else if v.ArticleTypeName == "沙龙" {
|
|
|
+ list[k].ArticleResponse = 4
|
|
|
+ } else if v.ArticleTypeName == "路演精华" {
|
|
|
+ list[k].ArticleResponse = 1
|
|
|
+ }
|
|
|
+ }
|
|
|
+ list[k].Source = 1
|
|
|
+ //添加行业默认图片
|
|
|
+ if v.ImgUrlPc == "" {
|
|
|
+ if v.ChartPermissionName == utils.YI_YAO_NAME {
|
|
|
+ list[k].ImgUrlPc = utils.YI_YAO_OTHER_IMG
|
|
|
+ } else if v.ChartPermissionName == utils.XIAO_FEI_NAME {
|
|
|
+ list[k].ImgUrlPc = utils.XIAO_FEI_OTHER_IMG
|
|
|
+ } else if v.ChartPermissionName == utils.KE_JI_NAME {
|
|
|
+ list[k].ImgUrlPc = utils.KE_JI_OTHER_IMG
|
|
|
+ } else if v.ChartPermissionName == utils.ZHI_ZAO_NAME {
|
|
|
+ list[k].ImgUrlPc = utils.ZHI_ZAO_OTHER_IMG
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ articleIds := make([]int, 0)
|
|
|
+ for i := range list {
|
|
|
+ articleIds = append(articleIds, list[i].ArticleId)
|
|
|
+ }
|
|
|
+ // 报告关联产业信息
|
|
|
+ industryMap := make(map[int][]*models.IndustrialManagementIdInt, 0)
|
|
|
+ if len(articleIds) > 0 {
|
|
|
+ var industryCond string
|
|
|
+ var industryPars []interface{}
|
|
|
+ industryCond += ` AND mg.article_id IN (` + utils.GetOrmInReplace(len(articleIds)) + `)`
|
|
|
+ industryPars = append(industryPars, articleIds)
|
|
|
+ industryList, e := models.GetIndustrialListByarticleId(industryPars, industryCond)
|
|
|
+ if e != nil {
|
|
|
+ err = errors.New("GetIndustrialListByarticleId" + e.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for i := range industryList {
|
|
|
+ v := industryList[i]
|
|
|
+ industryMap[v.ArticleId] = append(industryMap[v.ArticleId], &models.IndustrialManagementIdInt{
|
|
|
+ ArticleId: v.ArticleId,
|
|
|
+ IndustrialManagementId: v.IndustrialManagementId,
|
|
|
+ IndustryName: v.IndustryName,
|
|
|
+ ChartPermissionId: v.ChartPermissionId,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for k, v := range list {
|
|
|
+ if len(industryMap[v.ArticleId]) > 0 {
|
|
|
+ list[k].List = industryMap[v.ArticleId]
|
|
|
+ } else {
|
|
|
+ list[k].List = make([]*models.IndustrialManagementIdInt, 0)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(list) == 0 {
|
|
|
+ list = make([]*models.HomeArticle, 0)
|
|
|
+ }
|
|
|
+ items = list
|
|
|
+ return
|
|
|
+}
|
|
|
+
|
|
|
+//处理核心观点的展示规则
|
|
|
+func ArticleAnnotation(item *models.HomeArticle) (annotation string) {
|
|
|
+ if item.Annotation != "" {
|
|
|
+ annotation = strings.Replace(item.Annotation, "<br>", "", -1)
|
|
|
+ } else {
|
|
|
+ annotation = item.Abstract
|
|
|
+ }
|
|
|
+ return
|
|
|
+}
|