package model // StreetSnap 街拍主表(对应 db_dev.street_snap)。 // // 字段对齐 db_dev 约定:INT UNSIGNED 主键、int unsigned 时间戳、is_deleted 软删、varchar(255)。 // 与 brand_runway 双表同构,但**无 brand_id**(街拍不关联品牌,模块自治)。 type StreetSnap struct { ID uint32 `gorm:"primaryKey;column:id" json:"id"` Title string `gorm:"column:title" json:"title"` Year uint16 `gorm:"column:year" json:"year"` City string `gorm:"column:city" json:"city"` // 地区/城市(从 title 第一段 \t 解析回填),'' 表示未归类 Cover string `gorm:"column:cover" json:"cover"` ImageCount uint16 `gorm:"column:image_count" json:"image_count"` IsDeleted uint8 `gorm:"column:is_deleted" json:"is_deleted"` CreatedAt uint32 `gorm:"column:created_at" json:"created_at"` UpdatedAt uint32 `gorm:"column:updated_at" json:"updated_at"` } // TableName 指定主表名。 func (StreetSnap) TableName() string { return "street_snap" } // StreetSnapImage 街拍图片表(对应 db_dev.street_snap_images)。 // // 仿 brand_runway_images,但把 runway_id 改名为 snap_id,去掉 brand_id(街拍无品牌关联)。 type StreetSnapImage struct { ID uint32 `gorm:"primaryKey;column:id" json:"id"` SnapID uint32 `gorm:"column:snap_id" json:"snap_id"` Image string `gorm:"column:image" json:"image"` Name string `gorm:"column:name" json:"name"` SortOrder uint32 `gorm:"column:sort_order" json:"sort_order"` IsDeleted uint8 `gorm:"column:is_deleted" json:"is_deleted"` CreatedAt uint32 `gorm:"column:created_at" json:"created_at"` UpdatedAt uint32 `gorm:"column:updated_at" json:"updated_at"` Phash uint64 `gorm:"column:phash" json:"phash"` // 感知哈希 64-bit;0=未计算(存量) IsDuplicate uint8 `gorm:"column:is_duplicate" json:"is_duplicate"` // 近似重复标记:0=否 1=是(命中留痕不删) DupOf string `gorm:"column:dup_of" json:"dup_of"` // 近似重复指向的图 uid(hashid),''=非重复 } // TableName 指定图片明细表名。 func (StreetSnapImage) TableName() string { return "street_snap_images" }