关于一个充值活动的反思

年前完成了一个新年手机充值活动,年后回来以后发现出现很多问题。特此记录一下:

1.在充值的逻辑中,对于数据库的添加和更新操作使用了事务:
由于充值的行为时通过调用第三方接口的方式完成,为了数据安全起见(担心由于某些问题产生脏数据),对充值部分的逻辑中数据库的INSERT 和 UPDATE操作使用了事务。可是没想到由于请求比较密集,出现了接口调用失败的现象,充值请求已经发送出去,并且在第三方平台已经成功,并且由于接口调用失败抛出异常,程序中断,事务也没有提交,而是rollback了,导致充值成功的记录未保存在数据库中,导致统计数据不正确。

2.对于注册页面用户姓名项,未做中英文过滤:
由于项目比较紧,对于用户注册页面中的姓名项,忘记判断是否全中文,或全英文。
这是个低级错误,事后自己狂扇自己(当然是在YY中)

3.对于设计中注册功能和登陆功能中去除验证码,未提出异议:
本来在登陆和注册功能中添加验证码是一种防止用户编写机器人,自动登陆或注册的常用手段。(这个有过一段时间工作经验的程序员都应该知道)。
但是由于项目需要年前上线,本身有一些抵触情绪,未对这个设计缺陷进行纠正。
导致假期中,有用户编写机器人,对数据库疯狂的写了相当多的垃圾数据。
这样的态度实在有悖程序员的职业素养,以后注意。

4.手机号码未进行真实性验证:
这个失误是有些无奈,公司的短信接口无法使用,无法进行手机验证码的发送。

5.当达到充值条件后,立即开始充值逻辑:
对于这样的做法本没有错,但是充值需要调用第三方接口,调用接口容易出现各种问题,所以应该尽量写一个队列,进行充值逻辑。

由 晓狼 发表于 2014-02-11 2 评论
标签 :

2 个评论

评论
二 12, 2014
16:47
#1 David :

可以学学支付宝的那个支付逻辑,推送支付状态,支付完成,关闭页面,支付宝运行你的URL 改变支付状态!问问第三方支持否!!!

作者 三 23, 2014
00:39
#2 晓狼 :

主要是一个外包的工作,时间紧任务重,考虑的有所欠缺。。。。

对不起,评论已关闭.

上一篇文章
«
下一篇文章
»
 友情链接:web集结号     京ICP备11006177号