商城如何设计订单系统超级有⽤
本⽂主要讲述了在传统电商企业中,订单系统应承载的⾓⾊,就订单系统所包含的主要功能模块梳理了设计思路,并对订单系统未来的发展做了⼀些思考。
1. 订单系统在企业中的⾓⾊
在搭建企业订单系统之前,需要先梳理企业整体业务系统之间的关系和订单系统上下游关系,只有划分清业务系统边界,才能确定订单系统的职责与功能,进⽽保证各系统之间⾼效简洁的⼯作。
2. 订单系统与各业务系统的关系
(1)对外系统:
所有给企业外部⽤户使⽤的系统都在这⼀层,包括官⽹、普通⽤户使⽤的C端,还包括给商户使⽤的商家后台和在各个销售渠道进⾏分销的系统,⽐如与银⾏信⽤卡中⼼合作、合作在合作商的平台露出本企业的产品。这类系统站在与客户接触的最前线,是公司实现商业模式的桥头堡。
(2)管理中后台:
每个C端的业务形态都会有⼀个对应的系统模块,如负责管理平台交易的订单系统,管理优惠信息的促销系统,管理平台所有产品的产品系统,以及管理所有对外系统显⽰内容的内容系统等。
(3)公共服务系统:
随着企业的发展,信息化建设到达⼀定程度后,企业需要将通⽤功能服务化、平台化,以保证应⽤架构的合理性,提升服务效率。这类系统主要给其他应⽤系统提供基础服务能⼒⽀持。
3. 订单系统上下游关系
由此可见,订单系统对上接收⽤户信息,将⽤户信息转化为产品订单,同时管理并跟踪订单信息和数据,承载了公司整个交易线的重要对客环节。对下则衔接产品系统、促销系统、仓储系统、会员系统、⽀付系统等,对整个电商平台起着承上启下的作⽤。
4. 订单系统的业务架构
(1)订单服务
戴立忍 张震
该模块的主要功能是⽤户⽇常使⽤的服务和页⾯,主要有订单列表、订单详情、在线下单等,还包括为公共业务模块提供的多维度订单数据服务。
(2)订单逻辑
订单系统的核⼼,起着⾄关重要的作⽤,在订单系统负责管理订单创建、订单⽀付、订单⽣产、订单确认、订单完成、取消订单等订单流程。还涉及到复杂的订单状态规则、订单⾦额计算规则以及增减库存规则等。在4节核⼼功能设计中会重点来说。
(3)底层服务
信息化建设达到⼀定程度的企业,⼀般会将公司公共服务模块化,⽐如:产品,会构建对应的产品系统,代码、数据库,接⼝等相对独⽴。但是,这也带来了⼀个问题,⽐如:订单创建的场景下需要获取的信息分散在各个系统。
如果需要从各个公共服务系统调⽤:⼀是会花费⼤量时间,⼆是代码的维护成本⾮常⾼。因此,订单系统接⼊所需的公共服务模块接⼝,在订单系统即可完成对接公共系统的服务。
订单系统核⼼功能
怎样开通1. 订单中所包含的内容信息
为了使订单系统能够对订单进⾏⾼效、精准的管理和跟踪,订单会储存关于产品、优惠、⽤户、⽀付信息等⼀系列的订单实时数据,来和下游系统,如:促销、仓储、物流进⾏交互。
以⼀个通⽤B2C商城的订单为例,梳理其包含的信息如下:
这⾥要注意的是订单类型,随着平台业务的不断发展,品类丰富、交易⽅式丰富后,需要对订单进⾏多维度的分类管理,同时订单类型利于订单系统的扩展性。每种订单类型将会对应⼀套流程及⼀套状态,便于对订单进⾏分类管理和复⽤。
2. 流程引擎
流程是指从平台⾓度出发,将订单从创建到完成的整个流转过程进⾏抽象,从⽽形成了⼀套标准流程规则。⽽不同的产品类型或交易类型在系统中的流程会千差万别,因此为了⽅便对订单流程进⾏管理,会组建流程引擎模块。
大s父亲每套订单流程中会包含正向流程及逆向流程,正向流程可以⽐作⼀次顺利的⽹购体验过程中,后台系统之间的信息流转。逆向流程则是修改订单、取消订单、退款、退货等各种动作引起的后台系统流程,同时每个流程触发的条件⼜可分为系统触发和⼈⼯触发两种场景。
(1)正向流程
以⼀个通⽤B2C商城的订单系统为例,根据其实际业务场景,其订单流程可抽象为5⼤步骤:订单创建>订单⽀付>订单⽣产>订单确认>订单完成。
⽽每个步骤的背后,订单是如何在多系统之间交互流转的,可概括如下图:
订单创建:
⽤户下单后,系统需要⽣成订单,此时需要先获取下单中涉及的商品信息,然后获取该商品所涉及到的优惠信息,如果商品不参与优惠信息,则⽆此环节。
接着获取该账户的会员权益,这⾥要注意的是:优惠信息与会员权益的区别,⽐如:商品满减是优惠信息,SUPER会员全场9.8折指的是会员权益,⼀个是针对商品,另⼀个是针对账户。其次就是优惠活动的叠加规则和优先级规则等。
增减库存规则是指订单中的商品,何时从仓储系统中对相应商品库存进⾏扣除,⽬前主流有两种⽅式:
郑恺正义联盟剧照下单减库存——即⽤户下单成功时减少库存数量
优势:⽤户体验友好,系统逻辑简洁;
缺点:会导致恶意下单或下单后却不买,使得真正有需求的⽤户⽆法购买,影响真实销量;
解决办法:
1. 设置订单有效时间,若订单创建成功N分钟不付款,则订单取消,库存回滚;
容祖儿个人简介
2. 限购,⽤各种条件来限制买家的购买件数,⽐如⼀个账号、⼀个ip,只能买⼀件;
3. 风控,从技术⾓度进⾏判断,屏蔽恶意账号,禁⽌恶意账号购买。
付款减库存——即⽤户⽀付完成并反馈给平台后再减少库存数量
优势:减少⽆效订单带来的资源损耗;
缺点:因第三⽅⽀付返回结果存在时差,同⼀时间多个⽤户同时付款成功,会导致下单数⽬超过库存,商家库存不⾜容易引发断货和投诉,成本增加。
解决办法:
1. 付款前再次校验库存,如确认订单要付款时再验证⼀次,并友好提⽰⽤户库存不⾜;
2. 增加提⽰信息:在商品详情页,订单步骤页⾯提⽰不及时付款,不能保证有库存等。
综上所述,两种⽅式各有优缺点,因此,需结合实际场景进⾏考虑,如:秒杀、抢购、促销活动等,可使⽤下单减库存的⽅式。⽽对于产品库存量⼤,并发流量没有那么强的产品使⽤付款减库存的⽅式。
将两种⽅式带⼊到销售场景中,关联商品类型、促销类型、供需关系等,灵活使⽤,以充分发挥计算机系统的优势。
订单⽀付:
⽤户⽀付完订单后,需要获取订单的⽀付信息,包括⽀付流⽔号、⽀付时间等。⽀付完订单接着就是等商家发货,但在发货过程中,根据平台业务模式的不同,可能会涉及到订单的拆分。tf家族队长
订单拆分⼀般分两种:
⼀种是⽤户挑选的商品来⾃于不同渠道(⾃营与商家,商家与商家);
另⼀种是在SKU层⾯上拆分订单:不同仓库,不同运输要求的SKU,包裹重量体积限制等因素需要将订单拆分。
订单拆分也是⼀个相对独⽴的模块,这⾥就不详细描述了。
订单⽣产:订单⽣产,是指产品从企业到⽤户这⼀流程的概述。如电商平台中,商家发货过程已有⼀个标准化的流程,订单内容会发送到仓库,仓库对商品进⾏打单、拣货、包装、交接快递进⾏配送。
订单确认:收到货后,订单系统需要在快递被签收后提醒⽤户对商品做评价。这⾥要注意,确认收到货不代表交易成功,相反是售后服务的开始。
订单完成:订单完成是指在收到货X天的状态,此时订单不在售后的⽀持时间范围内。到此,⼀个订单的正向流程就算⾛完了。
(2)逆向流程
上⾯说到逆向流程是各种修改订单、取消订单、退款、退货等操作,需要梳理清楚这些流程与正向流程的关系,才能理清订单系统完整的订单流程。
订单修改:可梳理订单内信息,根据信息关联程度及业务诉求,设定订单的可修改范围是什么,⽐如:客户下单后,想修改收货⼈地址及电话。此时只需对相应数据进⾏更新即可。
订单取消:⽤户提交订单后没有进⾏⽀付操作,此时⽤户原则上属于取消订单,因为还未付款,则⽐较简单,只需要将原本提交订单时扣减的库存补回,促销优惠中使⽤的优惠券,权益等视平台规则,进⾏相应补回。