Files
huangguo_server/models/v/noticerecdmod/trend.go
T
rootandClaude Opus 5 8679200f41 Initial commit
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 13:57:10 +08:00

43 lines
882 B
Go

package noticerecdmod
import "time"
// 动态类型
type TrendType string
const (
Fans TrendType = "fans" //粉丝
Like TrendType = "like" //点赞
Cmet TrendType = "cmet" //评论
Itte TrendType = "itte" //互动
)
// UpdateTrendReadTime 更新动态的阅读时间
func UpdateTrendReadTime(trend TrendType, uid uint64, readAt time.Time) error {
filter := M{
"uid": uid,
"noticeCode": trend,
}
noticeRecord := NoticeRecord{}
if err := coll(nil).FindOne(&noticeRecord, filter); err != nil {
return err
}
if noticeRecord.LastReadAt.After(readAt) {
return nil
}
filter["lastReadAt"] = M{"$lt": readAt}
update := M{
"$setOnInsert": M{
"uid": uid,
"noticeCode": trend,
"createdAt": time.Now(),
},
"$set": M{
"lastReadAt": readAt,
"updatedAt": time.Now(),
},
}
_, err := coll(nil).UpsertOne(filter, update)
return err
}