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~

相关推荐
「、皓子~42 分钟前
AI创作系列(2):UniApp跨端开发实战 - 海狸IM移动端完全由AI编写
开发语言·人工智能·uni-app·开源·vue·开源软件·ai编程
南無忘码至尊1 小时前
Unity C# 入门基础知识点整理与实战技巧
开发语言·c#
江梦寻1 小时前
软件工程教学评价
开发语言·后端·macos·架构·github·软件工程
iCxhust1 小时前
汇编字符串比较函数
c语言·开发语言·汇编·单片机·嵌入式硬件
戒不掉的伤怀1 小时前
react实现axios 的简单封装
javascript·react.js·ecmascript
夏梦春蝉2 小时前
ES6从入门到精通:变量
前端·javascript·es6
步行cgn2 小时前
ES6 核心语法手册
前端·javascript·es6
fatiaozhang95272 小时前
中兴B860AV1.1_晨星MSO9280芯片_4G和8G闪存_TTL-BIN包刷机固件包
android·linux·adb·电视盒子·av1·魔百盒刷机
XMYX-02 小时前
Python 实现一个带进度条的 URL 批量下载工具(含 GUI 界面)
开发语言·python
sorryhc2 小时前
React SSR同构渲染方案是什么?
前端·javascript·next.js