package models import ( "time" "gorm.io/gorm" ) // SearchLog 搜索记录模型 type SearchLog struct { ID uint `json:"id" gorm:"primaryKey;column:id"` Keyword string `json:"keyword" gorm:"column:keyword"` SearchType string `json:"searchType" gorm:"column:search_type"` // category/tag/column/keyword UserIP string `json:"userIp" gorm:"column:user_ip"` UserLocation string `json:"userLocation" gorm:"column:user_location"` DeletedAt int64 `json:"deletedAt" gorm:"column:deleted_at;default:0"` CreatedAt int64 `json:"createdAt" gorm:"column:created_at"` } // TableName 指定表名 func (SearchLog) TableName() string { return "search_logs" } // BeforeCreate 创建前钩子 func (sl *SearchLog) BeforeCreate(tx *gorm.DB) error { now := time.Now().Unix() if sl.CreatedAt == 0 { sl.CreatedAt = now } if sl.DeletedAt == 0 { sl.DeletedAt = 0 } return nil }