fix: Invalid password modification function in user center(#137)

This commit is contained in:
zhangwenjian
2020-07-01 21:28:54 +08:00
parent dcd6bc998a
commit f83ee71745
+37 -2
View File
@@ -120,10 +120,45 @@ func (e *SysUser) Get() (SysUserView SysUserView, err error) {
if err = table.First(&SysUserView).Error; err != nil { if err = table.First(&SysUserView).Error; err != nil {
return return
} }
SysUserView.Password = "" SysUserView.Password = ""
return return
} }
func (e *SysUser) GetUserInfo() (SysUserView SysUserView, err error) {
table := orm.Eloquent.Table(e.TableName()).Select([]string{"sys_user.*", "sys_role.role_name"})
table = table.Joins("left join sys_role on sys_user.role_id=sys_role.role_id")
if e.UserId != 0 {
table = table.Where("user_id = ?", e.UserId)
}
if e.Username != "" {
table = table.Where("username = ?", e.Username)
}
if e.Password != "" {
table = table.Where("password = ?", e.Password)
}
if e.RoleId != 0 {
table = table.Where("role_id = ?", e.RoleId)
}
if e.DeptId != 0 {
table = table.Where("dept_id = ?", e.DeptId)
}
if e.PostId != 0 {
table = table.Where("post_id = ?", e.PostId)
}
if err = table.First(&SysUserView).Error; err != nil {
return
}
return
}
func (e *SysUser) GetPage(pageSize int, pageIndex int) ([]SysUserPage, int, error) { func (e *SysUser) GetPage(pageSize int, pageIndex int) ([]SysUserPage, int, error) {
var doc []SysUserPage var doc []SysUserPage
table := orm.Eloquent.Select("sys_user.*,sys_dept.dept_name").Table(e.TableName()) table := orm.Eloquent.Select("sys_user.*,sys_dept.dept_name").Table(e.TableName())
@@ -199,7 +234,7 @@ func (e SysUser) Insert() (id int, err error) {
//修改 //修改
func (e *SysUser) Update(id int) (update SysUser, err error) { func (e *SysUser) Update(id int) (update SysUser, err error) {
if e.Password!="" { if e.Password != "" {
if err = e.Encrypt(); err != nil { if err = e.Encrypt(); err != nil {
return return
} }
@@ -228,7 +263,7 @@ func (e *SysUser) BatchDelete(id []int) (Result bool, err error) {
} }
func (e *SysUser) SetPwd(pwd SysUserPwd) (Result bool, err error) { func (e *SysUser) SetPwd(pwd SysUserPwd) (Result bool, err error) {
user, err := e.Get() user, err := e.GetUserInfo()
if err != nil { if err != nil {
tools.HasError(err, "获取用户数据失败(代码202)", 500) tools.HasError(err, "获取用户数据失败(代码202)", 500)
} }