关于checkEmail还有user数据的更新问题
来源:6-7 更新用户个人信息功能开发
堇月枝
2017-12-15
老师,我想问一下为什么不单独写一个checkEmail接口提供给前端。用户全部写完更新的信息,提交才返回email已经存在,用户体验似乎就不太好了。我看现在都是直接校验邮箱是否存在,如果存在后面会有提示语什么的。
另外,为什么在传入user的时候不直接调用接口updateByPrimaryKey,这样就免去了new一个新的user对象然后再从传入的user对象传递值过去。这个是从效率方面来考虑的吗,因为强制更新数据库会消耗更多资源吗。
1回答
-
现在注册的时候是这样的哟。check_valid.do 就是校验这个的。这里的确可以优化成这样的。你说的很对。
2.现在就是调用的updateByPrimaryKeySelective
public ServerResponse<User> updateInformation(User user){
//username是不能被更新的
//email也要进行一个校验,校验新的email是不是已经存在,并且存在的email如果相同的话,不能是我们当前的这个用户的.
int resultCount = userMapper.checkEmailByUserId(user.getEmail(),user.getId());
if(resultCount > 0){
return ServerResponse.createByErrorMessage("email已存在,请更换email再尝试更新");
}
User updateUser = new User();
updateUser.setId(user.getId());
updateUser.setEmail(user.getEmail());
updateUser.setPhone(user.getPhone());
updateUser.setQuestion(user.getQuestion());
updateUser.setAnswer(user.getAnswer());
int updateCount = userMapper.updateByPrimaryKeySelective(updateUser);
if(updateCount > 0){
return ServerResponse.createBySuccess("更新个人信息成功",updateUser);
}
return ServerResponse.createByErrorMessage("更新个人信息失败");
}00
相似问题
回答 1
回答 2
回答 2
回答 1
回答 6