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 }