SpringBoot企业级开发之【用户模块-更新用户密码】
具体内容:
依旧是查看接口文档信息:
开发思路:
实操:
1.controller
//更新用户密码@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");//确认密码//2.判断所有的密码是否为空if(!StringUtils.hasLength(oldPwd)|| !StringUtils.hasLength(newPwd)|| !StringUtils.hasLength(rePwd)){return Result.error("参数不能为空");}//3.判断旧密码是否正确//调用userService根据用户名拿到原密码,再和oldPwd对比Map<String,Object>map=ThreadLocalUtil.get();String username=(String)map.get("username");User LoginUser=userService.findUserByUsername(username);if(!LoginUser.getPassword().equals(Md5Util.getMD5String(oldPwd))){return Result.error("旧密码错误");}//4.判断新密码和确认密码是否一致if(!newPwd.equals(rePwd)){return Result.error("两次密码不一致");}//5.更新密码userService.updatePwd(newPwd);return Result.success();}
2.service接口
3.service实现类
//更新用户密码@Overridepublic void updatePwd(String newPassword) {//获取idMap<String, Object> map = ThreadLocalUtil.get();Integer id = (Integer)map.get("id");//密码要进行加密(导入Md5Util工具类)String md5String = Md5Util.getMD5String(newPassword);//调用Mapper更新密码userMapper.updatePwd(md5String,id);}
4.Mapper
//更新用户密码@Update("UPDATE user SET password = #{md5String}, update_time = now() WHERE id = #{id}")void updatePwd(String md5String, Integer id);
注意!记得判断“新密码”、“旧密码”、“确认密码”,记得解密
密码失败结果:
密码正确结果:
咱们的用户模块暂时更新到这里 ,后续有补充再继续 。下一章就是开启我们项目的功能-《文章管理模块》了,下一章不见不散