代码开发中的一致性解决方案
2017-02-24 本文已影响0人
yeqingwen
问题描述
账户有类型和到期时间,用户可以自行升级、续费。但是当用户同时创建了升级订单、续费订单。当用户支付了其中一个订单之后,另一个订单就需要失效。
解决方案: 版本号
-
给账户增加一个版本号,当更新账户类型或者过期时间时,就讲版本号加一
-
创建升级、续费订单时,取出账户当前的版本号作为订单的一个字段
-
确认支付时,判断订单的版本号是否等于账户当前的订单号,如果不吻合,则判定当前订单失效。
账户有类型和到期时间,用户可以自行升级、续费。但是当用户同时创建了升级订单、续费订单。当用户支付了其中一个订单之后,另一个订单就需要失效。
给账户增加一个版本号,当更新账户类型或者过期时间时,就讲版本号加一
创建升级、续费订单时,取出账户当前的版本号作为订单的一个字段
确认支付时,判断订单的版本号是否等于账户当前的订单号,如果不吻合,则判定当前订单失效。