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