From a70919b4f7baab856125f36e5bd41f5ee81be680 Mon Sep 17 00:00:00 2001 From: huliguo <2023611923@qq.com> Date: 星期二, 13 五月 2025 09:41:35 +0800 Subject: [PATCH] 修改年份切换字段不为必填 --- src/main/java/com/cl/service/impl/UserServiceImpl.java | 37 +++++++++++++++++++++++++++++++++++-- 1 files changed, 35 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/cl/service/impl/UserServiceImpl.java b/src/main/java/com/cl/service/impl/UserServiceImpl.java index 588a43e..c231a47 100644 --- a/src/main/java/com/cl/service/impl/UserServiceImpl.java +++ b/src/main/java/com/cl/service/impl/UserServiceImpl.java @@ -9,9 +9,11 @@ import com.cl.common.context.BaseContext; import com.cl.common.exception.user.AddUserException; import com.cl.common.exception.user.UserException; +import com.cl.common.result.Result; import com.cl.mapper.UserMapper; import com.cl.pojo.dto.AddUserDTO; import com.cl.pojo.dto.EditUserDTO; +import com.cl.pojo.dto.PasswordBeforeLoginDTO; import com.cl.pojo.dto.PasswordDTO; import com.cl.pojo.entity.User; import com.cl.pojo.vo.UserVO; @@ -99,7 +101,11 @@ //校验原密码 if (!BCryptPasswordEncoder.matches(passwordDTO.getPassword(), user.getPassword())) { //不通过 - throw new UserException("原密码错误"); + throw new UserException("修改失败,旧密码错误"); + } + if (passwordDTO.getPassword().equals(passwordDTO.getNewPassword())){ + //不通过 + throw new UserException("修改失败,旧密码与新密码不能一样"); } //修改密码 user.setPassword(BCryptPasswordEncoder.encode(passwordDTO.getNewPassword())); @@ -112,7 +118,32 @@ //将令牌加入黑名单 tokenBlacklistService.addToBlacklist(token); } - + @Override + public Result<String> passwordBeforeLogin(PasswordBeforeLoginDTO passwordDTO) { + //检查手机号是否存在 + LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(User::getPhone, passwordDTO.getPhone()); + queryWrapper.eq(User::getDelFlag, DelFlagConstant.UNDELETE); + User user = userMapper.selectOne(queryWrapper); + if (user == null) { + return Result.error("手机号不存在"); + } + if (user.getStatus().equals(DelFlagConstant.DELETE)) { + return Result.error("该用户已被冻结"); + } + if (!BCryptPasswordEncoder.matches(passwordDTO.getPassword(), user.getPassword())) { + return Result.error("原密码错误"); + } + //修改密码 + user.setPassword(BCryptPasswordEncoder.encode(passwordDTO.getNewPassword())); + user.setUpdateBy(user.getId()); + user.setUpdateTime(LocalDateTime.now()); + boolean save = this.updateById(user); + if (!save) { + throw new UserException("修改密码失败"); + } + return Result.success("修改成功"); + } @Override public void resetPassword(Integer id) { User user = userMapper.selectById(id); @@ -143,4 +174,6 @@ throw new UserException("冻结/解冻用户失败"); } } + + } -- Gitblit v1.7.1