12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- package model
- import (
- "dy-admin/internal/pcmserver/common"
- "gorm.io/gorm"
- )
- type User struct {
- UserID int `gorm:"primaryKey;autoIncrement;comment:编码" json:"userId"`
- UUID string `json:"uuid" gorm:"index;comment:用户UUID"`
- Username string `json:"username" gorm:"size:64;comment:用户名"`
- Password string `json:"-" gorm:"size:128;comment:密码"`
- NickName string `json:"nickName" gorm:"size:128;comment:昵称"`
- Phone string `json:"phone" gorm:"size:11;comment:手机号"`
- Salt string `json:"-" gorm:"size:255;comment:加盐"`
- Avatar string `json:"avatar" gorm:"size:255;comment:头像"`
- Sex string `json:"sex" gorm:"size:255;comment:性别"`
- Email string `json:"email" gorm:"size:128;comment:邮箱"`
- DeptId int `json:"deptId" gorm:"size:20;comment:部门"`
- Remark string `json:"remark" gorm:"size:255;comment:备注"`
- Status string `json:"status" gorm:"size:4;comment:状态"`
- RoleIds []int `json:"roleIds" gorm:"-"`
- Roles []Role `json:"roles" gorm:"many2many:sys_user_role;foreignKey:UserID;joinForeignKey:UserID;References:RoleID;joinReferences:RoleID"`
- Dept Dept `json:"dept" gorm:"-"`
- common.ControlBy
- common.ModelTime
- }
- func (u *User) TableName() string {
- return "sys_users"
- }
- func (u *User) AfterFind(db *gorm.DB) error {
- roleIds := make([]int, 0, len(u.Roles))
- for _, role := range u.Roles {
- roleIds = append(roleIds, role.RoleID)
- }
- u.RoleIds = roleIds
- if u.DeptId != 0 {
- var dept Dept
- err := db.Where("dept_id = ?", u.DeptId).First(&dept).Error
- if err != nil && err != gorm.ErrRecordNotFound {
- return err
- }
- u.Dept = dept
- }
- return nil
- }
|