package domain

import "time"

//用户是否可用状态:【1:正常】【 2:禁用】
const (
	userStatusUsable   int8 = 1
	userStatusUnusable int8 = 2
)

//用户是否是主管 :【1:是主管】【 2:不是主管】
const (
	userIsCharge    int8 = 1
	userIsNotCharge int8 = 2
)

//Users 企业平台的用户
type Users struct {
	Id           int64     //用户id
	CompanyId    int64     //公司id
	OpenId       int64     //统一用户中心
	Name         string    //用户名称
	Sex          int8      //性别:【0:未知】【1:男】【2:女】
	JobNum       string    //工号
	Phone        string    //手机号,同账号
	PrivatePhone string    //私人手机号
	Email        string    //邮件
	ExtensionNum string    //分机号
	EntryTime    time.Time //入职时间
	Workspace    string    //工作地
	Status       int8      //状态:【1:正常】【 2:禁用】
	Avatar       string    ///头像
	Remarks      string    //备注
	ChargeStatus int8      //是否为当前公司主管 【1:是】【2:否】
	CreateAt     time.Time
	UpdateAt     time.Time
	Permission   []AdminPermissionBase //权限
}

//IsUsable 用户是否可用
func (u Users) IsUsable() bool {
	return u.Status == userStatusUsable
}

//IsCharge 用户是否是主管
func (u Users) IsCharge() bool {
	return u.ChargeStatus == userIsCharge
}