修改一下这段代码public R registerWx(@RequestBody User user) { QueryWrapper<User> queryWrapper = new QueryWrapper(); queryWrapper.eq("nick_name", user.getNick_Name()); User u = userServiceImpl.getOne(queryWrapper); System.out.println(u); if (u == null) { userServiceImpl.save(user); User userInfo = userServiceImpl.getOne(queryWrapper); if(ObjectUtil.isEmpty(userInfo.getScore())){ userInfo.setScore(new BigDecimal("0")); } if(userInfo != null && userInfo.getScore() != null){ userInfo.setScore(new BigDecimal("0"));} // userInfo.setScore(new BigDecimal("0")); return R.ok(userInfo); } else { User userInfo = userServiceImpl.getOne(queryWrapper); if(ObjectUtil.isEmpty(userInfo.getScore())){ userInfo.setScore(new BigDecimal("0")); } return R.ok(userInfo); }
时间: 2023-12-06 18:43:39 浏览: 110
public R registerWx(@RequestBody User user) {
QueryWrapper<User> queryWrapper = new QueryWrapper();
queryWrapper.eq("nick_name", user.getNick_Name());
User u = userServiceImpl.getOne(queryWrapper);
System.out.println(u);
if (u == null) {
userServiceImpl.save(user);
User userInfo = userServiceImpl.getOne(queryWrapper);
if(userInfo != null && ObjectUtil.isEmpty(userInfo.getScore())){
userInfo.setScore(new BigDecimal("0"));
}
return R.ok(userInfo);
} else {
if(ObjectUtil.isEmpty(u.getScore())){
u.setScore(new BigDecimal("0"));
}
return R.ok(u);
}
}
我做了以下修改:
1. 在if和else语句中,去除了对userInfo是否为空的判断,因为在第一次查询时已经判断过了。
2. 对设置用户积分的逻辑进行了调整,如果用户已经存在,则直接对其积分进行判断和设置,而不需要再次查询。
阅读全文