package model import ( "gorm.io/gorm" "gorm.io/plugin/soft_delete" ) type BundleProfile struct { gorm.Model UUID string `json:"uuid" gorm:"column:uuid;type:varchar(1024);comment:套餐UUID"` Name string `json:"name" gorm:"column:name;type:varchar(2048);comment:套餐名称"` Price float32 `json:"price" gorm:"column:price;type:decimal(12,2);comment:套餐价格"` PriceType int64 `json:"priceType" gorm:"column:price_type;type:int;comment:套餐价格类型 1:人民币 2:美元"` Contract string `json:"contract" gorm:"type:varchar(1024);comment:合同"` ContractDuration int `json:"contractDuration" gorm:"column:contract_duration;type:int;comment:合同有效时长"` Content string `json:"content" gorm:"column:content;type:text;comment:套餐内容"` CompanySign string `json:"companySign" gorm:"column:company_sign;type:varchar(1024);comment:公司签名"` Language string `json:"language" gorm:"column:language;type:varchar(32);comment:套餐语言 zh-CN EN"` BundleCommonUid string `json:"bundleCommonUid" gorm:"column:bundle_common_uid;type:varchar(1024);comment:套餐公共ID"` Sort int64 `json:"sort" gorm:"column:sort;type:int;comment:套餐排序"` //数字越小越靠前,同大小后创建优先 ShelfStatus int64 `json:"shelfStatus" gorm:"column:shelf_status;type:int;default:2;comment:上架状态 1:上架 2:下架"` BgImg1 string `json:"bgImg1" gorm:"column:bg_img1;type:varchar(1024);comment:背景图-首页"` BgImg2 string `json:"bgImg2" gorm:"column:bg_img2;type:varchar(1024);comment:背景图-我的"` //SelectAddService BundleSelectAddServicess `json:"selectAddService" gorm:"column:select_add_service;type:json;comment:已选增值服务"` BundleProfileLang []BundleProfileLang `gorm:"foreignKey:UUID;references:UUID" json:"bundleProfileLang"` } type BundleProfileLang struct { Id int32 `gorm:"column:id;type:int(11);primary_key;AUTO_INCREMENT" json:"id"` UUID string `json:"uuid" gorm:"column:uuid;type:varchar(1024);comment:套餐UUID"` Name string `json:"name" gorm:"column:name;type:varchar(2048);comment:套餐名称"` Price float32 `json:"price" gorm:"column:price;type:decimal(12,2);comment:套餐价格"` PriceType int64 `json:"priceType" gorm:"column:price_type;type:int;comment:套餐价格类型 1:人民币 2:美元"` Content string `json:"content" gorm:"column:content;type:text;comment:套餐内容"` Language string `json:"language" gorm:"column:language;type:varchar(32);comment:套餐语言 zh-CN zh-TW EN de-DE js-JP(中繁英德日)"` CreatedAt int64 `gorm:"column:created_at;autoCreateTime"` UpdatedAt int64 `gorm:"column:updated_at;autoCreateTime"` DeletedAt soft_delete.DeletedAt } type BundleToValueAddService struct { Id int32 `gorm:"column:id;type:int(11);primary_key;AUTO_INCREMENT" json:"id"` BundleUuid string `json:"bundleUuid" gorm:"column:bundle_uuid;type:varchar(1024);comment:套餐UUID"` BundleProfile BundleProfile `gorm:"foreignKey:BundleUuid;references:UUID" json:"bundleProfile"` ValueUid string `json:"valueUid" gorm:"column:value_uid;type:varchar(1024);comment:增值服务UUID"` ValueAddService ValueAddService `gorm:"foreignKey:ValueUid;references:UUID" json:"valueAddService"` IsDisplay bool `json:"isDisplay" gorm:"column:is_display;type:tinyint(1);comment:是否显示"` CreatedAt int64 `gorm:"column:created_at;autoCreateTime"` UpdatedAt int64 `gorm:"column:updated_at;autoCreateTime"` DeletedAt soft_delete.DeletedAt } // type BundleSelectAddServicess []*BundleSelectAddService // type BundleSelectAddService struct { // ValueUid string `json:"valueUid" gorm:"column:value_uid;type:varchar(1024);comment:增值服务UUID"` // ServiceName string `json:"serviceName" gorm:"column:service_name;type:varchar(1024);comment:增值服务名称"` // IsDisplay bool `json:"isDisplay" gorm:"column:is_display;type:tinyint(1);comment:是否显示 0:不显示 1:显示"` // } // // 实现 driver.Valuer 接口 // func (o BundleSelectAddServicess) Value() (driver.Value, error) { // return json.Marshal(o) // } // // 实现 sql.Scanner 接口 // // func (o *BundleSelectAddServicess) Scan(value interface{}) error { // bytes, ok := value.([]byte) // if !ok { // return errors.New("type assertion to []byte failed") // } // return json.Unmarshal(bytes, o) // } func (m *BundleProfile) TableName() string { return "bundle_profile" } func (m *BundleProfileLang) TableName() string { return "bundle_profile_lang" } func (m *BundleToValueAddService) TableName() string { return "bundle_to_value_add_service" }