xingzai 2 gadi atpakaļ
vecāks
revīzija
1d403719fe
2 mainītis faili ar 33 papildinājumiem un 1 dzēšanām
  1. 13 1
      controllers/report.go
  2. 20 0
      models/article.go

+ 13 - 1
controllers/report.go

@@ -81,7 +81,19 @@ func (this *MobileReportController) TradeList() {
 	}
 	}
 
 
 	for k, v := range list {
 	for k, v := range list {
-		if v.Readnum == 0 && user.CreatedTime.Before(utils.StrTimeToTime(v.UpdateTime)) && utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(v.UpdateTime)) {
+		count, err := models.GetUserIsReadThisNewCategoryArticleCount(v.CategoryId, uid)
+		if err != nil && err.Error() != utils.ErrNoRow() {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取品种信息失败,Err:" + err.Error()
+			return
+		}
+		Newdetail, err := models.GetNewArticleByCategoryId(v.CategoryId)
+		if err != nil {
+			br.Msg = "获取信息失败"
+			br.ErrMsg = "获取信息失败,Err:" + err.Error()
+			return
+		}
+		if count == 0 && user.CreatedTime.Before(utils.StrTimeToTime(Newdetail.PublishDate)) && utils.StrTimeToTime(utils.OnlineTime).Before(utils.StrTimeToTime(Newdetail.PublishDate)) {
 			list[k].IsRed = true
 			list[k].IsRed = true
 		}
 		}
 		var condition string
 		var condition string

+ 20 - 0
models/article.go

@@ -206,3 +206,23 @@ func GetArticleDetailByIdStr(articleIdStr string) (items []*ArticleDetail, err e
 	_, err = o.Raw(sql).QueryRows(&items)
 	_, err = o.Raw(sql).QueryRows(&items)
 	return
 	return
 }
 }
+
+// 检查用户是否阅读某一分类最新文章
+func GetUserIsReadThisNewCategoryArticleCount(categoryId, uid int) (count int, err error) {
+	sqlCount := `SELECT COUNT(1) as count FROM
+	cygx_article_history_record 
+	WHERE
+	article_id = ( SELECT article_id FROM cygx_article WHERE category_id = ? ORDER BY publish_date DESC LIMIT 0, 1 )
+	AND user_id = ?`
+	o := orm.NewOrm()
+	err = o.Raw(sqlCount, categoryId, uid).QueryRow(&count)
+	return
+}
+
+// 获取最新文章
+func GetNewArticleByCategoryId(categoryId int) (item *ArticleDetail, err error) {
+	o := orm.NewOrm()
+	sql := ` SELECT * FROM cygx_article WHERE  category_id = ? ORDER BY publish_date DESC LIMIT 0, 1`
+	err = o.Raw(sql, categoryId).QueryRow(&item)
+	return
+}