package model import ( "database/sql/driver" "encoding/json" "gorm.io/plugin/soft_delete" "time" ) type ArtExhibitionDetail struct { ShowUID string ShowSeq string ShowName string ArtistName string ArtistUID string ArtworkNum uint64 Ruler uint64 Price uint64 Reward uint64 CreateTime string Operator string IsShow uint64 ShowTime string Address string } type Artwork struct { ArtworkPriceUID string ShowUID string ArtworkUID string ArtworkName string ArtistName string Length uint64 Width uint64 Ruler uint64 SmallPic string } type Artworks []Artwork // ApprovalExhibition 绑定的画展包 type ApprovalExhibition struct { ID uint64 `gorm:"primaryKey;column:id" json:"id"` // ID DeletedAt soft_delete.DeletedAt `gorm:"column:deleted_at" json:"deletedAt"` // 删除时间 CreatedAt time.Time `gorm:"column:created_at" json:"createdAt"` // 创建时间 UpdatedAt time.Time `gorm:"column:updated_at" json:"updatedAt"` // 更新时间 ApprovalID uint64 `gorm:"column:approval_id" json:"approvalId"` // 申请的id ExhibitionID uint64 `gorm:"column:exhibition_id" json:"exhibitionId"` // 画展包的id PackageName string `gorm:"column:package_name" json:"PackageName"` // 作品名称 PackageID string `gorm:"size:64;column:package_id;default:''" json:"packageID"` // 作品类型id PackageSize uint64 `gorm:"column:package_size" json:"PackageSize"` // 平尺数 PackageNumber string `gorm:"column:package_number" json:"packageNumber"` // 序号 Address string `gorm:"column:address" json:"Address"` // 地点 ShowDate string `gorm:"type:varchar(10);default:'';column:show_date" json:"ShowDate"` // 位置 ArtExhibitionDetail ArtExhibitionDetail `gorm:"type:text;column:art_exhibition_detail;comment:绑定的画展包" json:"artExhibitionDetail"` Artworks Artworks `gorm:"type:text;column:artworks;comment:画作" json:"artworks"` } // TableName get sql table name.获取数据库表名 func (m *ApprovalExhibition) TableName() string { return "approval_exhibition" } func (j Artworks) Scan(src interface{}) error { return json.Unmarshal(src.([]byte), j) } func (j Artworks) Value() (driver.Value, error) { v, err := json.Marshal(j) return string(v), err } func (j ArtExhibitionDetail) Scan(src interface{}) error { return json.Unmarshal(src.([]byte), j) } func (j ArtExhibitionDetail) Value() (driver.Value, error) { v, err := json.Marshal(j) return string(v), err }