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)"`
	CanChangeLv     int       `json:"can_change_lv" xorm:"not null default 0 comment('是否市商 0否 1是') TINYINT(1)"`
	IsPop           int       `json:"is_pop" xorm:"not null default 0 comment('是否市商 0否 1是') TINYINT(1)"`
	IsNotAddMoments int       `json:"is_not_add_moments" 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)"`
	ImportFinTotal  string    `json:"import_fin_total" xorm:"not null default 0.000000 comment('累计总收益') DECIMAL(30,4)"`
	FinTotal        string    `json:"fin_total" xorm:"not null default 0.000000 comment('累计总收益') DECIMAL(30,4)"`
}
