今天钉钉群里面领导安排了一个任务,就是准备为某个学校做一个人脸支付系统。既然说到人脸支付系统,那其实离不开的就是订单系统。因为所有做过支付的同学都应该了解到,在订单支付系统里面,只需要生成订单,然后调用第三方来进行支付即可。其他的所有信息都是围绕着订单才进行操作的。所以结合之前我们做的商城系统,正好来捋一捋订单系统。
一、商城系统概况
订单系统是商城系统里面不可或缺的一部分,我们先来看一个简要的商城系统图
上面的图示大家可以看到一个商城的大致轮廓,在里面订单系统是服务层不可或缺的一部分。那么订单系统整体的上下游关系是什么呢?再接大家介绍下
订单系统的上游:
1、会员系统 2、仓储系统 3、支付系统 4、消息系统 5、财务系统 6、商品系统 7、促销系统
订单系统的下游:
1、订单列表 2、订单详情 3、订单消息
根据承上启下的方式,我们可以看到,订单系统就是对接上游用户信息和商品信息,把这些信息转换成产品订单,同时承载其他的商品、促销、仓促、会员、支付等环节。
二、订单系统的核心内容
一般我们在小型的业务上,大部分研发人员都会做的很简单,创建一个订单,记录下订单信息,减减库存等。但是真实的,我们有没有留意到订单系统到底有哪些内容呢?相信很多同学在开发的过程中,初期做的很简单,订单就那么几个信息,随着业务增长,产品经理的需求增多,然后研发人员继续在订单表里面新增各种字段。大家伙有没有这样的经历?
下面就来给大家梳理下订单系统的核心内容有哪些?
从这里可以看到订单内容包含6个大的部分
1、订单基础信息 2、用户信息 3、商品信息 4、促销信息 5、支付信息 6、物流信息
同时这6大块里面还包含具体的小的内容,从上图大家可以看到。如果仔细看每一项的话,然后想象下淘宝的订单业务,是不是就很完整了?
三、订单的核心流程
上面介绍了订单的完整内容,那么在用户创建一个新的订单到这个订单完成的流程是什么呢?在整个流程里面,每个步骤需要做哪些事情呢?
3.1、订单创建
在订单创建的过程中,总体我们要经历如下流程
用户下单->风控规则校验->获取商品信息->获取促销信息->获取会员信息及权益折扣->库存校验->价格计算->增减库存-信息同步
在这里我们演示的是下单减库存,这也是电商中常用的方式,例如唯品会,我们在加入购物车的时候,他就会提示大家为大家保留30分钟的库存。同时说到下单减库存,我们也说下他的优缺点。
下单减库存的优点有:
1、用户体验友好(用户下单成功就一定能支付成功) 2、系统逻辑简洁
下单减库存的缺点有:
1、用户存在恶意下单或下单后不买的情况。 2、可能存在真实有需求的用户因为库存不足无法购买。
针对下单减库存的缺点,我们一般还是有一些解决办法的。例如:
1、设置订单有效时间,一般为30分钟,如过期用户支付不成功,则订单取消,库存回滚。 2、有部分场景会设置限购,例如用户只能购买1件或者2件,这样用户就不能超额下单。 3、风控手段。大型电商系统都有这样一个系统,屏蔽恶意账号,禁止恶意购买行为。
当然说到下单减库存,还有一种用的不是太多的就是付款的时候减库存。我们也来说说他的优缺点。
付款减库存的优点有:
1、减少无效订单带来的资源损耗
付款减库存的缺点有:
1、缺点因第三方支付返回结果存在时差,同一时间多个用户同时付款成功,会导致下单数量超过库存,引起超卖。很容易引起商家或者客户的投诉,成本较大。
针对付款减库存的缺点同样我们还是有解决办法的
1、付款前再次校验库存,如果库存不足,则友好的给用户提示下库存不足。 2、在商品详情页面,付款步骤的页面提示用户,如果付款不及时,不能保证有库存等信息。
备注:付款减库存个人建议能不能就不用。
3.2、订单支付阶段
在订单支付阶段需要进行如下流程:
库存校验->订单支付->信息同步
3.3、订单生产阶段
订单生产阶段需要进行如下流程:
1、仓库调配 2、订单分拣 3、商品包装 4、订单出库 5、快递配送
订单生产阶段其实就是物流仓储的配送阶段,这里一般我们会对接wms仓库管理系统。
3.4、订单确认
订单确认,就是后续的动作,例如用户确认完成订单的操作,用户退换货的操作。
3.5、订单完成
订单完成的动作就是这个订单完全结束,不管是用户确认收货,还是退换货的完全完成。
以上就是整个订单系统的完整核心流程。最后再给大家贴一个订单系统的流程图
四、订单的状态有哪些?
一个完整的订单,他应该有很多的状态,例如:
1、待付款 2、待发货 3、已发货 4、交易完成 5、售后中 6、交易关闭
用图像来显示就是如下:
以上就是今天关于订单系统的知识点梳理,相信对于做过和未做过订单系统的研发人员来说,都可以受益匪浅。
思考:
在实际的真实系统中,我们的订单模块可以是一个完整的系统,也可以是一个单独的模块。具体形式应该根据实际情况来处理。我们的系统不一定需要做的很大而全,但是在做的时候,尽量考虑考虑的充分一些,这样在后续的拓展中就不会踩很多坑了。
还没有评论,来说两句吧...