跳转至

下单消费逻辑梳理

首先捋一下整个的逻辑:

  1. 用户通过下单界面进行订单创建-传入必要的创建订单的字段
  2. 校验前端传递过来的总的金额是否正确(其中要考虑优惠券、打折等部分)
  3. 同步生成订单信息和支付信息(订单信息直接落库),mq创建订单信息(使用延迟消息,延迟时间需要比订单存在消息略长,这样就不会存在查询的时候,用户还可以支付的情况)
  4. 调用支付渠道接口,返回支付二维码和订单号,通过支付回调接口获取支付结果
  5. 获取到对应的支付结果后,根据支付结果进行相应的操作,如支付成功在通过mq在用户侧增加用户购买的流量包
  6. 消费到延迟消息时,会查看订单状态,算是对订单状态的一个二次确认,根据订单的状态进行相应的处理

整套支付流程其实按照微信或者支付宝的对接文档进行开发即可。

在支付完成后对账户增加流量包时,使用redis做分布式锁,防止重复进行支付成功的回调