这算不算bug?

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

悟空工作室

2018-02-07

如果数据库中有其他用户注册时没有邮箱,那么当前用户修改资料时没有输入邮箱,教程中的代码没有检查传参的邮箱是否为空,执行到checkEmailByUserId 就会返回邮箱已存在,后面的update根本不会执行,那么我修改资料不传邮箱岂不是其他资料也永远不能修改成功了。


因为数据库的user表就没有设置邮箱不能为null,注册的代码中也没有限制,就可能造成上面说的有的用户数据缺少邮箱。最终造成上面的这个问题。

写回答

2回答

Geely

2018-02-12

你好,悟空同学,很好的问题,很仔细,赞一个。

这里的确是可以优化,这个算是一个业务逻辑设计的问题。这里有很多方案,可以把信箱做成必填项等等,这些都算产品设计上的问题,包括你提的一个问题。

实际上,我们可以按照更优化的产品逻辑来优化,例如信箱做成必填项。


0
2
linshichang
回复
悟空工作室
其实可以在注册页面前端将此项设置为必填项。这都是方案问题。不过项目里执行用户信息更新操作的之后,未填写的字段都会导致更新操作完成之后新的session中该字段为空,与数据库中对应不上。不过目前看来问题不大,后面有问题再解决。
2018-12-26
共2条回复

星辰Iron

2018-02-11

你好同学,修改资料时没有输入邮箱的话userMapper的checkEmailByUserId方法通常情况下会返回0,这样用户信息的更新逻辑就会继续执行,只是返回更新的用户时邮箱的那一项为空(但是实际上数据库当中该用户的邮箱并不是空)。

0
0

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

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

9476 学习 · 8804 问题

查看课程