xingzai 3 ani în urmă
părinte
comite
3270a30a0b
2 a modificat fișierele cu 30 adăugiri și 11 ștergeri
  1. 12 9
      controllers/article.go
  2. 18 2
      models/article_history_record.go

+ 12 - 9
controllers/article.go

@@ -137,15 +137,18 @@ func (this *ArticleController) Detail() {
 				//var detailNew *models.AddStopTimeNewRep
 				//detailNew, _ = models.GetNewArticleHistoryRecord(uid, articleId)
 				//if detailNew == nil || detailNew.StopTime != 0 {
-				historyRecord := new(models.CygxArticleHistoryRecord)
-				historyRecord.UserId = uid
-				historyRecord.ArticleId = articleId
-				historyRecord.CreateTime = time.Now()
-				historyRecord.Mobile = user.Mobile
-				historyRecord.Email = user.Email
-				historyRecord.CompanyId = user.CompanyId
-				historyRecord.CompanyName = user.CompanyName
-				go models.AddCygxArticleHistoryRecord(historyRecord)
+				recordCount, _ := models.GetNoAddStoptimeArticleCount(uid, articleId)
+				if recordCount < 1 {
+					historyRecord := new(models.CygxArticleHistoryRecord)
+					historyRecord.UserId = uid
+					historyRecord.ArticleId = articleId
+					historyRecord.CreateTime = time.Now()
+					historyRecord.Mobile = user.Mobile
+					historyRecord.Email = user.Email
+					historyRecord.CompanyId = user.CompanyId
+					historyRecord.CompanyName = user.CompanyName
+					go models.AddCygxArticleHistoryRecord(historyRecord)
+				}
 				//}
 			} else { //无该行业权限
 				hasPermission = 3

+ 18 - 2
models/article_history_record.go

@@ -73,13 +73,21 @@ type ArticleDetailAddStopTimeRep struct {
 
 func AddArticleStopTime(item *AddStopTimeNewRep) (err error) {
 	o := orm.NewOrm()
+	//o.Begin()
+	//defer func() {
+	//	if err == nil {
+	//		o.Commit()
+	//	} else {
+	//		o.Rollback()
+	//	}
+	//}()
 	sql := `UPDATE cygx_article_history_record SET stop_time = ? WHERE id =?`
 	_, err = o.Raw(sql, item.StopTime, item.Id).Exec()
 	if err != nil && err.Error() != utils.ErrNoRow() {
 		return
 	}
-	sql = ` DELETE  FROM cygx_article_history_record  WHERE create_time > '2021-06-01 00:00:00' AND stop_time = 0`
-	_, err = o.Raw(sql).Exec()
+	//sql = ` DELETE  FROM cygx_article_history_record  WHERE create_time > '2021-06-01 00:00:00' AND stop_time = 0`
+	//_, err = o.Raw(sql).Exec()
 	return
 }
 
@@ -90,3 +98,11 @@ func GetNewArticleHistoryRecord(uid, articleId int) (item *AddStopTimeNewRep, er
 	err = o.Raw(sql, uid, articleId).QueryRow(&item)
 	return
 }
+
+//获取用户阅读记录
+func GetNoAddStoptimeArticleCount(uid, articleId int) (count int, err error) {
+	sqlCount := `SELECT COUNT(1) AS count FROM cygx_article_history_record WHERE user_id=? AND article_id=? AND stop_time = 0 `
+	o := orm.NewOrm()
+	err = o.Raw(sqlCount, uid, articleId).QueryRow(&count)
+	return
+}