zoukankan      html  css  js  c++  java
  • 电商订单系统

    订单系统设计

    总体设计

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

    •  订单拆分

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

       

     

  • 相关阅读:
    Update语句到底是如何操作记录的?
    sp_helptext输出错行问题解决
    SSMS查询快捷方式设置
    快速定义临时表或表变量
    T-SQL逻辑查询
    基于交换的排序算法
    插入排序及其扩展
    Python之django基础第一天,认识django
    flask虚拟环境的安装和注意事项
    Linux基础
  • 原文地址:https://www.cnblogs.com/crystal189/p/7063403.html
Copyright © 2011-2022 走看看