29 lines
1.6 KiB
Go
29 lines
1.6 KiB
Go
package model
|
||
|
||
import "database/sql"
|
||
|
||
// BrandRunwayImage 走秀图片。
|
||
type BrandRunwayImage struct {
|
||
ID uint32 `gorm:"primaryKey;column:id" json:"id"`
|
||
CreatedAt uint32 `gorm:"column:created_at" json:"created_at"`
|
||
UpdatedAt uint32 `gorm:"column:updated_at" json:"updated_at"`
|
||
IsDeleted uint8 `gorm:"column:is_deleted" json:"is_deleted"`
|
||
Image string `gorm:"column:image" json:"image"`
|
||
RunwayID uint32 `gorm:"column:runway_id" json:"runway_id"`
|
||
BrandID uint32 `gorm:"column:brand_id" json:"brand_id"`
|
||
Name string `gorm:"column:name" json:"name"`
|
||
SortOrder uint32 `gorm:"column:sort_order" json:"sort_order"` // 拖拽排序用,由迁移脚本新增
|
||
LookIndex uint32 `gorm:"column:look_index" json:"look_index"` // 细节图归属的主图序号(主图=该 look;细节图=所属主图的 look)
|
||
IsDetail uint8 `gorm:"column:is_detail" json:"is_detail"` // 0=主图/look 图(默认展示) 1=细节图
|
||
|
||
// 去重字段(近重复 + 语义 embedding 留痕):
|
||
// phash 为 dHash 的 pgvector 二进制向量(vector(64)),NULL 表示无法解码(如 webp),不参与检索;
|
||
// is_duplicate / dup_of 仅在命中近重复时标记,供人工审核留痕,不阻断入库。
|
||
Phash sql.NullString `gorm:"column:phash;type:vector(64)" json:"phash"`
|
||
IsDuplicate uint8 `gorm:"column:is_duplicate;not null;default:0" json:"is_duplicate"`
|
||
DupOf string `gorm:"column:dup_of;type:varchar(32);not null;default:''" json:"dup_of"`
|
||
}
|
||
|
||
// TableName 指定表名。
|
||
func (BrandRunwayImage) TableName() string { return "brand_runway_images" }
|