springboot3+vue3融合项目实战-大事件文章管理系统-更新用户密码

大致分为这三步

首先在usercontroller中增加updatePwd方法

java 复制代码
@PatchMapping ("/updatePwd")
    public Result updatePwd(@RequestBody Map<String,String> params){
        //1.校验参数
        String oldPwd = params.get("old_pwd");
        String newPwd = params.get("new_pwd");
        String rePwd = params.get("re_pwd");

        if (!StringUtils.hasLength(oldPwd)||!StringUtils.hasLength(newPwd)||!StringUtils.hasLength(rePwd)){
            return Result.error("参数有误");
        }

        //原密码是否正确
        //调用userservice根据用户名拿到原密码,再和old_pwd进行比较
        Map<String,Object> map=ThreadLocalUtil.get();
        String username = (String) map.get("username");
        User loginUser = userService.findByUsername(username);
        if (!loginUser.getPassword().equals(Md5Util.getMD5String(oldPwd))){
            return Result.error("原密码错误");
        }

        //newPwd和rePwd是否一样
        if (!newPwd.equals(rePwd)){
            return Result.error("两次密码不一致");
        }
        //2.调用service完成密码更新

        userService.updatePwd(newPwd);
        return Result.success();

    }```


然后再userservice中增加
//更新密码
    void updatePwd(String newPwd);

再在userserviceimpl实现类中增加

```java
@Override
    public void updatePwd(String newPwd) {
        Map<String,Object> map= ThreadLocalUtil.get();
        Integer id = (Integer) map.get("id");
        userMapper.updatePwd(Md5Util.getMD5String(newPwd),id);
    }

最后修改mapper层代码

java 复制代码
@Update("update user set password=#{md5String},update_time=now() where id=#{id}")
    void updatePwd(String md5String, Integer id);

okk~

相关推荐
007php0072 分钟前
猿辅导Java面试真实经历与深度总结(二)
java·开发语言·python·计算机网络·面试·职场和发展·golang
惊鸿.Jh6 分钟前
C++可变参数模板
开发语言·python
素素.陈10 分钟前
向RAGFlow中上传文档到对应的知识库
开发语言·python
艾小码40 分钟前
告别页面呆板!这5个DOM操作技巧让你的网站活起来
前端·javascript
正在学习前端的---小方同学3 小时前
vue-easy-tree树状结构
前端·javascript·vue.js
万粉变现经纪人4 小时前
如何解决 pip install -r requirements.txt 私有索引未设为 trusted-host 导致拒绝 问题
开发语言·python·scrapy·flask·beautifulsoup·pandas·pip
qq_479875434 小时前
C++ std::Set<std::pair>
开发语言·c++
云知谷6 小时前
【C++基本功】C++适合做什么,哪些领域适合哪些领域不适合?
c语言·开发语言·c++·人工智能·团队开发
键盘不能没有CV键6 小时前
【图片处理】✈️HTML转图片字体异常处理
前端·javascript·html
l1t7 小时前
DeepSeek辅助利用搬移底层xml实现快速编辑xlsx文件的python程序
xml·开发语言·python·xlsx