Lambda的用法示例

/**
     * 修改密码
     * @param loginname 用户的账号
     * @param pwd       用户的密码
     * @return
     */
    @RequestMapping("changePwd")
    public ResultObj changePwd(String loginname, String pwd, String newPwd) {
     
        try {
     
            //isBlank
            if (!(StringUtils.isBlank(loginname) || StringUtils.isBlank(pwd))) {
     
                return ResultObj.setData(Constast.ERROR, "账号或者密码为空");
            }
            LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
            queryWrapper.eq(true, User::getLoginname, loginname);//true必须成立
            //queryWrapper.eq(true, User::getPwd, pwd);
            User user = userService.getOne(queryWrapper);
            SimpleHash hash = new SimpleHash("md5", pwd, user.getSalt(), 2);
            //密码不相等
            if (!user.getPwd().equals(hash.toString())) {
     
                return ResultObj.setData(Constast.ERROR, "账号或者密码为不正确");
            }
            LambdaUpdateWrapper<User> updateWrapper = new LambdaUpdateWrapper<>();
            updateWrapper.eq(true, User::getLoginname, loginname);
            User newUser = new User();
            SimpleHash newHash = new SimpleHash("md5", newPwd, user.getSalt(), 2);
            newUser.setPwd(newHash.toString());
            // 根据用户修改
            userService.update(newUser, updateWrapper);

//               userService.update()
            return ResultObj.UPDATE_SUCCESS;

        } catch (Exception e) {
     
            e.printStackTrace();
            return ResultObj.DISPATCH_ERROR;
        }
    }

你可能感兴趣的:(lambda,java)