最简单
一般而言,系统内都会有用户模块,如果涉及到钱、积分、兑换券之类的,那么最好搞一套账户模块。
简单的账户模块分为两部分,账户和流水记录。

最简单的账户模块
在这种简单的模块内,典型的场景是用户做了某个操作,达到了预设条件,于是系统给予奖励,生成一条流水记录,该用户的账户内的金额也随之增加。用户也可以进行消费或提现,此时生成流水记录后,该用户的账户内金额是减少的。当然,用户还可以进行充值。
稍微复杂点
如果有人民币、积分、甚至美元等多个金融体系,那就要为每个用户创建一一对应的多个账户。如果涉及转换,那么一次转换就会生成两条流水记录,一条用于转出用户减少金额,另一条用户转入用户增加金额。
不论是在系统内对账户金额做增减,还是在涉及和第三方(支付宝、微信红包,等等)进行通讯的情况下,都会存在不成功的情况。这种场景需要确定两个问题&