我们看下我们流量充值中心执行步骤,哪些步骤是需要进行事务管理的:
(1)完成支付转账。
(2)创建充值订单:充值订单显示的是支付成功
(3)调用第三方运营商系统完成流量充值。
(4)发送短信通知用户,流量充值成功:系统还给用户发了一个短信,提示用户流量已经充值成功了。
(5)给用户增加一次抽奖的机会:用户新增一次抽奖的机会。
(6)给用户增加充值面额5%的积分:用户增加了积分。
(7)如果使用了流量券的话,要将流量券的状态更新为:流量券状态也改变了,已经使用了。
(8)如果充值的流量套餐有赠送流量券的活动,赠送给用户流量券。
在上面的事务中,除了第4步,发送短信是可有可无的,可以跟另外7个步骤脱离开来,如果发送成功就最好的,如果发送短信失败了,也就是调用第三方的发短信的API接口失败了,也是可以接受的。无非是用户没有收到短信。所以说只有7个步骤我们是需要进行事务管理的,我们现在把这个发送短信这个步骤和其他的7个步骤抽离出来,看下面的代码:
新增 FlowRechargeCenterService 接口类: