Browse Source

fix搜索小红点,时间线小红点

ziwen 2 years ago
parent
commit
fc4ec17e1f
4 changed files with 25 additions and 11 deletions
  1. 1 1
      controllers/activity.go
  2. 11 8
      controllers/report.go
  3. 5 2
      models/report.go
  4. 8 0
      utils/common.go

+ 1 - 1
controllers/activity.go

@@ -985,7 +985,7 @@ func (this *ActivityCoAntroller) Detail() {
 				var condition string
 				condition = ` AND m.industrial_management_id IN (` + industrialManagementId + `)`
 				condition += ` AND a.article_id < ` + strconv.Itoa(utils.SummaryArticleId)
-				listIndustrialGrop, err := models.GetSearchResourceList(condition, 0, 0)
+				listIndustrialGrop, err := models.GetSearchResourceList(user.UserId, condition, 0, 0)
 				if err != nil && err.Error() != utils.ErrNoRow() {
 					br.Msg = "获取信息失败"
 					br.ErrMsg = "GetSearchResourceList,Err:" + err.Error() + "activityId:" + strconv.Itoa(activityId)

+ 11 - 8
controllers/report.go

@@ -498,7 +498,7 @@ func (this *ReportController) List() {
 		}
 
 		for k, v := range list {
-			if v.Readnum == 0 && user.CreatedTime.Before(utils.StrTimeToTime(v.PublishDate)) && utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(v.PublishDate)) {
+			if v.Readnum == 0 && user.CreatedTime.Before(utils.StrDateToTime(v.PublishDate)) && utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrDateToTime(v.PublishDate)) {
 				list[k].IsRed = true
 			}
 			if v.VideoUrl != "" {
@@ -2537,7 +2537,7 @@ func (this *ReportController) SearchResource() {
 	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
 
-	listHz, err := models.GetSearchResourceList(condition, 0, 0)
+	listHz, err := models.GetSearchResourceList(user.UserId, condition, 0, 0)
 	if err != nil {
 		br.Msg = "获取信息失败"
 		br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
@@ -2547,7 +2547,7 @@ func (this *ReportController) SearchResource() {
 	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
 
-	listYx, err := models.GetSearchResourceList(condition, 0, 0)
+	listYx, err := models.GetSearchResourceList(user.UserId, condition, 0, 0)
 	if err != nil {
 		br.Msg = "获取信息失败"
 		br.ErrMsg = "获取文章列表失败,Err:" + err.Error()
@@ -2708,7 +2708,7 @@ func (this *ReportController) SearchReportAndResource() {
 	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
 
-	listHzResource, err := models.GetSearchResourceList(condition, 0, pageSize)
+	listHzResource, err := models.GetSearchResourceList(user.UserId, condition, 0, pageSize)
 	if err != nil {
 		br.Msg = "获取信息失败"
 		br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
@@ -2718,7 +2718,7 @@ func (this *ReportController) SearchReportAndResource() {
 	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
 
-	listYxResource, err := models.GetSearchResourceList(condition, 0, pageSize)
+	listYxResource, err := models.GetSearchResourceList(user.UserId, condition, 0, pageSize)
 	if err != nil {
 		br.Msg = "获取信息失败"
 		br.ErrMsg = "获取文章列表失败,Err:" + err.Error()
@@ -2767,6 +2767,9 @@ func (this *ReportController) SearchReportAndResource() {
 		if fllowMap[v.IndustrialManagementId] > 0 {
 			listHzResource[k].IsFollw = true
 		}
+		if v.Readnum == 0 && user.CreatedTime.Before(utils.StrDateToTime(v.PublishDate)) && utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrDateToTime(v.PublishDate)) {
+			listHzResource[k].IsRed = true
+		}
 		industrialIdArr = append(industrialIdArr, v.IndustrialManagementId)
 	}
 
@@ -3186,7 +3189,7 @@ func (this *ReportController) ResearchSummaryVoiceHistoryAdd() {
 			return
 		}
 		item := models.CygxResearchSummaryVoiceHistory{
-			ArticleId:  articleId,
+			ArticleId:   articleId,
 			UserId:      uid,
 			CreateTime:  time.Now(),
 			Mobile:      user.Mobile,
@@ -3247,7 +3250,7 @@ func (this *ReportController) ResearchSummaryVoiceHistoryAdd() {
 			return
 		}
 		item := models.CygxMinutesSummaryVoiceHistory{
-			ArticleId:  articleId,
+			ArticleId:   articleId,
 			UserId:      uid,
 			CreateTime:  time.Now(),
 			Mobile:      user.Mobile,
@@ -3308,7 +3311,7 @@ func (this *ReportController) ResearchSummaryVoiceHistoryAdd() {
 			return
 		}
 		item := models.CygxReportSelectionVoiceHistory{
-			ArticleId:  articleId,
+			ArticleId:   articleId,
 			UserId:      uid,
 			CreateTime:  time.Now(),
 			Mobile:      user.Mobile,

+ 5 - 2
models/report.go

@@ -404,6 +404,8 @@ type IndustrialManagementHotResp struct {
 	FllowNum               int                   `description:"关注数量"`
 	IsNew                  bool                  `description:"是否新标签"`
 	IsHot                  bool                  `description:"是否新标签"`
+	IsRed                  bool                  `description:"是否标记红点"`
+	Readnum                int                   `description:"阅读数量"`
 	PublishDate            string                `description:"发布时间"`
 	MinReportTime          string                `description:"报告最早发布时间"`
 	ArticleReadNum         int                   `description:"文章阅读数量"`
@@ -721,14 +723,15 @@ type SearchReportAndResourceResp struct {
 }
 
 //产业列表
-func GetSearchResourceList(condition string, startSize, pageSize int) (items []*IndustrialManagementHotResp, err error) {
+func GetSearchResourceList(userId int, condition string, startSize, pageSize int) (items []*IndustrialManagementHotResp, err error) {
 	o := orm.NewOrm()
 	sql := `SELECT
 			m.industry_name,
 			m.industrial_management_id,
  			MAX( a.publish_date ) as publish_date_order,
 			MIN(a.publish_date) AS min_report_time,
-			date_format( MAX( a.publish_date ), '%Y-%m-%d' ) AS publish_date 
+			date_format( MAX( a.publish_date ), '%Y-%m-%d' ) AS publish_date,
+			(SELECT COUNT(1) FROM cygx_article_history_record AS rec WHERE rec.user_id = ` + strconv.Itoa(userId) + ` AND  rec.article_id=a.article_id) AS readnum 
 		FROM
 			cygx_industrial_management AS m
 			INNER JOIN cygx_industrial_article_group_management AS mg ON mg.industrial_management_id = m.industrial_management_id

+ 8 - 0
utils/common.go

@@ -812,3 +812,11 @@ func GetLastMonthLastDay() time.Time {
 	nowMonthLastDay = time.Date(nowMonthLastDay.Year(), nowMonthLastDay.Month(), nowMonthLastDay.Day(), 23, 59, 59, 0, nowMonthLastDay.Location())
 	return nowMonthLastDay
 }
+
+//字符串转换为time
+func StrDateToTime(strTime string) time.Time {
+	timeLayout := "2006-01-02"  //转化所需模板
+	loc, _ := time.LoadLocation("Local") //重要:获取时区
+	resultTime, _ := time.ParseInLocation(timeLayout, strTime, loc)
+	return resultTime
+}