Browse Source

no message

xingzai 2 years ago
parent
commit
23c3e2c9af
5 changed files with 350 additions and 217 deletions
  1. 163 156
      controllers/report.go
  2. 0 9
      models/micro_roadshow.go
  3. 124 0
      services/industrial_management.go
  4. 3 3
      services/micro_roadshow.go
  5. 60 49
      services/report.go

+ 163 - 156
controllers/report.go

@@ -258,7 +258,12 @@ func (this *MobileReportController) IndustryList() {
 		br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
 		br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
 		return
 		return
 	}
 	}
-
+	list, err = services.HandleIndustryList(list, user)
+	if err != nil {
+		br.Msg = "获取信息失败"
+		br.ErrMsg = "获取信息失败,Err:" + err.Error()
+		return
+	}
 	industrialIdArr := make([]int, 0)
 	industrialIdArr := make([]int, 0)
 	for k, v := range list {
 	for k, v := range list {
 		industrialIdArr = append(industrialIdArr, v.IndustrialManagementId)
 		industrialIdArr = append(industrialIdArr, v.IndustrialManagementId)
@@ -266,161 +271,163 @@ func (this *MobileReportController) IndustryList() {
 			list[k].IsHot = true
 			list[k].IsHot = true
 		}
 		}
 	}
 	}
-	mapUPdateTime := make(map[int]string)
-	mapHistroyArticleId := make(map[int]int)
-	articleIdArr := make([]int, 0)
-	//获取这些产业下最新更新的文章
-	listUpdateTime, err := models.GetNewArticleDetailByIndustrialIds(industrialIdArr)
-	if err != nil && err.Error() != utils.ErrNoRow() {
-		br.Msg = "获取信息失败"
-		br.ErrMsg = "获取信息失败 GetNewArticleDetailByIndustrialIds ,Err:" + err.Error()
-		return
-	}
-	for _, v := range listUpdateTime {
-		mapUPdateTime[v.IndustrialManagementId] = v.PublishDate
-		articleIdArr = append(articleIdArr, v.ArticleId)
-	}
-	if uid > 0 {
-		listArticleHistory, err := models.GetUserToArticleHistory(uid, industrialIdArr)
-		if err != nil && err.Error() != utils.ErrNoRow() {
-			br.Msg = "获取信息失败"
-			br.ErrMsg = "获取信息失败 GetUserToArticleHistory ,Err:" + err.Error()
-			return
-		}
-		for _, v := range listArticleHistory {
-			mapHistroyArticleId[v.ArticleId] = v.ArticleId
-		}
-	}
-	nowTime := time.Now().Local()
-	threeMonBefore := nowTime.AddDate(0, -3, 0)
-	for k, v := range list {
-		list[k].UpdateTime = utils.TimeRemoveHms(mapUPdateTime[v.IndustrialManagementId])
-		if uid > 0 {
-			//如果文章没有阅读,而且,文章的发布时间晚于项目的上线时间,而且文章的发布时间晚于用户的注册时间,就进行标红处理
-			if mapHistroyArticleId[v.ArticleId] == 0 && user.CreatedTime.Before(utils.StrTimeToTime(mapUPdateTime[v.IndustrialManagementId])) && utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(mapUPdateTime[v.IndustrialManagementId])) {
-				list[k].IsRed = true
-			}
-		} else {
-			if utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(mapUPdateTime[v.IndustrialManagementId])) {
-				list[k].IsRed = true
-			}
-			list[k].IsFollow = false
-		}
-		// 关联报告发布时间均在3个月内则标记New
-		if v.MinReportTime != "" {
-			t, e := time.Parse(utils.FormatDateTime, v.MinReportTime)
-			if e != nil {
-				br.Msg = "获取信息失败"
-				br.ErrMsg = "报告最早发布时间有误, Err: " + e.Error()
-				return
-			}
-			if t.After(threeMonBefore) {
-				list[k].IsNew = true
-			}
-		}
-		//标的列表
-		industrialSubjectList, err := models.GetIndustrialSubjectAll(v.IndustrialManagementId)
-		if err != nil {
-			br.Msg = "获取信息失败"
-			br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
-			return
-		}
-		list[k].IndustrialSubjectList = industrialSubjectList
-	}
-
-	//查询产业视频
-	industrialVideoMap := make(map[int]*models.MicroVideoSimpleInfo)
-	var industrialManagementIds []int
-	for _, v := range list {
-		if v.IndustrialManagementId > 0 {
-			industrialManagementIds = append(industrialManagementIds, v.IndustrialManagementId)
-		}
-	}
-
-	// 用户权限
-	authInfo, permissionArr, e := services.GetUserRaiPermissionInfo(user.UserId, user.CompanyId)
-	if e != nil {
-		br.Msg = "获取失败"
-		br.ErrMsg = "获取用户权限失败, Err: " + e.Error()
-		return
-	}
-
-	if len(industrialManagementIds) > 0 {
-		// 获取默认图配置
-		_, videoMap, _, _, e := services.GetMicroRoadShowDefaultImgConfig()
-		if e != nil {
-			br.Msg = "获取视频默认配置图失败"
-			br.ErrMsg = "获取视频默认配置图失败, Err: " + e.Error()
-			return
-		}
-		videoList, err := models.GetMicroRoadshowVideoByIndustryIds(industrialManagementIds)
-		if err != nil {
-			br.Msg = "产业视频列表失败"
-			br.ErrMsg = "产业视频列表失败, Err: " + err.Error()
-			return
-		}
-		for _, v := range videoList {
-			tmp := &models.MicroVideoSimpleInfo{
-				Id:                  v.VideoId,
-				Title:               "5min逻辑【" + v.IndustryName + "】解析",
-				ResourceUrl:         v.VideoUrl,
-				BackgroundImg:       v.ImgUrl,
-				PlaySeconds:         v.VideoDuration,
-				DetailImgUrl:        v.DetailImgUrl,
-				ChartPermissionId:   v.ChartPermissionId,
-				ChartPermissionName: v.ChartPermissionName,
-			}
-			if tmp.BackgroundImg == "" {
-				tmp.BackgroundImg = videoMap[v.ChartPermissionId]
-			}
-			industrialVideoMap[v.IndustryId] = tmp
-		}
-	}
 
 
+	//mapUPdateTime := make(map[int]string)
+	//mapHistroyArticleId := make(map[int]int)
+	//articleIdArr := make([]int, 0)
+	////获取这些产业下最新更新的文章
+	//listUpdateTime, err := models.GetNewArticleDetailByIndustrialIds(industrialIdArr)
+	//if err != nil && err.Error() != utils.ErrNoRow() {
+	//	br.Msg = "获取信息失败"
+	//	br.ErrMsg = "获取信息失败 GetNewArticleDetailByIndustrialIds ,Err:" + err.Error()
+	//	return
+	//}
+	//for _, v := range listUpdateTime {
+	//	mapUPdateTime[v.IndustrialManagementId] = v.PublishDate
+	//	articleIdArr = append(articleIdArr, v.ArticleId)
+	//}
+	//if uid > 0 {
+	//	listArticleHistory, err := models.GetUserToArticleHistory(uid, industrialIdArr)
+	//	if err != nil && err.Error() != utils.ErrNoRow() {
+	//		br.Msg = "获取信息失败"
+	//		br.ErrMsg = "获取信息失败 GetUserToArticleHistory ,Err:" + err.Error()
+	//		return
+	//	}
+	//	for _, v := range listArticleHistory {
+	//		mapHistroyArticleId[v.ArticleId] = v.ArticleId
+	//	}
+	//}
 	//nowTime := time.Now().Local()
 	//nowTime := time.Now().Local()
 	//threeMonBefore := nowTime.AddDate(0, -3, 0)
 	//threeMonBefore := nowTime.AddDate(0, -3, 0)
-	for k, v := range list {
-		list[k].LayoutTime = utils.TimeRemoveHms(v.LayoutTime)
-		// 关联报告发布时间均在3个月内则标记New
-		if v.MinReportTime != "" {
-			t, e := time.Parse(utils.FormatDateTime, v.MinReportTime)
-			if e != nil {
-				br.Msg = "获取信息失败"
-				br.ErrMsg = "报告最早发布时间有误, Err: " + e.Error()
-				return
-			}
-			if t.After(threeMonBefore) {
-				list[k].IsNew = true
-			}
-		}
-		//展示产业视频
-		if video, ok := industrialVideoMap[v.IndustrialManagementId]; ok {
-			//控制用户权限
-			// 权限
-			au := new(models.UserPermissionAuthInfo)
-			au.SellerName = authInfo.SellerName
-			au.SellerMobile = authInfo.SellerMobile
-			au.HasPermission = authInfo.HasPermission
-			au.OperationMode = authInfo.OperationMode
-			if au.HasPermission == 1 {
-				// 非宏观权限进一步判断是否有权限
-				if video.ChartPermissionId != utils.HONG_GUAN_ID && !utils.InArrayByStr(permissionArr, video.ChartPermissionName) {
-					au.HasPermission = 2
-				}
-			}
-			// 无权限的弹框提示
-			if au.HasPermission != 1 {
-				if au.OperationMode == services.UserPermissionOperationModeCall {
-					au.PopupMsg = services.UserPermissionPopupMsgCallMicroVideo
-				} else {
-					au.PopupMsg = services.UserPermissionPopupMsgApplyMicroVideo
-				}
-				video.ResourceUrl = ""
-			}
-			list[k].AuthInfo = au
-			list[k].IndustryVideo = video
-		}
-	}
+	//for k, v := range list {
+	//	list[k].UpdateTime = utils.TimeRemoveHms(mapUPdateTime[v.IndustrialManagementId])
+	//	if uid > 0 {
+	//		//如果文章没有阅读,而且,文章的发布时间晚于项目的上线时间,而且文章的发布时间晚于用户的注册时间,就进行标红处理
+	//		if mapHistroyArticleId[v.ArticleId] == 0 && user.CreatedTime.Before(utils.StrTimeToTime(mapUPdateTime[v.IndustrialManagementId])) && utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(mapUPdateTime[v.IndustrialManagementId])) {
+	//			list[k].IsRed = true
+	//		}
+	//	} else {
+	//		if utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(mapUPdateTime[v.IndustrialManagementId])) {
+	//			list[k].IsRed = true
+	//		}
+	//		list[k].IsFollow = false
+	//	}
+	//	// 关联报告发布时间均在3个月内则标记New
+	//	if v.MinReportTime != "" {
+	//		t, e := time.Parse(utils.FormatDateTime, v.MinReportTime)
+	//		if e != nil {
+	//			br.Msg = "获取信息失败"
+	//			br.ErrMsg = "报告最早发布时间有误, Err: " + e.Error()
+	//			return
+	//		}
+	//		if t.After(threeMonBefore) {
+	//			list[k].IsNew = true
+	//		}
+	//	}
+	//	//标的列表
+	//	industrialSubjectList, err := models.GetIndustrialSubjectAll(v.IndustrialManagementId)
+	//	if err != nil {
+	//		br.Msg = "获取信息失败"
+	//		br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
+	//		return
+	//	}
+	//	list[k].IndustrialSubjectList = industrialSubjectList
+	//}
+	//
+	////查询产业视频
+	//industrialVideoMap := make(map[int]*models.MicroVideoSimpleInfo)
+	//var industrialManagementIds []int
+	//for _, v := range list {
+	//	if v.IndustrialManagementId > 0 {
+	//		industrialManagementIds = append(industrialManagementIds, v.IndustrialManagementId)
+	//	}
+	//}
+	//
+	//// 用户权限
+	//authInfo, permissionArr, e := services.GetUserRaiPermissionInfo(user.UserId, user.CompanyId)
+	//if e != nil {
+	//	br.Msg = "获取失败"
+	//	br.ErrMsg = "获取用户权限失败, Err: " + e.Error()
+	//	return
+	//}
+	//
+	//if len(industrialManagementIds) > 0 {
+	//	// 获取默认图配置
+	//	_, videoMap, _, _, e := services.GetMicroRoadShowDefaultImgConfig()
+	//	if e != nil {
+	//		br.Msg = "获取视频默认配置图失败"
+	//		br.ErrMsg = "获取视频默认配置图失败, Err: " + e.Error()
+	//		return
+	//	}
+	//	videoList, err := models.GetMicroRoadshowVideoByIndustryIds(industrialManagementIds)
+	//	if err != nil {
+	//		br.Msg = "产业视频列表失败"
+	//		br.ErrMsg = "产业视频列表失败, Err: " + err.Error()
+	//		return
+	//	}
+	//	for _, v := range videoList {
+	//		tmp := &models.MicroVideoSimpleInfo{
+	//			Id:                  v.VideoId,
+	//			Title:               "5min【" + v.IndustryName + "】逻辑解析",
+	//			ResourceUrl:         v.VideoUrl,
+	//			BackgroundImg:       v.ImgUrl,
+	//			PlaySeconds:         v.VideoDuration,
+	//			DetailImgUrl:        v.DetailImgUrl,
+	//			ChartPermissionId:   v.ChartPermissionId,
+	//			ChartPermissionName: v.ChartPermissionName,
+	//		}
+	//		if tmp.BackgroundImg == "" {
+	//			tmp.BackgroundImg = videoMap[v.ChartPermissionId]
+	//		}
+	//		industrialVideoMap[v.IndustryId] = tmp
+	//	}
+	//}
+	//
+	////nowTime := time.Now().Local()
+	////threeMonBefore := nowTime.AddDate(0, -3, 0)
+	//for k, v := range list {
+	//	list[k].LayoutTime = utils.TimeRemoveHms(v.LayoutTime)
+	//	// 关联报告发布时间均在3个月内则标记New
+	//	if v.MinReportTime != "" {
+	//		t, e := time.Parse(utils.FormatDateTime, v.MinReportTime)
+	//		if e != nil {
+	//			br.Msg = "获取信息失败"
+	//			br.ErrMsg = "报告最早发布时间有误, Err: " + e.Error()
+	//			return
+	//		}
+	//		if t.After(threeMonBefore) {
+	//			list[k].IsNew = true
+	//		}
+	//	}
+	//	//展示产业视频
+	//	if video, ok := industrialVideoMap[v.IndustrialManagementId]; ok {
+	//		//控制用户权限
+	//		// 权限
+	//		au := new(models.UserPermissionAuthInfo)
+	//		au.SellerName = authInfo.SellerName
+	//		au.SellerMobile = authInfo.SellerMobile
+	//		au.HasPermission = authInfo.HasPermission
+	//		au.OperationMode = authInfo.OperationMode
+	//		if au.HasPermission == 1 {
+	//			// 非宏观权限进一步判断是否有权限
+	//			if video.ChartPermissionId != utils.HONG_GUAN_ID && !utils.InArrayByStr(permissionArr, video.ChartPermissionName) {
+	//				au.HasPermission = 2
+	//			}
+	//		}
+	//		// 无权限的弹框提示
+	//		if au.HasPermission != 1 {
+	//			if au.OperationMode == services.UserPermissionOperationModeCall {
+	//				au.PopupMsg = services.UserPermissionPopupMsgCallMicroVideo
+	//			} else {
+	//				au.PopupMsg = services.UserPermissionPopupMsgApplyMicroVideo
+	//			}
+	//			video.ResourceUrl = ""
+	//		}
+	//		list[k].AuthInfo = au
+	//		list[k].IndustryVideo = video
+	//	}
+	//}
+
 	if orderColumnNew != "" {
 	if orderColumnNew != "" {
 		item := new(models.CygxReportIndustrialSeaarchHistory)
 		item := new(models.CygxReportIndustrialSeaarchHistory)
 		item.UserId = user.UserId
 		item.UserId = user.UserId
@@ -1131,7 +1138,7 @@ func (this *MobileReportController) SearchReportAndResource() {
 		br.Ret = 408
 		br.Ret = 408
 		return
 		return
 	}
 	}
-	uid := user.UserId
+	//uid := user.UserId
 	keyWord := this.GetString("KeyWord")
 	keyWord := this.GetString("KeyWord")
 	pageSize, _ := this.GetInt("PageSize")
 	pageSize, _ := this.GetInt("PageSize")
 	currentIndex, _ := this.GetInt("CurrentIndex")
 	currentIndex, _ := this.GetInt("CurrentIndex")
@@ -1172,7 +1179,7 @@ func (this *MobileReportController) SearchReportAndResource() {
 	var conditionOr string
 	var conditionOr string
 	conditionOr += ` OR ( m.subject_names LIKE '%` + keyWord + `%' AND a.article_id < ` + strconv.Itoa(utils.SummaryArticleId) + `  AND publish_status = 1 ) `
 	conditionOr += ` OR ( m.subject_names LIKE '%` + keyWord + `%' AND a.article_id < ` + strconv.Itoa(utils.SummaryArticleId) + `  AND publish_status = 1 ) `
 	condition = ` AND m.industry_name LIKE '%` + keyWord + `%' AND a.article_id < ` + strconv.Itoa(utils.SummaryArticleId) + conditionOr
 	condition = ` AND m.industry_name LIKE '%` + keyWord + `%' AND a.article_id < ` + strconv.Itoa(utils.SummaryArticleId) + conditionOr
-	listHzResource, err := services.GetSearchResourceListHz(condition, uid)
+	listHzResource, err := services.GetSearchResourceListHz(condition, user)
 	if err != nil {
 	if err != nil {
 		br.Msg = "获取信息失败"
 		br.Msg = "获取信息失败"
 		br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
 		br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
@@ -1220,7 +1227,7 @@ func (this *ReportCommonController) CompanyList() {
 			condition += ` AND a.category_id IN  (` + categoryId + `)`
 			condition += ` AND a.category_id IN  (` + categoryId + `)`
 		}
 		}
 	}
 	}
-	condition += ` 	AND a.type_name = '综述报告' `
+	condition += ` 	AND a.type_name = '综述报告'   ORDER BY  a.modify_time_by_cl DESC  `
 	list, err := models.CygxArticleDataList(condition, pars)
 	list, err := models.CygxArticleDataList(condition, pars)
 	if err != nil {
 	if err != nil {
 		br.Msg = "获取失败"
 		br.Msg = "获取失败"

+ 0 - 9
models/micro_roadshow.go

@@ -167,12 +167,3 @@ func GetMicroRoadshowVideoByIndustryIdCount(industryId int) (count int, err erro
 	err = o.Raw(sql, industryId).QueryRow(&count)
 	err = o.Raw(sql, industryId).QueryRow(&count)
 	return
 	return
 }
 }
-
-//GetMicroRoadshowVideoByVidoeIdCount  根据行业ID查询产业视频是否存在
-func GetMicroRoadshowVideoByVidoeIdCount(industryId int) (count int, err error) {
-	o := orm.NewOrm()
-	sql := `SELECT COUNT(1) count
-			FROM cygx_micro_roadshow_video WHERE video_id = ? `
-	err = o.Raw(sql, industryId).QueryRow(&count)
-	return
-}

+ 124 - 0
services/industrial_management.go

@@ -1,9 +1,11 @@
 package services
 package services
 
 
 import (
 import (
+	"errors"
 	"fmt"
 	"fmt"
 	"hongze/hongze_clpt/models"
 	"hongze/hongze_clpt/models"
 	"hongze/hongze_clpt/utils"
 	"hongze/hongze_clpt/utils"
+	"time"
 )
 )
 
 
 //根据行业处理所选的全部赛道字段
 //根据行业处理所选的全部赛道字段
@@ -73,3 +75,125 @@ func IndustryFllowWithTrack(industrialManagementId, count, uid int) (err error)
 	}
 	}
 	return err
 	return err
 }
 }
+
+//HandleIndustryList预处理产业列表字段
+func HandleIndustryList(list []*models.IndustrialManagement, user *models.WxUserItem) (items []*models.IndustrialManagement, err error) {
+	userId := user.UserId
+	fllowList, err := models.GetUserFllowIndustrialList(userId)
+	if err != nil {
+		return
+	}
+	fllowMap := make(map[int]int)
+	if len(fllowList) > 0 {
+		for _, v := range fllowList {
+			fllowMap[v.IndustrialManagementId] = v.IndustrialManagementId
+		}
+	}
+	//合并产业关联的标的
+	listSubjcet, err := models.GetThemeHeatSubjectList("")
+	if err != nil {
+		return
+	}
+	industrialIdArr := make([]int, 0)
+	for k, v := range list {
+		list[k].Source = 1
+		if fllowMap[v.IndustrialManagementId] > 0 {
+			list[k].IsFollow = true
+		}
+		industrialIdArr = append(industrialIdArr, v.IndustrialManagementId)
+		videoSimple, au, e := GetindustryVideo(user, v.IndustrialManagementId)
+		if e != nil {
+			err = errors.New("获取产业关联的视频失败,GetindustryVideo " + e.Error())
+			return
+		}
+		if videoSimple != nil && videoSimple.Id > 0 {
+			v.IndustryVideo = videoSimple
+		}
+		v.AuthInfo = au
+	}
+
+	if len(industrialIdArr) > 0 {
+		//合并产业关联的标的
+		listSubjcet, err = models.GetIndustrialSubjectAllByIndustrialId(industrialIdArr)
+		if err != nil {
+			return
+		}
+		mapIndustrial := make(map[string]int)
+		for _, v := range listSubjcet {
+			for k2, v2 := range list {
+				if v2.IndustrialManagementId == v.IndustrialManagementId && mapIndustrial[fmt.Sprint(v2.IndustrialManagementId, "Hz", v.SubjectName)] == 0 {
+					list[k2].IndustrialSubjectList = append(list[k2].IndustrialSubjectList, v)
+					mapIndustrial[fmt.Sprint(v2.IndustrialManagementId, "Hz", v.SubjectName)] = v2.IndustrialManagementId
+				}
+			}
+		}
+	}
+	mapUPdateTime := make(map[int]string)
+	articleIdArr := make([]int, 0)
+	//获取这些产业下最新更新的文章
+
+	listUpdateTime, err := models.GetNewArticleDetailByIndustrialIds(industrialIdArr)
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		return
+	}
+	for _, v := range listUpdateTime {
+		mapUPdateTime[v.IndustrialManagementId] = v.PublishDate
+		articleIdArr = append(articleIdArr, v.ArticleId)
+	}
+
+	mapHistroyArticleId := make(map[int]int)
+
+	if userId > 0 {
+		listArticleHistory, e := models.GetUserToArticleHistory(userId, industrialIdArr)
+		if e != nil && e.Error() != utils.ErrNoRow() {
+			err = errors.New("获取产业关联的视频失败,GetindustryVideo " + e.Error())
+			return
+		}
+		for _, v := range listArticleHistory {
+			mapHistroyArticleId[v.ArticleId] = v.ArticleId
+		}
+	}
+	nowTime := time.Now().Local()
+	threeMonBefore := nowTime.AddDate(0, -3, 0)
+	for k, v := range list {
+		list[k].UpdateTime = utils.TimeRemoveHms(mapUPdateTime[v.IndustrialManagementId])
+		if userId > 0 {
+			//如果文章没有阅读,而且,文章的发布时间晚于项目的上线时间,而且文章的发布时间晚于用户的注册时间,就进行标红处理
+			if mapHistroyArticleId[v.ArticleId] == 0 && user.CreatedTime.Before(utils.StrTimeToTime(mapUPdateTime[v.IndustrialManagementId])) && utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(mapUPdateTime[v.IndustrialManagementId])) {
+				list[k].IsRed = true
+			}
+		} else {
+			if utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(mapUPdateTime[v.IndustrialManagementId])) {
+				list[k].IsRed = true
+			}
+			list[k].IsFollow = false
+		}
+
+		list[k].UpdateTime = utils.TimeRemoveHms(mapUPdateTime[v.IndustrialManagementId])
+		if userId > 0 {
+			//如果文章没有阅读,而且,文章的发布时间晚于项目的上线时间,而且文章的发布时间晚于用户的注册时间,就进行标红处理
+			if mapHistroyArticleId[v.ArticleId] == 0 && user.CreatedTime.Before(utils.StrTimeToTime(mapUPdateTime[v.IndustrialManagementId])) && utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(mapUPdateTime[v.IndustrialManagementId])) {
+				list[k].IsRed = true
+			}
+		} else {
+			if utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(mapUPdateTime[v.IndustrialManagementId])) {
+				list[k].IsRed = true
+			}
+			list[k].IsFollow = false
+		}
+
+		// 关联报告发布时间均在3个月内则标记New
+		if v.MinReportTime != "" {
+			t, e := time.Parse(utils.FormatDateTime, v.MinReportTime)
+			if e != nil {
+				err = errors.New("报告最早发布时间有误,GetindustryVideo " + e.Error())
+				return
+			}
+			if t.After(threeMonBefore) {
+				list[k].IsNew = true
+			}
+		}
+	}
+	items = list
+	return
+}

+ 3 - 3
services/micro_roadshow.go

@@ -65,7 +65,7 @@ func GetindustryVideo(user *models.WxUserItem, industrialManagementId int) (indu
 		return
 		return
 	} else {
 	} else {
 		videoSimple.Id = video.VideoId
 		videoSimple.Id = video.VideoId
-		videoSimple.Title = "5min逻辑【" + video.IndustryName + "】解析"
+		videoSimple.Title = "5min【" + video.IndustryName + "】逻辑解析"
 		videoSimple.BackgroundImg = video.ImgUrl
 		videoSimple.BackgroundImg = video.ImgUrl
 		videoSimple.DetailImgUrl = video.DetailImgUrl
 		videoSimple.DetailImgUrl = video.DetailImgUrl
 		if videoSimple.BackgroundImg == "" {
 		if videoSimple.BackgroundImg == "" {
@@ -107,7 +107,7 @@ func GetindustryVideo(user *models.WxUserItem, industrialManagementId int) (indu
 
 
 //GetindustryVideoDetailById 通过视频ID获取视频详情
 //GetindustryVideoDetailById 通过视频ID获取视频详情
 func GetindustryVideoDetailById(user *models.WxUserItem, videoId int) (industryVideo *models.MicroVideoSimpleInfo, AuthInfo *models.UserPermissionAuthInfo, err error) {
 func GetindustryVideoDetailById(user *models.WxUserItem, videoId int) (industryVideo *models.MicroVideoSimpleInfo, AuthInfo *models.UserPermissionAuthInfo, err error) {
-	total, e := models.GetMicroRoadshowVideoByVidoeIdCount(videoId)
+	total, e := models.GetMicroRoadshowVideoByIndustryIdCount(videoId)
 	if e != nil {
 	if e != nil {
 		err = errors.New("获取产业关联的视频失败,GetMicroRoadshowVideoByIndustryIdCount " + e.Error())
 		err = errors.New("获取产业关联的视频失败,GetMicroRoadshowVideoByIndustryIdCount " + e.Error())
 		return
 		return
@@ -131,7 +131,7 @@ func GetindustryVideoDetailById(user *models.WxUserItem, videoId int) (industryV
 		return
 		return
 	} else {
 	} else {
 		videoSimple.Id = video.VideoId
 		videoSimple.Id = video.VideoId
-		videoSimple.Title = "5min逻辑【" + video.IndustryName + "】解析"
+		videoSimple.Title = "5min【" + video.IndustryName + "】逻辑解析"
 		videoSimple.BackgroundImg = video.ImgUrl
 		videoSimple.BackgroundImg = video.ImgUrl
 		videoSimple.DetailImgUrl = video.DetailImgUrl
 		videoSimple.DetailImgUrl = video.DetailImgUrl
 		if videoSimple.BackgroundImg == "" {
 		if videoSimple.BackgroundImg == "" {

+ 60 - 49
services/report.go

@@ -1,7 +1,6 @@
 package services
 package services
 
 
 import (
 import (
-	"fmt"
 	"hongze/hongze_clpt/models"
 	"hongze/hongze_clpt/models"
 	"hongze/hongze_clpt/utils"
 	"hongze/hongze_clpt/utils"
 	"strconv"
 	"strconv"
@@ -82,7 +81,8 @@ func GetReoprtSearchListHz(condition string, userId, startSize, pageSize int) (i
 	return
 	return
 }
 }
 
 
-func GetSearchResourceListHz(condition string, userId int) (items []*models.IndustrialManagement, err error) {
+func GetSearchResourceListHz(condition string, user *models.WxUserItem) (items []*models.IndustrialManagement, err error) {
+	userId := user.UserId
 	fllowList, err := models.GetUserFllowIndustrialList(userId)
 	fllowList, err := models.GetUserFllowIndustrialList(userId)
 	if err != nil {
 	if err != nil {
 		return
 		return
@@ -97,53 +97,64 @@ func GetSearchResourceListHz(condition string, userId int) (items []*models.Indu
 	if err != nil {
 	if err != nil {
 		return
 		return
 	}
 	}
-	//合并产业关联的标的
-	listSubjcet, err := models.GetThemeHeatSubjectList("")
-	if err != nil {
-		return
-	}
-	industrialIdArr := make([]int, 0)
-	for k, v := range listHz {
-		listHz[k].Source = 1
-		if fllowMap[v.IndustrialManagementId] > 0 {
-			listHz[k].IsFollow = true
-		}
-		industrialIdArr = append(industrialIdArr, v.IndustrialManagementId)
-	}
-
-	if len(industrialIdArr) > 0 {
-		//合并产业关联的标的
-		listSubjcet, err = models.GetIndustrialSubjectAllByIndustrialId(industrialIdArr)
-		if err != nil {
-			return
-		}
-		mapIndustrial := make(map[string]int)
-		for _, v := range listSubjcet {
-			for k2, v2 := range listHz {
-				if v2.IndustrialManagementId == v.IndustrialManagementId && mapIndustrial[fmt.Sprint(v2.IndustrialManagementId, "Hz", v.SubjectName)] == 0 {
-					listHz[k2].IndustrialSubjectList = append(listHz[k2].IndustrialSubjectList, v)
-					mapIndustrial[fmt.Sprint(v2.IndustrialManagementId, "Hz", v.SubjectName)] = v2.IndustrialManagementId
-				}
-			}
-		}
-	}
-
-	mapUPdateTime := make(map[int]string)
-	articleIdArr := make([]int, 0)
-	//获取这些产业下最新更新的文章
 
 
-	fmt.Println(industrialIdArr)
-	listUpdateTime, err := models.GetNewArticleDetailByIndustrialIds(industrialIdArr)
-	if err != nil && err.Error() != utils.ErrNoRow() {
-		return
-	}
-	for _, v := range listUpdateTime {
-		mapUPdateTime[v.IndustrialManagementId] = v.PublishDate
-		articleIdArr = append(articleIdArr, v.ArticleId)
-	}
-	for k, v := range listHz {
-		listHz[k].UpdateTime = utils.TimeRemoveHms(mapUPdateTime[v.IndustrialManagementId])
-	}
-	items = listHz
+	listHz, err = HandleIndustryList(listHz, user)
+	//合并产业关联的标的
+	//listSubjcet, err := models.GetThemeHeatSubjectList("")
+	//if err != nil {
+	//	return
+	//}
+	//industrialIdArr := make([]int, 0)
+	//for k, v := range listHz {
+	//	listHz[k].Source = 1
+	//	if fllowMap[v.IndustrialManagementId] > 0 {
+	//		listHz[k].IsFollow = true
+	//	}
+	//	industrialIdArr = append(industrialIdArr, v.IndustrialManagementId)
+	//	videoSimple, au, e := GetindustryVideo(user, v.IndustrialManagementId)
+	//	if e != nil {
+	//		err = errors.New("获取产业关联的视频失败,GetindustryVideo " + e.Error())
+	//		return
+	//	}
+	//	if videoSimple != nil && videoSimple.Id > 0 {
+	//		v.IndustryVideo = videoSimple
+	//	}
+	//	v.AuthInfo = au
+	//}
+	//
+	//if len(industrialIdArr) > 0 {
+	//	//合并产业关联的标的
+	//	listSubjcet, err = models.GetIndustrialSubjectAllByIndustrialId(industrialIdArr)
+	//	if err != nil {
+	//		return
+	//	}
+	//	mapIndustrial := make(map[string]int)
+	//	for _, v := range listSubjcet {
+	//		for k2, v2 := range listHz {
+	//			if v2.IndustrialManagementId == v.IndustrialManagementId && mapIndustrial[fmt.Sprint(v2.IndustrialManagementId, "Hz", v.SubjectName)] == 0 {
+	//				listHz[k2].IndustrialSubjectList = append(listHz[k2].IndustrialSubjectList, v)
+	//				mapIndustrial[fmt.Sprint(v2.IndustrialManagementId, "Hz", v.SubjectName)] = v2.IndustrialManagementId
+	//			}
+	//		}
+	//	}
+	//}
+	//
+	//mapUPdateTime := make(map[int]string)
+	//articleIdArr := make([]int, 0)
+	////获取这些产业下最新更新的文章
+	//
+	//fmt.Println(industrialIdArr)
+	//listUpdateTime, err := models.GetNewArticleDetailByIndustrialIds(industrialIdArr)
+	//if err != nil && err.Error() != utils.ErrNoRow() {
+	//	return
+	//}
+	//for _, v := range listUpdateTime {
+	//	mapUPdateTime[v.IndustrialManagementId] = v.PublishDate
+	//	articleIdArr = append(articleIdArr, v.ArticleId)
+	//}
+	//for k, v := range listHz {
+	//	listHz[k].UpdateTime = utils.TimeRemoveHms(mapUPdateTime[v.IndustrialManagementId])
+	//}
+	//items = listHz
 	return
 	return
 }
 }