package dao import ( "github.com/google/uuid" "gorm.io/gorm" "time" ) // SysUser 用户 type SysUser struct { ID int `gorm:"primary_key;type:int" json:"id"` //编号 CreatedAt time.Time // 创建时间 UpdatedAt time.Time // 更新时间 DeletedAt gorm.DeletedAt `gorm:"index" json:"-"` // 删除时间 UUID uuid.UUID `json:"uuid" gorm:"index;comment:用户UUID"` // 用户UUID Username string `json:"userName" gorm:"index;comment:用户登录名"` // 用户登录名 Password string `json:"password" gorm:"type:varchar(191);comment:用户登录密码"` // 用户登录密码 NickName string `json:"nickName" gorm:"default:App端用户;comment:用户昵称"` // 用户昵称 SideMode string `json:"sideMode" gorm:"default:dark;comment:用户侧边主题"` // 用户侧边主题 HeaderImg string `json:"headerImg" gorm:"default:https://qmplusimg.henrongyi.top/gva_header.jpg;comment:用户头像"` // 用户头像 BaseColor string `json:"baseColor" gorm:"default:#fff;comment:基础颜色"` // 基础颜色 ActiveColor string `json:"activeColor" gorm:"default:#1890ff;comment:活跃颜色"` // 活跃颜色 AuthorityId uint `json:"authorityId" gorm:"default:888;comment:用户角色ID"` // 用户角色ID Phone string `json:"phone" gorm:"type:varchar(191);comment:用户手机号"` // 用户手机号 Email string `json:"email" gorm:"type:varchar(191);comment:用户邮箱"` // 用户邮箱 Enable int `json:"enable" gorm:"default:1;comment:用户是否被冻结 1正常 2冻结"` //用户是否被冻结 1正常 2冻结 AuthId string `json:"authId" gorm:"type:varchar(191);comment:权限id" ` //权限id DeptId int `json:"deptId" gorm:"comment:部门id"` Dept Dept `json:"dept" gorm:"foreignKey:DeptId;references:ID;comment:用户部门"` Authority SysAuthority `json:"authority" gorm:"foreignKey:AuthorityId;references:AuthorityId;comment:用户角色"` } func (*SysUser) TableName() string { return "sys_users" } func (c *SysUser) LoginFindUserName(username string) (*SysUser, error) { var user SysUser err := Db.Model(&user).Where("username = ?", username).First(&user).Error return &user, err } func (c *SysUser) GetSysUsers() ([]SysUser, error) { var users []SysUser err := Db.Model(&c).Find(&users).Error return users, err } func (c *SysUser) GetNowSysUser(id int) (*SysUser, error) { err := Db.Model(&c).Where("id = ?", id).First(&c).Error return c, err } func (c *SysUser) GetDeptsSysUsers(depts []int) ([]SysUser, error) { var users []SysUser err := Db.Model(&c).Where("dept_id in ?", depts).Find(&users).Error return users, err } func (c *SysUser) GetSysUserInfo(id int) (*SysUser, error) { var user SysUser err := Db.Model(&user).Preload("Dept").Preload("Authority").Where("id = ?", id).First(&user).Error return &user, err }