订单系统设计

总体设计

      1.每次下单时间少于3秒   2.库存验证不存在多买的情况 3.订单能够按照不同供应商进程拆分  4. 物流信息能够回传

订单状态机设计

      1.待系统审核  2.待支付 3.待发货 4.待签收 5.已完成 6.订单关闭

      订单状态流转如下图示:

        1)审核失败 2)未支付(待支付24小时) 3)支付失败  4)配送失败  以上4种状态为订单关闭原因

        

 

  •   在审核时有以下情况 审核失败

       1) 同一用户在过去一个月有3次退单

       2) 用户使用货到货付款拒付

       3) 用户配送地址3次以上无法送达, 电话无法联系

       4) 与配送人员冲突

       5) 其他渠道黑名单

  •  库存设计

         1.针对促销商品: 这里采用的是在付款时锁定库存,在支付成功时候扣减库存,支付失败释放库存。当然没有库存时在商品详情页面不能加入购物车 既能确定购买意向,又不影响其他用户,买卖手慢无,技术也好处理功能逻辑

         2.针对普通商品: 单占用库存(O)当生成订单时,可用库存数量减少,订单占用库存(Order Occupied Inventory)数量增多,变化的数量即订单中的产品数量,这个很容易理解:订单的生成和库房的发货在时间上是异步的。这样做的优点在于:保证已经生成订单的库存,这部分客户可以顺利收货;而且客户在下订单时,能够保证有产品发货。若不设立订单占用库存,则会产生客户下订单后,库存发现无货可发的尴尬情况。而处理订单时,针对的只是已经被订单所占用的库存,与前台的销售无关。订单出库后,系统中扣减的也只是订单所占用库存       

  •  订单拆分

                由于在电商网站中存在多个的供应商,一张订单时能够包括多个供应商,因此需要按照不同的供应商进行拆单,形成子父订单概念

   

  •  

 

 posted on 2017-06-22 10:57  Wang.Crystal  阅读(6547)  评论(3编辑  收藏  举报