订单笔记.md 1.6 KB

订单笔记

流程

  graph TB
  a(选中购物车中的商品/商品页的商品直接购买)
--进入提交页前,检查逻辑-->
  b{检查该商品的规格库存是否足够}
--库存不足--> 
   e1[抛出异常,交由前端处理] 
--返回前端--> 
   e2(由购物车来,则返回购物车处.<br>ps:进入购物车页面后,需要检查库存量是否够.<br>如果不够,则将购物车的商品数量重置到满足条件的数量<br>若没有库存,则需要提示)
b --库存足够-->
  c[则查询相关订单页面相关信息:<br>1.获取用户的默认收货地址信息<br>2.按店铺,将商品的规格分组]
--返回前端页面--->
  d[前端页面计算商品的价格.由于服务端不计算金额<br>所以前端不止要计算商品的金额,还需要计算有关优惠券的金额减免.]
---->
  f[前端选择优惠券,计算价格<br>最终决定下单的数据<br>1.按店铺分组的商品规格的信息列表<br>2.优惠券使用的情况<br>3.顾客的邮寄地址<br>]
---->
  g{检查库存,优惠卷}
--检查失败-->
   e3(抛出异常,提示库存/优惠卷不符合条件.返回前端)
g--检查成功-->
    h(计算出价格,将明细补全.<br>若是平台优惠,按比例生成.店铺优惠,跟着店铺走.<br>生成大订单,整理数据,请求微信支付,将结果返回给前端.等待支付)
---->
  i[前端支付]
i---->
  i1(若超过支付限时,则服务端需要关闭订单)
i---->
  j[收到回调函数,将大订单按店铺拆分,整理成用户实际看到的店铺订单.<br>ps:未支付订单和已支付的订单不一样]