51 lines
2.5 KiB
Go
51 lines
2.5 KiB
Go
package model
|
||
|
||
import (
|
||
"gorm.io/gorm"
|
||
"hospital-admin-api/global"
|
||
"time"
|
||
)
|
||
|
||
// AdminUser 后台-用户表
|
||
type AdminUser struct {
|
||
Model
|
||
UserID int64 `gorm:"column:user_id;type:bigint(19);primary_key;comment:'主键id'" json:"user_id"`
|
||
Access string `gorm:"column:access;type:varchar(64);comment:'账号'" json:"access"`
|
||
Password string `gorm:"column:password;type:varchar(128);comment:'密码'" json:"password"`
|
||
Salt string `gorm:"column:salt;type:varchar(255);comment:'密码掩码'" json:"salt"`
|
||
Status int `gorm:"column:status;type:tinyint(1);default:2;comment:'状态(1:正常 2:审核中 3:审核失败)'" json:"status"`
|
||
IsDeleted int `gorm:"column:is_deleted;type:tinyint(1);default:0;comment:'是否被删除(0:否 1:是)'" json:"is_deleted"`
|
||
IsDisabled int `gorm:"column:is_disabled;type:tinyint(1);default:0;comment:'是否被禁用(0:否 1:是)'" json:"is_disabled"`
|
||
NickName string `gorm:"column:nick_name;type:varchar(255);comment:'昵称'" json:"nick_name"`
|
||
Phone string `gorm:"column:phone;type:varchar(11);comment:'手机号'" json:"phone"`
|
||
Avatar string `gorm:"column:avatar;type:varchar(255);comment:'头像'" json:"avatar"`
|
||
Sex int `gorm:"column:sex;type:tinyint(1);comment:'性别(1:男 2:女)'" json:"sex"`
|
||
Email string `gorm:"column:email;type:varchar(100);comment:'邮箱'" json:"email"`
|
||
RoleID int64 `gorm:"column:role_id;type:bigint(19);comment:'角色id'" json:"role_id"`
|
||
DeptID int64 `gorm:"column:dept_id;type:bigint(19);comment:'部门id'" json:"dept_id"`
|
||
PostID int64 `gorm:"column:post_id;type:bigint(19);comment:'岗位id'" json:"post_id"`
|
||
CreateBy int64 `gorm:"column:create_by;type:bigint(19);comment:'创建者id(用户表id)'" json:"create_by"`
|
||
UpdateBy int64 `gorm:"column:update_by;type:bigint(19);comment:'更新者id(用户表id)'" json:"update_by"`
|
||
Role *AdminRole `gorm:"foreignKey:RoleID" json:"role"` // 角色
|
||
Dept *AdminDept `gorm:"foreignKey:DeptID" json:"dept"` // 部门
|
||
Post *AdminPost `gorm:"foreignKey:PostID" json:"post"` // 岗位
|
||
}
|
||
|
||
func (m *AdminUser) TableName() string {
|
||
return "gdxz_admin_user"
|
||
}
|
||
|
||
func (m *AdminUser) BeforeCreate(tx *gorm.DB) error {
|
||
if m.UserID == 0 {
|
||
m.UserID = global.Snowflake.Generate().Int64()
|
||
}
|
||
|
||
m.CreatedAt = LocalTime(time.Now())
|
||
tx.Statement.SetColumn("CreatedAt", m.CreatedAt)
|
||
|
||
m.UpdatedAt = LocalTime(time.Now())
|
||
tx.Statement.SetColumn("UpdatedAt", m.UpdatedAt)
|
||
|
||
return nil
|
||
}
|