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

53 篇文章 0 订阅

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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值