Files
ArmedPolice/app/common/model/sys_user.go

67 lines
2.2 KiB
Go
Raw Normal View History

2021-11-02 10:02:52 +08:00
package model
import (
"ArmedPolice/utils"
"time"
"gorm.io/gorm"
)
type SysUser struct {
Model
2021-11-02 16:22:07 +08:00
ModelTenant
2021-11-02 10:02:52 +08:00
UUID uint64 `gorm:"column:uuid;uniqueIndex:idx_sys_user_uuid;type:int;default:0;comment:用户唯一UUID" json:"-"`
Account string `gorm:"column:account;type:varchar(50);default:null;comment:账户名" json:"account"`
Avatar string `gorm:"column:avatar;type:varchar(255);default:null;comment:头像" json:"avatar"`
Name string `gorm:"column:name;type:varchar(20);default:null;comment:真实姓名" json:"name"`
Mobile string `gorm:"column:mobile;index:idx_sys_user_mobile;type:varchar(15);default:null;comment:联系方式" json:"mobile"`
Email string `gorm:"column:email;type:varchar(50);default:null;comment:邮箱" json:"email"`
Gender
Password string `gorm:"column:password;type:varchar(100);default:null;comment:密码" json:"-"`
Salt string `gorm:"column:salt;type:varchar(10);default:null;comment:盐值" json:"-"`
IsAdmin SysUserAdministrator `gorm:"column:is_admin;type:tinyint(1);default:0;comment:管理员0普通用户1管理员" json:"-"`
Remark string `gorm:"column:remark;type:varchar(255);default:null;comment:备注" json:"-"`
2021-11-02 17:28:19 +08:00
Status SysUserStatus `gorm:"column:status;type:tinyint(1);default:1;comment:账号状态" json:"-"`
2021-11-02 10:02:52 +08:00
ModelDeleted
ModelAt
}
type SysUserAdministrator int
const (
// SysUserAdministratorForOrdinary 普通人员
SysUserAdministratorForOrdinary SysUserAdministrator = iota
// SysUserAdministratorForAdmin 管理员
SysUserAdministratorForAdmin
)
2021-11-02 17:28:19 +08:00
type SysUserStatus int
const (
// SysUserStatusForNormal 正常
SysUserStatusForNormal SysUserStatus = 1
// SysUserStatusForDisable 禁止登陆
SysUserStatusForDisable
)
2021-11-02 10:02:52 +08:00
func (m *SysUser) TableName() string {
return "sys_user"
}
func (m *SysUser) BeforeCreate(db *gorm.DB) error {
m.Pass()
snowflake, _ := utils.NewSnowflake(1)
m.UUID = uint64(snowflake.GetID())
m.CreatedAt = time.Now()
return nil
}
func (m *SysUser) Pass() {
m.Salt = utils.GetRandomString(8)
m.Password = utils.HashString([]byte(utils.Md5String(m.Password, m.Salt)))
}
func NewSysUser() *SysUser {
return &SysUser{}
}