## CI 修复 (P0/P1) P0 — 编译阻塞: - interfaces.go: postUseCase ISP 接口移除不用的 Create/Update/Delete P1 — 必须修复: - ST1000: 为 13 个包添加包注释 (common/config/model/service/...) - ST1005: redis_store.go 全部错误消息改为小写开头 - errcheck (19处): defer Close()→闭包忽略, notifier.Create→_=, r.Run→检查error - errorlint (9处): switch-on-error→errors.Is 链, ==→errors.Is - ST1020/ST1022: 导出符号注释以符号名开头 P2 — 安全评审: - gosec (12处): G203/G301/G304/G306 添加 nolint 注释并附理由 P3 — 清理: - unused: 移除 hasUnicode/energyStore/current/energyAdminUseCase - gofumpt + goimports 全量格式化 (35+ 文件)
20 lines
839 B
Go
20 lines
839 B
Go
package model
|
|
|
|
import "time"
|
|
|
|
// PostReadLog 文章阅读记录(已登录用户每篇文章只记录一次)
|
|
type PostReadLog struct {
|
|
ID uint `gorm:"primarykey" json:"id"`
|
|
UserID uint `gorm:"uniqueIndex:idx_user_post_read;not null" json:"user_id"`
|
|
PostID uint `gorm:"uniqueIndex:idx_user_post_read;not null" json:"post_id"`
|
|
ReadAt time.Time `gorm:"autoCreateTime" json:"read_at"`
|
|
}
|
|
|
|
// PostGuestReadLog 访客阅读记录(未登录用户,基于 Cookie 标识去重)
|
|
type PostGuestReadLog struct {
|
|
ID uint `gorm:"primarykey" json:"id"`
|
|
VisitorID string `gorm:"uniqueIndex:idx_visitor_post_read;type:varchar(64);not null" json:"visitor_id"`
|
|
PostID uint `gorm:"uniqueIndex:idx_visitor_post_read;not null" json:"post_id"`
|
|
ReadAt time.Time `gorm:"autoCreateTime" json:"read_at"`
|
|
}
|