add
wangpengfei
2023-07-18 5fac03fb857cf9a160e1736a25de2c5f95f5e44f
model/user.go
@@ -5,37 +5,27 @@
   "aps_crm/pkg/mysqlx"
   "fmt"
   "gorm.io/gorm"
   "time"
)
type (
   // User token里边把用户ID、父用户ID、角色都带上
   User struct {
      ID          string            `json:"id" gorm:"primaryKey;type:varchar(255);comment:用户ID"`
      Username    string            `json:"username" gorm:"index;type:varchar(255);comment:用户登录名"`
      UserType    constvar.UserType `json:"userType" gorm:"type:int(11);comment:用户类型 1超级管理员 2主账户 3子账户"`
      Password    string            `json:"-"  gorm:"type:varchar(255);comment:用户登录密码"`
      NickName    string            `json:"nickName" gorm:"type:varchar(255);default:系统用户;comment:用户昵称"`
      HeaderImg   string            `json:"headerImg" gorm:"type:varchar(255);comment:用户头像"`
      Phone       string            `json:"phone"  gorm:"type:varchar(255);comment:用户手机号"`
      Email       string            `json:"email"  gorm:"type:varchar(255);comment:用户邮箱"`
      Enable      bool              `json:"enable" gorm:"type:tinyint(1);comment:用户是否被冻结"`
      ParentId    string            `json:"parentId" gorm:"type:varchar(255);comment:父用户ID"`
      ParentName  string            `json:"parentName" gorm:"type:varchar(255);comment:父用户名称"`
      CompanyName string            `json:"companyName" gorm:"type:varchar(255);comment:公司名称"`
      Pos         string            `json:"pos" gorm:"type:varchar(255);comment:岗位"`
      ModifiedPwd bool              `json:"-" gorm:"type:tinyint(1);comment:是否改过密码"`
      CreateTime  int64             `json:"-"  gorm:"type:bigint(20);comment:创建时间"`
      UpdateTime  int64             `json:"-"  gorm:"type:bigint(20);comment:更新时间"`
      Menus       []Menu            `json:"-" gorm:"many2many:user_menu;"` // 用户菜单
      CreateAt    string            `json:"createAt" gorm:"-"`             // 创建时间
      UpdateAt    string            `json:"updateAt" gorm:"-"`             // 更新时间
      MenuIds     []uint            `json:"menuIds" gorm:"-"`              // 菜单ID列表
      Ip          string            `json:"ip" gorm:"type:varchar(255);comment:集群Ip"`
      Port        string            `json:"port" gorm:"type:varchar(255);comment:端口号"`
      Status      int               `json:"status" gorm:"type:int(11);comment:用户审核状态 0:禁用; 1:正常; 2:审核中"`
      AuthorityId uint              `json:"authorityId" gorm:"default:888;comment:用户角色ID"` // 用户角色ID
      Authority   Authority         `json:"authority" gorm:"foreignKey:AuthorityId"`
      ID           string            `json:"id" gorm:"primaryKey;type:varchar(255);comment:用户ID"`
      Username     string            `json:"username" gorm:"index;type:varchar(255);comment:用户登录名"`
      UserType     constvar.UserType `json:"userType" gorm:"type:int(11);comment:用户类型 1超级管理员 2主账户 3子账户"`
      Password     string            `json:"-"  gorm:"type:varchar(255);comment:用户登录密码"`
      NickName     string            `json:"nickName" gorm:"type:varchar(255);default:系统用户;comment:用户昵称"`
      RealName     string            `json:"realName" gorm:"type:varchar(255);comment:用户真实姓名"`
      DepartmentId int               `json:"departmentId" gorm:"type:int(11);comment:用户部门ID"`
      HeaderImg    string            `json:"headerImg" gorm:"type:varchar(255);comment:用户头像"`
      Phone        string            `json:"phone"  gorm:"type:varchar(255);comment:用户手机号"`
      Email        string            `json:"email"  gorm:"type:varchar(255);comment:用户邮箱"`
      Pos          string            `json:"pos" gorm:"type:varchar(255);comment:岗位"`
      Menus        []Menu            `json:"-" gorm:"many2many:user_menu;"`                 // 用户菜单
      MenuIds      []uint            `json:"menuIds" gorm:"-"`                              // 菜单ID列表
      AuthorityId  uint              `json:"authorityId" gorm:"default:888;comment:用户角色ID"` // 用户角色ID
      Authority    Authority         `json:"authority" gorm:"foreignKey:AuthorityId"`
      gorm.Model   `json:"-"`
   }
   UserSearch struct {
@@ -50,28 +40,6 @@
func (slf User) TableName() string {
   return "user"
}
func (slf *User) BeforeCreate(tx *gorm.DB) error {
   slf.CreateTime = time.Now().Unix()
   slf.UpdateTime = slf.CreateTime
   return nil
}
func (slf *User) BeforeSave(tx *gorm.DB) error {
   slf.UpdateTime = time.Now().Unix()
   return nil
}
func (slf *User) BeforeUpdate(tx *gorm.DB) error {
   slf.UpdateTime = time.Now().Unix()
   return nil
}
func (slf *User) AfterFind(tx *gorm.DB) error {
   slf.CreateAt = time.Unix(slf.CreateTime, 0).Format("2006-01-02 15:04:05")
   slf.UpdateAt = time.Unix(slf.UpdateTime, 0).Format("2006-01-02 15:04:05")
   return nil
}
func NewUserSearch(db *gorm.DB) *UserSearch {
@@ -101,16 +69,6 @@
   return slf
}
func (slf *UserSearch) SetParentId(parentId string) *UserSearch {
   slf.ParentId = parentId
   return slf
}
func (slf *UserSearch) SetParentName(parentName string) *UserSearch {
   slf.ParentName = parentName
   return slf
}
func (slf *UserSearch) SetUserName(username string) *UserSearch {
   slf.Username = username
   return slf
@@ -130,10 +88,6 @@
   if slf.Username != "" {
      db = db.Where("username = ?", slf.Username)
   }
   if slf.ParentName != "" {
      db = db.Where("parent_name = ?", slf.ParentName)
   }
   if slf.Keyword != "" {