package schema import ( "time" "github.com/guxuan/hailin_service/internal/config" ) type WebSite struct { ID string `json:"id" gorm:"size:20;primarykey;"` ReportNum string `json:"reportNum" gorm:"size:20"` ReportContent string `json:"reportContent" gorm:"size:2048"` ReportImage string `json:"reportImage" gorm:"size:1024"` Address string `json:"address" gorm:"size:1024"` Phone string `json:"phone" gorm:"size:50"` Email string `json:"email" gorm:"size:50"` SocialMedia *[]SocialMedia `json:"socialMedia" gorm:"serializer:json"` Lon float64 `json:"lon" gorm:""` Lat float64 `json:"lat" gorm:""` Affirm string `json:"affirm" gorm:"type:text"` CreatedAt time.Time `json:"created_at" gorm:"index;"` UpdatedAt time.Time `json:"updated_at" gorm:"index;"` } type SocialMedia struct { Name string `json:"name" gorm:"size:50"` Image string `json:"image" gorm:"size:1024"` Link string `json:"link" gorm:"size:1024"` } func (a *WebSite) TableName() string { return config.C.FormatTableName("web_site") } type WebSiteForm struct { ReportNum string `json:"reportNum"` ReportContent string `json:"reportContent"` ReportImage string `json:"reportImage"` Address string `json:"address"` Phone string `json:"phone" ` Email string `json:"email" ` SocialMedia *[]SocialMedia `json:"socialMedia" ` Lon float64 `json:"lon" ` Lat float64 `json:"lat" ` Affirm string `json:"affirm"` } func (a *WebSiteForm) FillTo(webSite *WebSite) error { webSite.ReportNum = a.ReportNum webSite.ReportContent = a.ReportContent webSite.ReportImage = a.ReportImage webSite.Address = a.Address webSite.Phone = a.Phone webSite.Email = a.Email webSite.SocialMedia = a.SocialMedia webSite.Lon = a.Lon webSite.Lat = a.Lat webSite.Affirm = a.Affirm return nil }