feat(listings): 足迹与收藏改为账号同步并新增后端表与接口
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
package model
|
||||
|
||||
import "time"
|
||||
|
||||
const (
|
||||
ListingCollectionKindHistory = "history"
|
||||
ListingCollectionKindFavorite = "favorite"
|
||||
)
|
||||
|
||||
// ListingCollection 记录用户对商品的浏览足迹或收藏关系。
|
||||
// 同一用户 + 商品 + 类型唯一,重复浏览只更新时间,不新增行。
|
||||
type ListingCollection struct {
|
||||
ID uint64 `gorm:"primaryKey" json:"id"`
|
||||
UserID uint64 `gorm:"not null;uniqueIndex:uk_listing_collections_user_listing_kind,priority:1;index:idx_listing_collections_user_kind_time,priority:1" json:"user_id"`
|
||||
ListingID uint64 `gorm:"not null;uniqueIndex:uk_listing_collections_user_listing_kind,priority:2;index:idx_listing_collections_user_kind_time,priority:3;index:idx_listing_collections_listing" json:"listing_id"`
|
||||
Kind string `gorm:"size:16;not null;uniqueIndex:uk_listing_collections_user_listing_kind,priority:3;index:idx_listing_collections_user_kind_time,priority:2" json:"kind"`
|
||||
OccurredAt time.Time `gorm:"not null;index:idx_listing_collections_user_kind_time,priority:4" json:"occurred_at"`
|
||||
CreatedAt time.Time `json:"created_at"`
|
||||
UpdatedAt time.Time `json:"updated_at"`
|
||||
}
|
||||
|
||||
func (ListingCollection) TableName() string {
|
||||
return "listing_collections"
|
||||
}
|
||||
Reference in New Issue
Block a user