user.go 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package dao
  2. import (
  3. "github.com/google/uuid"
  4. "gorm.io/gorm"
  5. "time"
  6. )
  7. // SysUser 用户
  8. type SysUser struct {
  9. ID int `gorm:"primary_key;type:int" json:"id"` //编号
  10. CreatedAt time.Time // 创建时间
  11. UpdatedAt time.Time // 更新时间
  12. DeletedAt gorm.DeletedAt `gorm:"index" json:"-"` // 删除时间
  13. UUID uuid.UUID `json:"uuid" gorm:"index;comment:用户UUID"` // 用户UUID
  14. Username string `json:"userName" gorm:"index;comment:用户登录名"` // 用户登录名
  15. Password string `json:"password" gorm:"type:varchar(191);comment:用户登录密码"` // 用户登录密码
  16. NickName string `json:"nickName" gorm:"default:App端用户;comment:用户昵称"` // 用户昵称
  17. SideMode string `json:"sideMode" gorm:"default:dark;comment:用户侧边主题"` // 用户侧边主题
  18. HeaderImg string `json:"headerImg" gorm:"default:https://qmplusimg.henrongyi.top/gva_header.jpg;comment:用户头像"` // 用户头像
  19. BaseColor string `json:"baseColor" gorm:"default:#fff;comment:基础颜色"` // 基础颜色
  20. ActiveColor string `json:"activeColor" gorm:"default:#1890ff;comment:活跃颜色"` // 活跃颜色
  21. AuthorityId uint `json:"authorityId" gorm:"default:888;comment:用户角色ID"` // 用户角色ID
  22. Phone string `json:"phone" gorm:"type:varchar(191);comment:用户手机号"` // 用户手机号
  23. Email string `json:"email" gorm:"type:varchar(191);comment:用户邮箱"` // 用户邮箱
  24. Enable int `json:"enable" gorm:"default:1;comment:用户是否被冻结 1正常 2冻结"` //用户是否被冻结 1正常 2冻结
  25. AuthId string `json:"authId" gorm:"type:varchar(191);comment:权限id" ` //权限id
  26. DeptId int `json:"deptId" gorm:"comment:部门id"`
  27. Dept Dept `json:"dept" gorm:"foreignKey:DeptId;references:ID;comment:用户部门"`
  28. Authority SysAuthority `json:"authority" gorm:"foreignKey:AuthorityId;references:AuthorityId;comment:用户角色"`
  29. }
  30. func (*SysUser) TableName() string {
  31. return "sys_users"
  32. }
  33. func (c *SysUser) LoginFindUserName(username string) (*SysUser, error) {
  34. var user SysUser
  35. err := Db.Model(&user).Where("username = ?", username).First(&user).Error
  36. return &user, err
  37. }
  38. func (c *SysUser) GetSysUsers() ([]SysUser, error) {
  39. var users []SysUser
  40. err := Db.Model(&c).Find(&users).Error
  41. return users, err
  42. }
  43. func (c *SysUser) GetNowSysUser(id int) (*SysUser, error) {
  44. err := Db.Model(&c).Where("id = ?", id).First(&c).Error
  45. return c, err
  46. }
  47. func (c *SysUser) GetDeptsSysUsers(depts []int) ([]SysUser, error) {
  48. var users []SysUser
  49. err := Db.Model(&c).Where("dept_id in ?", depts).Find(&users).Error
  50. return users, err
  51. }
  52. func (c *SysUser) GetSysUserInfo(id int) (*SysUser, error) {
  53. var user SysUser
  54. err := Db.Model(&user).Preload("Dept").Preload("Authority").Where("id = ?", id).First(&user).Error
  55. return &user, err
  56. }