首页 > 资讯 > 正文
电商系统设计要点
来源:网络 阅读量:
购物流程

购物时序图

1、用户浏览商品,需要一个商品模块,展示商品的介绍、价格等等。
2、用户把选好的商品加入购物车,需要一个购物车模块来维护用户购物车中的商品。
3、用户下单需要一个订单模块来创建这个新订单。订单创建好了之后,需要把订单中的商品从购物车中删除掉。
4、订单创建完成后,需要引导用户付款,也就是发起支付流程,这里需要有一个支付模块来实现支付功能,用户成功完成支付之后,需要把订单的状态变更为“已支付”。
5、运营人员就可以发货了,在这个系统中,发货需要扣减对应商品的库存数量,这个功能需要库存模块来实现,发货完成后,还需要把订单状态变更为“已发货”。
6、用户收货之后,在系统中确认收货,系统把订单状态变更为“已收货”,流程结束。
 
电商系统功能模块

1、商品:维护和展示商品信息和价格。
2、订单:维护订单信息和订单状态,计算订单金额
3、购物车:维护用户购物车中的商品
4、支付:负责与系统内外部的支付渠道对接,实现支付功能。
5、库存:维护商品的库存数量和库存信息。
6、促销:制定促销规则,计算促销优惠。
7、用户:维护系统的用户信息,会员体系,用户模块它是一个业务模块,不是用户登录和认证,这是两个完全不同的功能。
8、账户:负责维护用户的账户余额。
9、搜索推荐:搜索商品和各种列表页和促销页的组织和展示,简单的说就是决定让用户优先看到哪些商品。
10、报表:实现统计和分析功能,生成报表,用于经营分析和决策使用。
 
活动设计要点
活动是指根据用户id与商品,得到的促销活动,如新人价、折扣、预售、秒杀、拼团、买赠、满减等等。
活动设计的核心是匹配活动并变价,告诉用户参与活动后每个商品的活动价格。
 
超卖问题
关键在于库存锁的设计
 
订单数据流程

单金额的计算有两种方式,不过一般来说使用第一种方式,第二种方式仅做了解。
(1)统一以订单金额为基础:就是所会员权益、优惠券金额、促销活动金额的计算、都是在订单金额的基础之上的。例如:商品SKU价格45元、数量2、运费10、会员优惠8折、促销活动优惠5折、会员权益优惠15元,那么最终的订单价格为?我们首先要定义“订单金额”,订单金额=商品SKU价格*购买数量+运费=100元;
以订单金额为基础,计算其他费用,那么应支付就会这样:
应支付金额=订单金额-优惠券优惠金额-促销活动优惠金额-会员权益优惠金额
现在的问题关键在于优惠金额的计算,如果是满减就好说了,优惠金额一定,打折都是以订单金额为基础的。应支付金额=100-(100*(1-0.8))-(100*(1-0.5))-(15)也就是说,每项的优惠金额计算都是以订单金额为基础进行计算。
一般来说用这种方式比较好,能够很好的体现每种金额优惠的价值,并且拓展性强,计算的顺序不会影响最终的优惠效果,因为都是在订单总价的基础之上的,并且易于理解和计算。
(2)以顺序计算订单总金额:
就是每一笔的计算都是在上一步金额的基础之上的,具体算法如下:单价45元、数量2、运费5、会员9折、优惠8折。
首先,加上运费((20*2)+5)=45元;然后,在上一步基础上减去会员折扣45-45*0.1=40.5;最后,在上一步的基础上减去会员权益的优惠金额40.5-40.5*0.2;
这种方式不建议使用,计算顺序会影响最终的优惠金额,比如:先计算促销活动的优惠,和先计算会员权益最后导致的订单价格是有很大差别的
 
订单物流流程

 
订单拆分问题
因为电商平台需要为每个商家进行资金结算,所有需要通过订单号记录每个商家的订单信息。但是,显然如果这次所有的东西都用一个订单号那就乱了,因为结算是通过订单查询商家信息每笔订单对应一次结算,两个商家这笔订单的钱应该结给谁呢,所以这个时候就会出现第一次拆单。
如果用户一次提交订单,但是订单包含多个商家,或者商家和平台自营同时出现,那么就需要拆单。
小张提交的5件商品分为2个订单,每个订单号对应一个商家,同时如果小张另外在平台自营买了一件商品,道理也是一样,也需要拆单。
因为平台自营的商品是不需要结算的,如果把平台的订单放到商家一起,那么给商家结算的时候,岂不是平台卖得东西算到商家头上了。
也就是说,我们在购物车购买多个商品提交订单时,可能会有多个订单号(一次拆单,拆业务订单,原因上不同商家、平台所导致的),同时一个订单号可能会有多个运单编号(二次拆单,拆发货单,用户端拆开显示)
 
支付流程

当用户提交订单的时候系统就会同时生成待付款订单,这个时候拉起支付页面,如果用户支付成功,订单流转为待发货状态,如果用户支付失败或者退出支付,那么订单就会保持待付款状态。
对于待付款的订单,用户可以继续进行支付,一般来说待付款是有支付剩余时间的,就是在一定时间内如果用户没有支付成功,那么订单就会关闭,流转为已关闭订单,对于已经关闭的订单用户仅可执行删除操作。
对待支付订单用户可以主动取消订单,生成已关闭订单

 
退款流程
当用户付款完成,订单就会流转为待发货状态,这个时候后台是要准备发货的。那么在用户付款之后,商家发货之前,这个时候用户可以申请退款。
 
退货流程
当商品发货,但是用户未确认收货前可以申请退货,申请退货一般是在用户已经收到货了,但是对商品不太满意。



内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.link66.cn/news/3057.html