package model

import (
	"time"
)

type User struct {
	Uid           int       `json:"uid" xorm:"not null pk autoincr comment('主键ID') INT(10)"`
	Username      string    `json:"username" xorm:"not null default '' comment('用户名') index VARCHAR(50)"`
	Password      string    `json:"password" xorm:"not null default '' comment('密码') CHAR(32)"`
	Passcode      string    `json:"passcode" xorm:"not null default '' comment('支付密码') CHAR(32)"`
	Email         string    `json:"email" xorm:"not null default '' comment('邮箱') VARCHAR(128)"`
	Phone         string    `json:"phone" xorm:"not null default '' comment('联系电话') index VARCHAR(20)"`
	Nickname      string    `json:"nickname" xorm:"not null default '' comment('昵称') VARCHAR(20)"`
	Level         int       `json:"level" xorm:"not null default 0 comment('用户等级id') INT(11)"`
	IsStore       int       `json:"is_store" xorm:"not null default 0 comment('') INT(11)"`
	InviteTotal   int       `json:"invite_total" xorm:"not null default 0 comment('直推邀请总人数') INT(11)"`
	LevelArriveAt time.Time `json:"level_arrive_at" xorm:"not null default 'CURRENT_TIMESTAMP' comment('到达该等级的时间') TIMESTAMP"`
	LevelExpireAt time.Time `json:"level_expire_at" xorm:"not null default '0000-00-00 00:00:00' comment('该等级过期时间') TIMESTAMP"`
	CreateAt      time.Time `json:"create_at" xorm:"not null default 'CURRENT_TIMESTAMP' comment('创建时间') TIMESTAMP"`
	UpdateAt      time.Time `json:"update_at" xorm:"default 'CURRENT_TIMESTAMP' comment('最后修改资料时间') TIMESTAMP"`
	LastLoginAt   time.Time `json:"last_login_at" xorm:"default 'CURRENT_TIMESTAMP' comment('最近登录时间') TIMESTAMP"`
	DeleteAt      int       `json:"delete_at" xorm:"not null default 0 comment('是否删除;0未删除;1已删除') TINYINT(1)"`
	State         int       `json:"state" xorm:"not null default 1 comment('0未激活,1正常,2冻结') TINYINT(1)"`
	LastLoginIp   string    `json:"last_login_ip" xorm:"not null default '' comment('最后登录IP') VARCHAR(64)"`
	RegisterIp    string    `json:"register_ip" xorm:"not null default '' comment('注册IP') VARCHAR(64)"`
	IsFake        int       `json:"is_fake" xorm:"not null default 0 comment('0真实 1虚拟') TINYINT(1)"`
	IsMarketer    int       `json:"is_marketer" xorm:"not null default 0 comment('是否市商 0否 1是') TINYINT(1)"`
	Zone          string    `json:"zone" xorm:"not null default '86' comment('区号') VARCHAR(100)"`
	SalePhone     string    `json:"sale_phone" xorm:"not null default '' comment('') VARCHAR(100)"`
	Platform      string    `json:"platform" xorm:"not null default '' comment('') VARCHAR(100)"`
}