60 lines
2.0 KiB
Go
60 lines
2.0 KiB
Go
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
|
|
}
|