package system import ( "context" "hongze/hrms_api/global" "hongze/hrms_api/models/base" "time" ) // 管理员表 type SysAdmin struct { AdminId uint64 `gorm:"primaryKey;column:admin_id" json:"admin_id"` //账号ID AdminName string `gorm:"column:admin_name" json:"admin_name"` //账号名 AdminAvatar string `gorm:"column:admin_avatar" json:"admin_avatar"` //用户头像 RealName string `gorm:"column:real_name" json:"real_name"` //真实姓名 Password string `gorm:"column:password" json:"password"` //密码 Enabled int8 `gorm:"column:enabled" json:"enabled"` //1:有效,0:禁用 Email string `gorm:"column:email" json:"email"` LastLoginTime time.Time `gorm:"column:last_login_time" json:"last_login_time"` //最近登陆时间 Mobile string `gorm:"column:mobile" json:"mobile"` //手机号 DeptId int64 `gorm:"column:dept_id" json:"dept_id"` //部门id DisableTime time.Time `gorm:"column:disable_time" json:"disable_time"` //禁用时间 RoleId int64 `gorm:"column:role_id" json:"role_id"` //角色ID Position string `gorm:"column:position" json:"position"` //职位 Remark string `gorm:"column:remark" json:"remark"` //备注 base.TimeBase } // TableName get sql table name.获取数据库表名 func (a *SysAdmin) TableName() string { return "sys_admin" } // Add 新增 func (a *SysAdmin) Add() (err error) { err = global.DEFAULT_MYSQL.Create(a).Error return } type SysAdminAddReq struct { AdminName string `json:"admin_name" binding:"required"` //账号名 RealName string `json:"real_name" binding:"required"` //真实姓名 Password string `json:"password" binding:"required"` //密码 Enabled int8 `json:"enabled" binding:"oneof=0 1"` //账号状态:1:有效,0:禁用 Email string `json:"email" binding:"omitempty,email"` //邮箱 Mobile string `json:"mobile" binding:"required,number,len=11"` //手机号 DeptId int64 `json:"dept_id" binding:"required,gte=1"` //部门id RoleId int64 `json:"role_id" binding:"gte=1"` //角色ID Position string `json:"position"` //职位 Remark string `json:"remark"` //备注 } type SysAdminEditReq struct { AdminId uint64 `json:"admin_id" binding:"required,gte=1"` //账号ID AdminName string `json:"admin_name" binding:"required"` //账号名 RealName string `json:"real_name" binding:"required"` //真实姓名 Enabled int8 `json:"enabled" binding:"oneof=0 1"` //账号状态:1:有效,0:禁用 Email string `json:"email" binding:"omitempty,email"` //邮箱 Mobile string `json:"mobile" binding:"required,number,len=11"` //手机号 DeptId int64 `json:"dept_id" binding:"required,gte=1"` //部门id RoleId int64 `json:"role_id" binding:"gte=1"` //角色ID Position string `json:"position"` //职位 Remark string `json:"remark"` //备注 } func (a *SysAdmin) GetAdminByAdminName(adminName string) (item *SysAdmin, err error) { err = global.DEFAULT_MYSQL.Model(a).Where("admin_name = ?", adminName).First(&item).Error return } func (a *SysAdmin) GetAdminByMobile(mobile string) (item *SysAdmin, err error) { err = global.DEFAULT_MYSQL.Model(a).Where("mobile = ?", mobile).First(&item).Error return } // 修改 func (a *SysAdmin) Update(updateCols []string) (err error) { err = global.DEFAULT_MYSQL.Model(a).Select(updateCols).Updates(a).Error return } func (a *SysAdmin) UpdateByCondition(condition string, pars []interface{}, updates map[string]interface{}) (err error) { err = global.DEFAULT_MYSQL.Model(a).Where(condition, pars...).Updates(updates).Error return } // SelectPage 分页查询 func (a *SysAdmin) SelectPage(page base.IPage, condition string, pars []interface{}) (count int64, results []SysAdminListTmpItem, err error) { query := global.DEFAULT_MYSQL.WithContext(context.TODO()).Model(a). Select("sys_admin.*, r.role_name"). Joins("Left JOIN sys_role r ON r.role_id = sys_admin.role_id"). Where(condition, pars...) query.Count(&count) if len(page.GetOrderItemsString()) > 0 { query = query.Order(page.GetOrderItemsString()) } err = query.Limit(int(page.GetPageSize())).Offset(int(page.Offset())).Find(&results).Error return } type SysAdminListReq struct { DeptId int64 `json:"dept_id" form:"dept_id"` //部门id KeyWord string `json:"key_word" form:"key_word"` Enabled string `json:"enabled" form:"enabled"` //-1全部,1:有效,0:禁用 base.PageReq } type SysAdminListTmpItem struct { AdminId uint64 `json:"admin_id"` //账号id AdminName string `json:"admin_name"` //账号名 RealName string `json:"real_name"` //真实姓名 Enabled int8 `json:"enabled"` //1:有效,0:禁用 Email string `json:"email"` //邮箱 CreateTime time.Time `json:"create_time"` //创建时间 ModifyTime time.Time `json:"modify_time"` //最后更新时间 Mobile string `json:"mobile"` //手机号 DeptId int64 `json:"dept_id"` //部门id RoleId int64 `json:"role_id"` //角色ID RoleName string `json:"role_name"` //角色名称 DeptFullName string `json:"dept_full_name"` //部门全称 Position string `json:"position"` //职位 Remark string `json:"remark"` //备注 } type SysAdminListItem struct { AdminId uint64 `json:"admin_id"` //账号id AdminName string `json:"admin_name"` //账号名 RealName string `json:"real_name"` //真实姓名 Enabled int8 `json:"enabled"` //1:有效,0:禁用 Email string `json:"email"` //邮箱 Mobile string `json:"mobile"` //手机号 DeptId int64 `json:"dept_id"` //部门id RoleId int64 `json:"role_id"` //角色ID RoleName string `json:"role_name"` //角色名称 DeptFullName string `json:"dept_full_name"` //部门全称 CreateTime string `json:"create_time"` //创建时间 ModifyTime string `json:"modify_time"` //最后更新时间 Position string `json:"position"` //职位 Remark string `json:"remark"` //备注 } // GetAdminByAdminId 根据adminId获取用户信息 func (a *SysAdmin) GetAdminByAdminId(adminId uint64) (item *SysAdmin, err error) { err = global.DEFAULT_MYSQL.Model(a).Where("admin_id = ? ", adminId).First(&item).Error return } type LoginReq struct { AdminName string `json:"admin_name" binding:"required"` //账号名 Password string `json:"password" binding:"required"` //密码 IsRemember bool `json:"is_remember"` //是否属于受信设备 } type LoginResp struct { AdminId uint64 `json:"admin_id"` //账号id AdminName string `json:"admin_name"` //账号名 RealName string `json:"real_name"` //真实姓名 Token string `json:"token"` //登录token ChangePwd bool `json:"change_pwd"` //是否需要修改密码 } type ModifyPwdReq struct { AdminId uint64 `json:"admin_id" binding:"required,gte=1"` //账号ID Pwd string `json:"pwd" binding:"required"` //原密码 ConfirmPwd string `json:"confirm_pwd" binding:"required,eqcsfield=Pwd"` //新密码 } type ModifyMyPwdReq struct { OldPwd string `json:"old_pwd" binding:"required"` //原密码 NewPwd string `json:"new_pwd" binding:"required"` //新密码 ConfirmPwd string `json:"confirm_pwd" binding:"required,eqcsfield=NewPwd"` //新密码确认 } type ModifyMyInitPwdReq struct { NewPwd string `json:"new_pwd" binding:"required"` //新密码 ConfirmPwd string `json:"confirm_pwd" binding:"required,eqcsfield=NewPwd"` //新密码确认 } type SysAdminReq struct { AdminId uint64 `json:"admin_id" binding:"required,gte=1"` //账号ID } type SysAdminModifyEnabledReq struct { AdminId uint64 `json:"admin_id" binding:"required,gte=1"` //账号ID Enabled int8 `json:"enabled" binding:"oneof=0 1"` //1:有效,0:禁用 } // 删除 func (a *SysAdmin) Delete() (err error) { err = global.DEFAULT_MYSQL.Delete(a).Error return } func (a *SysAdmin) GetAdminListByCondition(condition string, pars []interface{}) (list []*SysAdmin, err error) { err = global.DEFAULT_MYSQL.WithContext(context.TODO()).Model(a). Where(condition, pars...).Order("admin_id desc").Find(&list).Error return }