package models import ( "time" ) // UserAddress 收货地址表 type UserAddress struct { ID uint `gorm:"primaryKey;autoIncrement" json:"id"` UserID uint `gorm:"type:int;not null;comment:用户ID" json:"user_id"` ConsigneeName string `gorm:"type:varchar(50);not null;comment:收件人姓名" json:"consignee_name" binding:"required"` ConsigneePhone string `gorm:"type:varchar(20);not null;comment:收件人电话" json:"consignee_phone" binding:"required"` Province string `gorm:"type:varchar(50);not null;comment:省份" json:"province" binding:"required"` City string `gorm:"type:varchar(50);not null;comment:城市" json:"city" binding:"required"` District string `gorm:"type:varchar(50);not null;comment:区县" json:"district" binding:"required"` DetailAddress string `gorm:"type:varchar(200);not null;comment:详细地址" json:"detail_address" binding:"required"` PostalCode string `gorm:"type:varchar(10);comment:邮政编码" json:"postal_code"` IsDefault uint8 `gorm:"type:tinyint;not null;default:0;comment:是否默认地址:0否,1是" json:"is_default"` CreatedAt time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP" json:"created_at"` UpdatedAt time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP" json:"updated_at"` // 关联关系 User *User `gorm:"foreignKey:UserID;constraint:OnDelete:CASCADE" json:"-"` } func (UserAddress) TableName() string { return "user_addresses" }