关于checkEmail还有user数据的更新问题

来源:6-7 更新用户个人信息功能开发

堇月枝

2017-12-15

老师,我想问一下为什么不单独写一个checkEmail接口提供给前端。用户全部写完更新的信息,提交才返回email已经存在,用户体验似乎就不太好了。我看现在都是直接校验邮箱是否存在,如果存在后面会有提示语什么的。

另外,为什么在传入user的时候不直接调用接口updateByPrimaryKey,这样就免去了new一个新的user对象然后再从传入的user对象传递值过去。这个是从效率方面来考虑的吗,因为强制更新数据库会消耗更多资源吗。

写回答

1回答

Geely

2017-12-16

  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("更新个人信息失败");
}


0
0

从0开始 独立完成企业级Java电商网站服务端开发

前后端分离,数据库接口设计,架构设计,功能开发,上线运维

9476 学习 · 8804 问题

查看课程