package models import ( "errors" "github.com/jinzhu/gorm" ) // Product product // product is a abstract define of same devices made by some vendor type Product struct { gorm.Model RecordId string `gorm:"primary_key;column:record_id;size:32;index"` // which vendor VendorID string `gorm:"column:vendor_id;size:32;index"` // name ProductName string `sql:"type:varchar(200);not null;"` // desc ProductDescription string `sql:"type:text;not null;"` // product key to auth a product ProductKey string `sql:"type:varchar(200);not null;unique;key;"` // product config string (JSON) ProductConfig string `sql:"type:text; not null;"` // icon of product ProductImage string // product class ProductType string Devices []Device } // Validate 验证 func (a *Product) Validate() error { if a.ProductName == "" { return errors.New("非法参数:[ProductName]") } return nil }