mirror of
https://github.com/go-admin-team/go-admin.git
synced 2026-09-21 18:20:50 +00:00
fix🐛: Fix password reset caused by modifying user information
This commit is contained in:
+30
-16
@@ -2,6 +2,7 @@ package apis
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/gin-gonic/gin/binding"
|
"github.com/gin-gonic/gin/binding"
|
||||||
|
"github.com/go-admin-team/go-admin-core/sdk/config"
|
||||||
"go-admin/app/admin/models"
|
"go-admin/app/admin/models"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
@@ -30,7 +31,7 @@ type SysUser struct {
|
|||||||
// @Security Bearer
|
// @Security Bearer
|
||||||
func (e SysUser) GetPage(c *gin.Context) {
|
func (e SysUser) GetPage(c *gin.Context) {
|
||||||
s := service.SysUser{}
|
s := service.SysUser{}
|
||||||
req :=dto.SysUserGetPageReq{}
|
req := dto.SysUserGetPageReq{}
|
||||||
err := e.MakeContext(c).
|
err := e.MakeContext(c).
|
||||||
MakeOrm().
|
MakeOrm().
|
||||||
Bind(&req).
|
Bind(&req).
|
||||||
@@ -67,7 +68,7 @@ func (e SysUser) GetPage(c *gin.Context) {
|
|||||||
// @Security Bearer
|
// @Security Bearer
|
||||||
func (e SysUser) Get(c *gin.Context) {
|
func (e SysUser) Get(c *gin.Context) {
|
||||||
s := service.SysUser{}
|
s := service.SysUser{}
|
||||||
req :=dto.SysUserById{}
|
req := dto.SysUserById{}
|
||||||
err := e.MakeContext(c).
|
err := e.MakeContext(c).
|
||||||
MakeOrm().
|
MakeOrm().
|
||||||
Bind(&req, nil).
|
Bind(&req, nil).
|
||||||
@@ -101,7 +102,7 @@ func (e SysUser) Get(c *gin.Context) {
|
|||||||
// @Security Bearer
|
// @Security Bearer
|
||||||
func (e SysUser) Insert(c *gin.Context) {
|
func (e SysUser) Insert(c *gin.Context) {
|
||||||
s := service.SysUser{}
|
s := service.SysUser{}
|
||||||
req :=dto.SysUserInsertReq{}
|
req := dto.SysUserInsertReq{}
|
||||||
err := e.MakeContext(c).
|
err := e.MakeContext(c).
|
||||||
MakeOrm().
|
MakeOrm().
|
||||||
Bind(&req, binding.JSON).
|
Bind(&req, binding.JSON).
|
||||||
@@ -136,7 +137,7 @@ func (e SysUser) Insert(c *gin.Context) {
|
|||||||
// @Security Bearer
|
// @Security Bearer
|
||||||
func (e SysUser) Update(c *gin.Context) {
|
func (e SysUser) Update(c *gin.Context) {
|
||||||
s := service.SysUser{}
|
s := service.SysUser{}
|
||||||
req :=dto.SysUserUpdateReq{}
|
req := dto.SysUserUpdateReq{}
|
||||||
err := e.MakeContext(c).
|
err := e.MakeContext(c).
|
||||||
MakeOrm().
|
MakeOrm().
|
||||||
Bind(&req).
|
Bind(&req).
|
||||||
@@ -171,7 +172,7 @@ func (e SysUser) Update(c *gin.Context) {
|
|||||||
// @Security Bearer
|
// @Security Bearer
|
||||||
func (e SysUser) Delete(c *gin.Context) {
|
func (e SysUser) Delete(c *gin.Context) {
|
||||||
s := service.SysUser{}
|
s := service.SysUser{}
|
||||||
req :=dto.SysUserById{}
|
req := dto.SysUserById{}
|
||||||
err := e.MakeContext(c).
|
err := e.MakeContext(c).
|
||||||
MakeOrm().
|
MakeOrm().
|
||||||
Bind(&req, binding.JSON).
|
Bind(&req, binding.JSON).
|
||||||
@@ -208,7 +209,7 @@ func (e SysUser) Delete(c *gin.Context) {
|
|||||||
// @Security Bearer
|
// @Security Bearer
|
||||||
func (e SysUser) InsetAvatar(c *gin.Context) {
|
func (e SysUser) InsetAvatar(c *gin.Context) {
|
||||||
s := service.SysUser{}
|
s := service.SysUser{}
|
||||||
req :=dto.UpdateSysUserAvatarReq{}
|
req := dto.UpdateSysUserAvatarReq{}
|
||||||
err := e.MakeContext(c).
|
err := e.MakeContext(c).
|
||||||
MakeOrm().
|
MakeOrm().
|
||||||
MakeService(&s.Service).
|
MakeService(&s.Service).
|
||||||
@@ -257,7 +258,7 @@ func (e SysUser) InsetAvatar(c *gin.Context) {
|
|||||||
// @Security Bearer
|
// @Security Bearer
|
||||||
func (e SysUser) UpdateStatus(c *gin.Context) {
|
func (e SysUser) UpdateStatus(c *gin.Context) {
|
||||||
s := service.SysUser{}
|
s := service.SysUser{}
|
||||||
req :=dto.UpdateSysUserStatusReq{}
|
req := dto.UpdateSysUserStatusReq{}
|
||||||
err := e.MakeContext(c).
|
err := e.MakeContext(c).
|
||||||
MakeOrm().
|
MakeOrm().
|
||||||
Bind(&req, binding.JSON, nil).
|
Bind(&req, binding.JSON, nil).
|
||||||
@@ -294,7 +295,7 @@ func (e SysUser) UpdateStatus(c *gin.Context) {
|
|||||||
// @Security Bearer
|
// @Security Bearer
|
||||||
func (e SysUser) ResetPwd(c *gin.Context) {
|
func (e SysUser) ResetPwd(c *gin.Context) {
|
||||||
s := service.SysUser{}
|
s := service.SysUser{}
|
||||||
req :=dto.ResetSysUserPwdReq{}
|
req := dto.ResetSysUserPwdReq{}
|
||||||
err := e.MakeContext(c).
|
err := e.MakeContext(c).
|
||||||
MakeOrm().
|
MakeOrm().
|
||||||
Bind(&req, binding.JSON).
|
Bind(&req, binding.JSON).
|
||||||
@@ -311,16 +312,23 @@ func (e SysUser) ResetPwd(c *gin.Context) {
|
|||||||
//数据权限检查
|
//数据权限检查
|
||||||
p := actions.GetPermissionFromContext(c)
|
p := actions.GetPermissionFromContext(c)
|
||||||
|
|
||||||
|
if req.UserId == 1 && config.ApplicationConfig.Mode == "demo" {
|
||||||
|
req.Password = "123456"
|
||||||
|
}
|
||||||
err = s.ResetPwd(&req, p)
|
err = s.ResetPwd(&req, p)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
e.Logger.Error(err)
|
e.Logger.Error(err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
e.OK(req.GetId(), "更新成功")
|
if req.UserId == 1 && config.ApplicationConfig.Mode == "demo" {
|
||||||
|
e.OK(req.GetId(), "admin:现在使用的预览环境,休想改掉我!否则会影响其他朋友体验的哦!可以创建其他用户体验该功能!")
|
||||||
|
} else {
|
||||||
|
e.OK(req.GetId(), "更新成功")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// UpdatePwd
|
// UpdatePwd
|
||||||
// @Summary 重置密码
|
// @Summary 修改密码
|
||||||
// @Description 获取JSON
|
// @Description 获取JSON
|
||||||
// @Tags 用户
|
// @Tags 用户
|
||||||
// @Accept application/json
|
// @Accept application/json
|
||||||
@@ -331,7 +339,7 @@ func (e SysUser) ResetPwd(c *gin.Context) {
|
|||||||
// @Security Bearer
|
// @Security Bearer
|
||||||
func (e SysUser) UpdatePwd(c *gin.Context) {
|
func (e SysUser) UpdatePwd(c *gin.Context) {
|
||||||
s := service.SysUser{}
|
s := service.SysUser{}
|
||||||
req :=dto.PassWord{}
|
req := dto.PassWord{}
|
||||||
err := e.MakeContext(c).
|
err := e.MakeContext(c).
|
||||||
MakeOrm().
|
MakeOrm().
|
||||||
Bind(&req).
|
Bind(&req).
|
||||||
@@ -345,14 +353,20 @@ func (e SysUser) UpdatePwd(c *gin.Context) {
|
|||||||
|
|
||||||
// 数据权限检查
|
// 数据权限检查
|
||||||
p := actions.GetPermissionFromContext(c)
|
p := actions.GetPermissionFromContext(c)
|
||||||
|
if user.GetUserId(c) == 1 && config.ApplicationConfig.Mode == "demo" {
|
||||||
|
req.NewPassword = "123456"
|
||||||
|
}
|
||||||
err = s.UpdatePwd(user.GetUserId(c), req.OldPassword, req.NewPassword, p)
|
err = s.UpdatePwd(user.GetUserId(c), req.OldPassword, req.NewPassword, p)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
e.Logger.Error(err)
|
e.Logger.Error(err)
|
||||||
e.Error(http.StatusForbidden, err, "密码修改失败")
|
e.Error(http.StatusForbidden, err, "密码修改失败")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
e.OK(nil, "密码修改成功")
|
if user.GetUserId(c) == 1 && config.ApplicationConfig.Mode == "demo" {
|
||||||
|
e.OK(nil, "admin:现在使用的预览环境,休想改掉我!否则会影响其他朋友体验的哦!可以创建其他用户体验该功能!")
|
||||||
|
} else {
|
||||||
|
e.OK(nil, "密码修改成功")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetProfile
|
// GetProfile
|
||||||
@@ -364,7 +378,7 @@ func (e SysUser) UpdatePwd(c *gin.Context) {
|
|||||||
// @Security Bearer
|
// @Security Bearer
|
||||||
func (e SysUser) GetProfile(c *gin.Context) {
|
func (e SysUser) GetProfile(c *gin.Context) {
|
||||||
s := service.SysUser{}
|
s := service.SysUser{}
|
||||||
req :=dto.SysUserById{}
|
req := dto.SysUserById{}
|
||||||
err := e.MakeContext(c).
|
err := e.MakeContext(c).
|
||||||
MakeOrm().
|
MakeOrm().
|
||||||
MakeService(&s.Service).
|
MakeService(&s.Service).
|
||||||
@@ -401,7 +415,7 @@ func (e SysUser) GetProfile(c *gin.Context) {
|
|||||||
// @Router /api/v1/getinfo [get]
|
// @Router /api/v1/getinfo [get]
|
||||||
// @Security Bearer
|
// @Security Bearer
|
||||||
func (e SysUser) GetInfo(c *gin.Context) {
|
func (e SysUser) GetInfo(c *gin.Context) {
|
||||||
req :=dto.SysUserById{}
|
req := dto.SysUserById{}
|
||||||
s := service.SysUser{}
|
s := service.SysUser{}
|
||||||
r := service.SysRole{}
|
r := service.SysRole{}
|
||||||
err := e.MakeContext(c).
|
err := e.MakeContext(c).
|
||||||
@@ -450,4 +464,4 @@ func (e SysUser) GetInfo(c *gin.Context) {
|
|||||||
mp["name"] = sysUser.NickName
|
mp["name"] = sysUser.NickName
|
||||||
mp["code"] = 200
|
mp["code"] = 200
|
||||||
e.OK(mp, "")
|
e.OK(mp, "")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -127,8 +127,7 @@ func (e *SysUser) UpdateAvatar(c *dto.UpdateSysUserAvatarReq, p *actions.DataPer
|
|||||||
return errors.New("无权更新该数据")
|
return errors.New("无权更新该数据")
|
||||||
|
|
||||||
}
|
}
|
||||||
c.Generate(&model)
|
err = e.Orm.Table(model.TableName()).Where("user_id =? ", c.UserId).Updates(c).Error
|
||||||
err = e.Orm.Save(&model).Error
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
e.Log.Errorf("Service UpdateSysUser error: %s", err)
|
e.Log.Errorf("Service UpdateSysUser error: %s", err)
|
||||||
return err
|
return err
|
||||||
@@ -151,8 +150,7 @@ func (e *SysUser) UpdateStatus(c *dto.UpdateSysUserStatusReq, p *actions.DataPer
|
|||||||
return errors.New("无权更新该数据")
|
return errors.New("无权更新该数据")
|
||||||
|
|
||||||
}
|
}
|
||||||
c.Generate(&model)
|
err = e.Orm.Table(model.TableName()).Where("user_id =? ", c.UserId).Updates(c).Error
|
||||||
err = e.Orm.Save(&model).Error
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
e.Log.Errorf("Service UpdateSysUser error: %s", err)
|
e.Log.Errorf("Service UpdateSysUser error: %s", err)
|
||||||
return err
|
return err
|
||||||
@@ -174,8 +172,7 @@ func (e *SysUser) ResetPwd(c *dto.ResetSysUserPwdReq, p *actions.DataPermission)
|
|||||||
if db.RowsAffected == 0 {
|
if db.RowsAffected == 0 {
|
||||||
return errors.New("无权更新该数据")
|
return errors.New("无权更新该数据")
|
||||||
}
|
}
|
||||||
c.Generate(&model)
|
err = e.Orm.Table(model.TableName()).Where("user_id =? ", c.UserId).Updates(c).Error
|
||||||
err = e.Orm.Save(&model).Error
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
e.Log.Errorf("At Service ResetSysUserPwd error: %s", err)
|
e.Log.Errorf("At Service ResetSysUserPwd error: %s", err)
|
||||||
return err
|
return err
|
||||||
|
|||||||
Reference in New Issue
Block a user