下单以及订单处理流程描述

1 下单过程

  • 预订者浏览某个已发布的会议;
  • 进入会议的详情页面,该页面显示了所有可预订的座位分类信息;
  • 预订者选择好要预订的座位分类,录入每个分类的预定数量;
  • 预订者点击提交按钮,提交下单请求到Server端;

2 Server端订单处理过程

  • Server端Controller提交处理订单的命令到分布式消息队列,然后后台的Command Processor就可以消费该命令并异步处理订单了。核心处理步骤:
    • 生成订单(初始状态);
    • 扣减库存(内部有预扣逻辑);
    • 更新订单状态;
  • Server端Controller发送命令后,立即重定向页面到查单订单处理结果页面,该页面会以轮训的方式查看订单处理结果;

3 用户等待订单处理结果

  • 如果下单成功(库存足够),预订者被导航到支付页面进行支付;预订者可以选择支付,也可以放弃支付;
  • 如果下单失败(库存不足),则提示用户下单失败,因为库存不足;
  • 如果轮训等待超时,则告诉用户暂时无法知道订单处理状态,然后当前页面继续定时(5s)轮训订单处理结果;

4 用户支付订单

  • 如果支付成功,则提示预订者订单处理完成,交易完成;
  • 如果拒绝支付,则关闭订单;
  • 如果超过规定时间(15分钟)未支付,则视作订单已过期,系统自动回收订单所预定的座位;

5 流程结束

 

转载于:https://my.oschina.net/u/3145136/blog/855785

你可能感兴趣的:(下单以及订单处理流程描述)