From 5c0563c1a090b573c3bc7593f7a19ee470de0318 Mon Sep 17 00:00:00 2001 From: zzc <1278921369@qq.com> Date: Sun, 3 Nov 2024 00:19:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BF=98=E8=AE=B0=E5=AF=86=E7=A0=81=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/app/EqUserController.java | 29 +++++++++++++++++++ .../dromara/system/mapper/SysUserMapper.java | 8 ++--- 2 files changed, 33 insertions(+), 4 deletions(-) diff --git a/ruoyi-admin/src/main/java/org/dromara/web/controller/app/EqUserController.java b/ruoyi-admin/src/main/java/org/dromara/web/controller/app/EqUserController.java index 3e7718ea0..54cbd30da 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/controller/app/EqUserController.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/controller/app/EqUserController.java @@ -1,6 +1,7 @@ package org.dromara.web.controller.app; import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.dev33.satoken.annotation.SaIgnore; import cn.dev33.satoken.secure.BCrypt; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.io.FileUtil; @@ -213,6 +214,34 @@ public class EqUserController extends BaseController { } + /** + * 忘记密码 + * + * @param bo 忘记密码 + */ + @RepeatSubmit + @SaIgnore + @PutMapping("/updatePwdWithEmailCode") + public R updatePwdWithEmailCode(@Validated @RequestBody EqSysUserPasswordBo bo) { + // 校验用户类型是否存在 + if (!validEmail(bo.getUsername())) throw new UserException("user.email.not.valid"); + validateEmailCode(bo.getTenantId(), bo.getUsername(), bo.getCode()); + SysUserVo user = userService.selectUserByUserName(bo.getUsername()); + String password = user.getPassword(); + //bo.getOldPassword()不为空 + if (StringUtils.isNotEmpty(bo.getOldPassword())&&!BCrypt.checkpw(bo.getOldPassword(), password)) { + return R.fail("修改密码失败,旧密码错误"); + } + if (BCrypt.checkpw(bo.getNewPassword(), password)) { + return R.fail("新密码不能与旧密码相同"); + } + + if (userService.resetUserPwd(user.getUserId(), BCrypt.hashpw(bo.getNewPassword())) > 0) { + return R.ok(); + } + return R.fail("修改密码异常,请联系管理员"); + } + private final ISysDictTypeService dictTypeService; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java index fc7fc6e16..c0c58d25e 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/mapper/SysUserMapper.java @@ -75,10 +75,10 @@ public interface SysUserMapper extends BaseMapperPlus { long countUserById(Long userId); @Override - @DataPermission({ - @DataColumn(key = "deptName", value = "dept_id"), - @DataColumn(key = "userName", value = "user_id") - }) +// @DataPermission({ +// @DataColumn(key = "deptName", value = "dept_id"), +// @DataColumn(key = "userName", value = "user_id") +// }) int update(@Param(Constants.ENTITY) SysUser user, @Param(Constants.WRAPPER) Wrapper updateWrapper); @Override