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 | 45 +++++++++++++++++++++++++++++++++++++++------ 1 files changed, 39 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/cl/service/impl/UserServiceImpl.java b/src/main/java/com/cl/service/impl/UserServiceImpl.java index f29be67..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; @@ -84,7 +86,7 @@ updateWrapper.set(User::getPhone, editUserDTO.getPhone()); updateWrapper.set(User::getRemark, editUserDTO.getRemark()); - updateWrapper.set(User::getUpdateBy, BaseContext.getCurrentUser().getPhone()); + updateWrapper.set(User::getUpdateBy, BaseContext.getCurrentUser().getId()); updateWrapper.set(User::getUpdateTime, LocalDateTime.now()); int update = userMapper.update(new User(), updateWrapper); @@ -99,20 +101,49 @@ //校验原密码 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())); user.setUpdateBy(user.getId()); user.setUpdateTime(LocalDateTime.now()); - boolean save = this.save(user); + boolean save = this.updateById(user); if (!save) { throw new UserException("修改密码失败"); } //将令牌加入黑名单 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); @@ -123,7 +154,7 @@ user.setIsFirst(1); user.setUpdateBy(BaseContext.getCurrentUser().getId()); user.setUpdateTime(LocalDateTime.now()); - boolean save = this.save(user); + boolean save = this.updateById(user); if (!save) { throw new UserException("重置密码失败"); } @@ -138,9 +169,11 @@ user.setStatus(Objects.equals(user.getStatus(), StatusConstant.DISABLE) ? StatusConstant.ENABLE : StatusConstant.DISABLE); user.setUpdateBy(BaseContext.getCurrentUser().getId()); user.setUpdateTime(LocalDateTime.now()); - boolean save = this.save(user); + boolean save = this.updateById(user); if (!save) { throw new UserException("冻结/解冻用户失败"); } } + + } -- Gitblit v1.7.1