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~

相关推荐
杉氧29 分钟前
Kotlin 协程深度解析③:流式编程——Flow 的响应式进化
android·kotlin
Asize29 分钟前
重生之我在 Vibe Coding 时代当程序员:第十六课,从模拟队列到原型链
前端·javascript·后端
砍材农夫31 分钟前
python 如何一次性安装项目所有依赖包(pip和uv)
开发语言·python·pip·uv
IpdataCloud32 分钟前
信贷审核中如何验证用户地址与IP属地一致性?用IP查询工具实现反欺诈
开发语言·tcp/ip·金融·php·ip
私人珍藏库35 分钟前
【Android】iTubeGo(去除限制)
android·智能手机·app·工具·多功能
云水-禅心42 分钟前
解决MacOS 安装Python之后默认版本指向不正确问题
开发语言·python·macos
2601_9547064942 分钟前
云手机虚拟化技术深度拆解:从安卓容器到 GPU 直通
android·智能手机
冰暮流星43 分钟前
javascript之this关键字
开发语言·前端·javascript
rit843249943 分钟前
基于Qt的串口上位机控制蓝牙小车程序
开发语言·qt
百度Geek说44 分钟前
CodingAgent 的原始森林困境:一张地图能解决什么?
开发语言·javascript·ecmascript·coding agent