这里不能直接使用 querywrapper 查询用户吗
来源:5-10 用户忘记密码-校验用户名

无解的游戏
2023-08-27
public String checkUsername(CheckUsernameContext checkUsernameContext) {
QueryWrapper<WPanUser> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("username", checkUsernameContext.getUsername());
WPanUser entity = getOne(queryWrapper);
if (Objects.isNull(entity)) {
throw new WPanBusinessException("该用户不存在");
}
if (StringUtils.isBlank(entity.getQuestion())) {
throw new WPanBusinessException("此用户没有密保问题");
}
return null;
}
直接根据用户实体里获取密保问题,还能查询下用户是否存在,用户存在了才能查看是否有密保问题,感觉再使用一下
baseMapper
去调用一下没有必要。
如果是为了查询性能可以理解
select quetion from r_pan_user where username = 'xxxx'
上面可能会
select * from ....
上面的也能改成只查询一个字段的
public String checkUsername(CheckUsernameContext checkUsernameContext) {
QueryWrapper<WPanUser> queryWrapper = new QueryWrapper<>();
queryWrapper.select("question");
queryWrapper.eq("username", checkUsernameContext.getUsername());
WPanUser entity = getOne(queryWrapper);
if (Objects.isNull(entity)) {
throw new WPanBusinessException("该用户不存在");
}
if (StringUtils.isBlank(entity.getQuestion())) {
throw new WPanBusinessException("此用户没有密保问题");
}
return entity.getQuestion();
}
写回答
1回答
-
怎么查询都可以哈 只要能实现功能就可以
012023-08-27
相似问题