电商系统设计要点

一、     最主要的业务流程

  

                          1‑1购物流程

                        1‑2购物流程时序图

  时序图详解:

  1、用户开始浏览商品,需要有一个商品模块来支撑,给用户展示商品的介绍、价格等等这些信息。

  2、用户把选好的商品加入购物车,这个步骤,也需要一个购物车模块来维护用户购物车中的商品。

  3、 用户下单肯定需要一个订单模块来创建这个新订单。订单创建好了之后,需要把订单中的商品从购物车中删除掉。

  4、订单创建完成后,需要引导用户付款,也就是发起支付流程,这里需要有一个支付模块来实现支付功能,用户成功完成支付之后,需要把订单的状态变更为“已支付”。

  5、之后运营人员就可以发货了,在系统中,发货这个步骤,需要扣减对应商品的库存数量,这个功能需要库存模块来实现,发货完成后,还需要把订单状态变更为“已发货”。

  6、最后,用户收货之后,在系统中确认收货,系统把订单状态变更为“已收货”,流程结束。

二、 电商系统的功能模块

  

                        2‑1电商系统功能模块图

  

  1、        商品:维护和展示商品信息和价格。

  2、        订单:维护订单信息和订单状态,计算订单金额

  3、        购物车:维护用户购物车中的商品

  4、        支付:负责与系统内外部的支付渠道对接,实现支付功能。

  5、        库存:维护商品的库存数量和库存信息。

  6、        促销:制定促销规则,计算促销优惠。

  7、        用户:维护系统的用户信息,注意用户模块它是一个业务模块,一般不负责用户登录和认证,这是两个完全不同的功能。(这里的用户模块主要是维护和管理C端用户信息的模块,用户数据也是业务数据,是电商的重要业务资产,所以最好不要和登录认证的安全)

  8、        账户:负责维护用户的账户余额。

  9、        搜索推荐:负责商城中,搜索商品和各种列表页和促销页的组织和展示,简单的说就是决定让用户优先看到哪些商品。

  10、     报表:实现统计和分析功能,生成报表,给老板来做经营分析和决策使用。

三、 促销需要提供几个服务:

  一是哪些促销可用:输入是一堆商品和用户ID,促销服务返回可用的促销:比如满减、优惠券之类的。

  一个“算价”服务,输入是:一堆商品和使用的一堆促销,促销服务需要验证这些促销是否都可以使用,有没有冲突之类的,如果可用,返回的是计算完成的促销价。

  这个促销价不仅包括使用促销之后的总价,还要包含每个商品的“实际优惠价(不显示给用户)”,保证:促销后的总价=Σ所有商品的实际优惠价。这个价格就是用完促销之后,每个商品的实际价格,后续退货、计算成本收益,都以这个价格为准。

  这样对于购物车和订单来说,处理就比较简单了,不管你促销怎么玩儿,反正最终你告诉我用完促销之后每个商品什么价格就可以了。促销规则变来变去也不用去改订单服务。

四、 超卖问题解决思路

  • 用户下单后锁定库存
  • 每笔订单设置有效时间,防止用户下单但是一直不付款,导致库存一直处于锁定状态。
  • 发货后减少库存

  以上三点联合起来再出现超卖的可能性就很小了。

posted @ 2020-04-04 17:42  xsan  阅读(1673)  评论(0编辑  收藏  举报