|
@@ -5,6 +5,8 @@ import (
|
|
|
"fmt"
|
|
|
"hongze/hongze_clpt/models"
|
|
|
"hongze/hongze_clpt/utils"
|
|
|
+ "strconv"
|
|
|
+ "strings"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
@@ -119,8 +121,7 @@ func HandleIndustryList(list []*models.IndustrialManagement, user *models.WxUser
|
|
|
}
|
|
|
v.AuthInfo = au
|
|
|
}
|
|
|
- mapUPdateTime := make(map[int]string)
|
|
|
- mapHistroyArticleId := make(map[int]int)
|
|
|
+
|
|
|
if len(industrialIdArr) > 0 {
|
|
|
//合并产业关联的标的
|
|
|
listSubjcet, err = models.GetIndustrialSubjectAllByIndustrialId(industrialIdArr)
|
|
@@ -136,73 +137,126 @@ func HandleIndustryList(list []*models.IndustrialManagement, user *models.WxUser
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ }
|
|
|
+ mapUPdateTime := make(map[int]string)
|
|
|
+ articleIdArr := make([]int, 0)
|
|
|
+ //获取这些产业下最新更新的文章
|
|
|
|
|
|
- articleIdArr := make([]int, 0)
|
|
|
- //获取这些产业下最新更新的文章
|
|
|
- if len(industrialIdArr) > 0 {
|
|
|
- listUpdateTime, e := models.GetNewArticleDetailByIndustrialIds(industrialIdArr)
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
- err = e
|
|
|
- return
|
|
|
- }
|
|
|
- for _, v := range listUpdateTime {
|
|
|
+ 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)
|
|
|
+ }
|
|
|
+
|
|
|
+ //时间线的更新时间
|
|
|
+ // 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
|
|
|
- articleIdArr = append(articleIdArr, v.ArticleId)
|
|
|
}
|
|
|
}
|
|
|
- //时间线的更新时间
|
|
|
- // maptimelineUPdateTime := make(map[int]string)
|
|
|
- listtimelinePublishdate, e := models.GetTimeLineReportIndustrialPublishdateList(industrialIdArr)
|
|
|
- if e != nil && e.Error() != utils.ErrNoRow() {
|
|
|
- err = e
|
|
|
- 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(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
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
- 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
|
|
|
+ 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
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- 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
|
|
|
+ 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 = false
|
|
|
+ list[k].IsFollow = true
|
|
|
}
|
|
|
|
|
|
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
|
|
|
+ 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 = false
|
|
|
+ list[k].IsFollow = true
|
|
|
}
|
|
|
|
|
|
// 关联报告发布时间均在3个月内则标记New
|