123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- package request
- import (
- "gorm.io/gorm"
- pb "sghgogs.com/micro/shopping-service/proto"
- "time"
- )
- type User struct {
- ID int64 `gorm:"primary_key;not_null;auto_increment;" json:"id"`
- Username string `gorm:"unique_index;not_null" json:"username"`
- Password string `json:"-" gorm:"unique_index;not_null"` // 这里使用 "-" 表示在 JSON 输出时不包含密码字段
- PhoneNumber string `json:"phone_number"`
- Email string `json:"email"`
- Avatar string `json:"avatar"`
- CreatedAt time.Time `json:"created_at"` // 创建时间
- CreatedBy string `json:"created_by"`
- UpdatedAt *time.Time `json:"updated_at"`
- UpdatedBy string `json:"updated_by"`
- Addresses []Address `gorm:"foreignKey:UserID" json:"addresses"`
- ShoppingCart ShoppingCart `gorm:"foreignKey:UserID" json:"shopping_cart"`
- Orders []Order `gorm:"foreignKey:UserID" json:"orders"`
- UserAuth []UserAuth `gorm:"foreignKey:UserID" json:"user_auth"`
- Roles []Role `gorm:"many2many:user_role;" json:"roles"`
- Status pb.StatusEnum `json:"status"`
- GroupID int64 `json:"group_id"`
- Group UserGroup `gorm:"foreignKey:GroupID"`
- DeletedAt gorm.DeletedAt
- }
- type UserGroup struct {
- ID int64 `gorm:"primary_key;not_null;auto_increment;" json:"id"`
- Name string `gorm:"unique_index;not_null" json:"name"` // 用户组名称
- Description string `json:"description"` // 用户组介绍
- Code string `gorm:"unique_index;not_null" json:"code"` // 用户组CODE唯一代码
- CreatedAt time.Time `json:"created_at"` // 创建时间
- CreatedBy string `json:"created_by"` // 创建人
- UpdatedAt *time.Time `json:"updated_at"` // 更新时间
- UpdatedBy string `json:"updated_by"` // 更新人
- DeletedAt gorm.DeletedAt
- }
- type UserAuth struct {
- ID int64 `gorm:"primary_key;not_null;auto_increment;" json:"id"`
- UserID int64 `gorm:"not null" json:"user_id"` // 用户 ID
- OauthType string `gorm:"not null" json:"oauth_type"` // 第三方登陆类型 weibo、qq、wechat 等
- OauthID string `gorm:"not null" json:"oauth_id"` // 第三方 uid 、openid 等
- UnionID string `json:"union_id"` // QQ / 微信同一主体下 UnionId 相同
- Credential string `json:"credential"` // 密码凭证 /access_token (目前更多是存储在缓存里)
- DeletedAt gorm.DeletedAt
- }
|