springbootMySQLIdeajava

A. 手机App支付流量需求认识

image.png
创建一个data-refill-center的流量充值中心的系统,流量服务是在流量充值中心系统里是一个模块,也是本章节透过TA来了解分布式事务的开始。

  • 用户进入流量充值界面的过程

(1)打开手机APP,进入流量充值的界面
(2)手机APP会发送一个请求到后端的流量服务(模块)里去
(3)首先,流量服务需要从商品服务(商品模块),获取到所有的流量套餐商品
(4)接着对每个流量套餐商品,都获取到对应的优惠活动,要求是关联当前流量套餐商品的优惠活动,而且状态是处于“进行中”的优惠活动,在创建优惠活动的时候,一个流量套餐最多只能查出来一个优惠活动。如果有优惠活动就跟流量套餐商品绑定在一起,如果没有优惠活动,那么就算了
(5)最后就是对每个流量套餐商品,都获取到对应的送流量券活动,要求是关联当前流量套餐商品的送优惠券活动,而且状态是处于“进行中”的活动。同上,如果有就绑定在一起,如果没有就算了
image.png

  • 用户进入支付环节的过程

(1)进入这个支付界面的时候发送一个请求到你的流量充值中心的后台系统,计算一下用户具体要支付多少钱
(2)后台系统去查询用户账号有没有流量券,如果有的,将面额最高的流量券给查询出来,直接返回给手机APP
(3)显示出最优的流量券扣减掉流量券金额,显示出来最终的金额。如没问题,完成支付金额,后台系统访问支付平台处理相关支付流程
(4)完成支付:将用户的支付宝账号里的金额,转账到中国移动支付宝账号里去
(5)创建流量充值订单:状态为支付成功
(6)完成流量充值:找第三方的运营商的BOSS系统
(7)通知用户:找消息服务,发送短信通知用户
(8)增加抽奖机会:找抽奖服务,给用户增加一次抽奖的机会
(9)增加积分:找积分服务,给用户增加5%,24元 * 5% = 1.2积分
(10)修改流量券的状态:找流量券服务,去将使用的流量券的状态修改为已使用
(11)赠送流量券:找流量券服务,给这个用户赠送一张跟流量券活动匹配的流量券