springboot+vue项目实战2024第三集修改用户信息

171 阅读1分钟

1.获取用户信息

@GetMapping("/userInfo")  
// @RequestHeader(name = "Authorization") String token  
public Result<User> userInfo(){  
// Map<String, Object> map = JwtUtil.parseToken(token);  
Map<String,Object> map = ThreadLocalUtil.get();  
  
String username =(String) map.get("username");  
User user = userService.findByUserName(username);  
return Result.success(user);  
}  
  
User findByUserName(String username);  
@Override  
public User findByUserName(String username) {  
User u=userMapper.findByUserName(username);  
return u;  
}  
  
@Select("select * from user where username=#{username}")  
User findByUserName(String username);  
  

2.更新用户信息

  
@PutMapping("/update")  
public Result update(@RequestBody @Validated User user){  
userService.update(user);  
return Result.success();  
}  
  
void update(User user);  
@Override  
public void update(User user) {  
user.setUpdateTime(LocalDateTime.now());  
userMapper.update(user);  
}  
@Update("update user set nickname=#{nickname},email=#{email},update_time=#{updateTime} where id=#{id}")  
void update(User user);  

3.更新头像

@PatchMapping("/updateAvatar")  
public Result updateAvatar(@RequestParam @URL String url){  
userService.updateAvatar(url);  
return Result.success();  
}  
void updateAvatar(String url);  
@Override  
public void updateAvatar(String url) {  
Map<String,Object> o = ThreadLocalUtil.get();  
Integer id =(Integer) o.get("id");  
userMapper.updateAvatar(url,id) ;  
}  
  
@Update("update user set user_pic=#{url},update_time=now() where id=#{id}")  
void updateAvatar(String url,Integer id);  
  
  

4.更新密码

  
@PatchMapping("/updatePwd")  
public Result updatePwd(@RequestBody Map<String,String> params){  
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("缺少必要参数");  
}  
Map<String,Object> map = ThreadLocalUtil.get();  
String username = (String) map.get("username");  
User user = userService.findByUserName(username);  
if(!user.getPassword().equals(Md5Utils.encrypt3ToMd5(oldPwd))){  
return Result.error("原密码填写不正确");  
}  
if(!rePwd.equals(newPwd)){  
return Result.error("两次填写的密码不一致");  
}  
userService.updatePwd(newPwd);  
return Result.success();  
}  
void updatePwd(String newPwd);  
@Override  
public void updatePwd(String newPwd) {  
Map<String,Object> map = ThreadLocalUtil.get();  
Integer id = (Integer) map.get("id");  
userMapper.updatePwd(Md5Utils.encrypt3ToMd5(newPwd),id);  
}  
@Update("update user set password=#{s},update_time=now() where id=#{id}")  
void updatePwd(String s,Integer id);