更新用户头像和密码用户模块结业

1.1更新用户头像

UserController中添加一个方法uodadteAvatar用于更新头像

UserService中调用方法

UserMapper中更新头像

1.2UserController

  @PatchMapping("/updateAvatar")
    public Result updateAvatar(@RequestParam @URL String avatarUrl){
        userServicec.updateAvatar(avatarUrl);
        return Result.success();

    }

1.3UserService

 //更新头像
    void updateAvatar(String avatarUrl);

1.4UserServiceImpl

@Override
    public void updateAvatar(String avatarUrl) {
        Map<String,Object> map = ThreadLocalUtil.get();
        Integer id = (Integer) map.get("id");
        userMapper.updateAvatar(avatarUrl,id);
    }

1.5UserMapper

 @Update("update user set user_pic=#{avatarUrl},update_time=now() where id = #{id}")
    void updateAvatar(String avatarUrl,Integer id);

2.1测试

3.1更新用户密码

UserController添加uodatePwd方法用于密码的更新

UserService中调用方法

UserMapper中更新密码和更新时间

3.1.1UserController

@PatchMapping("/updatePwd")
    public Result updatePwd(@RequestBody Map<String,String> params){//@RequestBody用于让spring注入
        //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根据用户名拿到原密码,再和ol_pwd比对
        Map<String,Object> map = ThreadLocalUtil.get();
        String username  = (String) map.get("username");
        User loginUser = userServicec.findByUserName(username);
        if (!loginUser.getPassword().equals(Md5Util.getMD5String(oldPwd))){
            return Result.error("原密码填写不正确");
        }
        //newPwd和rePw是否一样
        if (!rePwd.equals(newPwd)){
            return Result.error("两次填写的新密码不一样");
        }

        //2.调用service完成密码更新
        userServicec.updatePwd(newPwd);
        return Result.success();


    }

3.1.2UserService

  //更新密码
    void updatePwd(String newPwd);

3.1.3UserServiceImpl

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

3.1.4UserMapper

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

4.1测试

再次Send测试

再次修改数据后测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值