29 lines
1.5 KiB
Go
29 lines
1.5 KiB
Go
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"
|
|
}
|