分布式事务实战七(为流量充值中心加入事务)

本文探讨了在流量充值中心的事务管理中,如何确保关键步骤(如支付转账、充值订单创建等)的一致性。通过将发送短信等非关键步骤与核心事务分离,并利用Spring的@Transactional注解实现分布式事务,确保在调用第三方系统失败时,交易能够回滚,避免用户资金损失。示例展示了未加事务时的问题以及添加事务后的正确行为。
摘要由CSDN通过智能技术生成

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

新增 FlowRechargeCenterService 接口类:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

youngerone123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值