package models

import (
	"gorm.io/gorm"
)

type User struct {
	gorm.Model
	Username   string `json:"username"` //用户名
	Account    string `json:"account"`
	Phone      string `json:"phone"`
	Avatar     string `json:"avatar"`
	Password   string `json:"password"`
	OpenId     string `json:"open_id"`
	Role       string `json:"role"`  //只有管理员拥有权限admin
	State      bool   `json:"state"` //用户状态
	SessionKey string `json:"session_key"`
	UpdateBy   int    `json:"update_by"` //更新
}

func (*User) TableName() string {
	return "user"
}

type UserRegist struct {
	Username string `json:"username" validate:"required,min=2,max=20"` // 用户名
	Phone    string `json:"phone" validate:"required,min=11,max=11"`   //手机号
	Account  string `json:"account" validate:"required,min=6,max=20"`  //账号
	Password string `json:"password" validate:"required,min=6,max=20"` // 密码
	Code     string `json:"code" validate:"required,min=6,max=6"`      // 验证码
}
type UserVo struct {
	Id       int    `json:"id"`
	Username string `json:"username" validate:"required,min=2,max=20"` // 用户名
	Phone    string `json:"phone" validate:"required,min=11,max=11"`   //手机号
	Account  string `json:"account" validate:"required,min=6,max=20"`  //账号
	Password string `json:"password" validate:"required,min=6,max=20"` // 密码
	State    bool   `json:"state"`
	Avatar   string `json:"avatar"` //用户状态
}
type UserDto struct {
	User
	Token string `json:"token"`
}