/**
* 修改密码
* @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的用法示例
最新推荐文章于 2024-05-29 20:13:53 发布