2025-06-19 10:30:46 +08:00

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
}