Browse Source

Merge branch 'cygx_9.2' into debug

ziwen 2 years ago
parent
commit
14e6142301
1 changed files with 109 additions and 3 deletions
  1. 109 3
      controllers/report.go

+ 109 - 3
controllers/report.go

@@ -2971,9 +2971,115 @@ func (this *ReportController) SearchReportAndResource() {
 			return
 		}
 
-		for _, v2 := range list {
-			if mapHistroyArticleId[v2.ArticleId] == 0 && user.CreatedTime.Before(utils.StrDateToTime(v.PublishDate)) && utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrDateToTime(v.PublishDate)) {
-				listHzResource[k].IsRed = true
+		mapUPdateTime := make(map[int]string)
+		//获取这些产业下最新更新的文章
+
+		//时间线的更新时间
+		//	maptimelineUPdateTime := make(map[int]string)
+		listtimelinePublishdate, err := models.GetTimeLineReportIndustrialPublishdateList(industrialIdArr)
+		if err != nil && err.Error() != utils.ErrNoRow() {
+			return
+		}
+		for _, v := range listtimelinePublishdate {
+			if mapUPdateTime[v.IndustrialManagementId] != "" {
+				if utils.StrTimeToTime(v.PublishDate).After(utils.StrTimeToTime(mapUPdateTime[v.IndustrialManagementId])) {
+					mapUPdateTime[v.IndustrialManagementId] = v.PublishDate
+				}
+			}
+		}
+
+		//mapHistroyArticleId := make(map[int]int)
+
+		//if userId > 0 {
+		//	listArticleHistory, e := models.GetUserToArticleHistory(userId, articleIdArr)
+		//	if e != nil && e.Error() != utils.ErrNoRow() {
+		//		err = errors.New("获取产业关联的视频失败,GetindustryVideo " + e.Error())
+		//		return
+		//	}
+		//	for _, v := range listArticleHistory {
+		//		mapHistroyArticleId[v.ArticleId] = v.ArticleId
+		//	}
+		//}
+		var industrialIds string
+		for _, id := range industrialIdArr {
+			industrialIds += strconv.Itoa(id) + ","
+		}
+		industrialIds = strings.TrimRight(industrialIds, ",")
+		articleList, err := models.GetReportIndustrialReadNumList(user.UserId, industrialIds, user.CreatedTime)
+		mapHistroyindustrialId := make(map[int]int)
+		for _, v := range articleList {
+			mapHistroyindustrialId[v.IndustrialManagementId] = v.Readnum
+		}
+		//nowTime := time.Now().Local()
+		//threeMonBefore := nowTime.AddDate(0, -3, 0)
+
+		//查询用户今天是否看过时间线
+		//haveMorningMeeting := false
+		//var morningMeetingTime string
+		recrodList, err := models.GetTimeLineRecordAllCount(user.UserId, time.Now().Format(utils.FormatDate))
+		if err != nil {
+			return
+		}
+		var industrialManagementIdstr string
+		industrialIdMap := make(map[string]time.Time)
+		for _, v := range recrodList {
+			industrialManagementIdstr = strings.TrimLeft(v.Parameter, "PageSize=10&CurrentIndex=1&CategoryId=99999&IndustrialManagementId=")
+			if createTime, ok := industrialIdMap[industrialManagementIdstr]; ok{
+				if createTime.Before(v.CreateTime) {
+					industrialIdMap[industrialManagementIdstr] = v.CreateTime
+				}
+			}else {
+				industrialIdMap[industrialManagementIdstr] = v.CreateTime
+			}
+		}
+
+		mmList, err := models.GetCygxMorningMeetingReviewsListByIndustrialIds(industrialIds)
+		if err != nil {
+			return
+		}
+		morningMeetingTimeMap := make(map[int]time.Time)
+		for _, v := range mmList {
+			morningMeetingTimeMap[v.IndustryId] = v.CreateTime
+		}
+		timeLineRedMap := make(map[int]bool, 0)
+
+		for _, industrialId := range industrialIdArr {
+			if createTime, ok := industrialIdMap[strconv.Itoa(industrialId)]; ok{
+				if createTime.Before(morningMeetingTimeMap[industrialId]) {
+					timeLineRedMap[industrialId] = true
+				}
+			}
+		}
+
+		for k, v := range list {
+			list[k].UpdateTime = utils.TimeRemoveHms(mapUPdateTime[v.IndustrialManagementId])
+			if user.UserId > 0 {
+				//如果文章没有阅读,而且,文章的发布时间晚于项目的上线时间,而且文章的发布时间晚于用户的注册时间,就进行标红处理
+				if mapHistroyindustrialId[v.IndustrialManagementId] == 0 || timeLineRedMap[v.IndustrialManagementId] {
+					if 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 = 0
+			}
+
+			list[k].UpdateTime = utils.TimeRemoveHms(mapUPdateTime[v.IndustrialManagementId])
+			if user.UserId > 0 {
+				//如果文章没有阅读,而且,文章的发布时间晚于项目的上线时间,而且文章的发布时间晚于用户的注册时间,就进行标红处理
+				if mapHistroyindustrialId[v.IndustrialManagementId] == 0 || timeLineRedMap[v.IndustrialManagementId] {
+					if 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 = 0
 			}
 		}