18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 电子商务 > 解构电商、O2O:平台的“生命中轴线”-订单系统

解构电商、O2O:平台的“生命中轴线”-订单系统

时间:2023-03-15 02:52:02 | 来源:电子商务

时间:2023-03-15 02:52:02 来源:电子商务

设计订单系统时包含几个大的方向需要考虑,这些内容决定了订单系统的稳定性和可持续性。

订单字段

订单字段包含了订单中需要记录的信息,他的作用主要用于沟通其他系统,为下游系统提供信息依据。结构如图

订单信息包括订单号和订单状态机。订单号作为订单识别的标识,往往由一串数字组成,根据订单的增加进行自增,也可以在设计订单号的时候考虑订单加密设置(否则别人通过订单编号就能计算出对应的销售量)。订单号后续用作订单唯一标示用于对接WMS和TMS时的订单识别。订单状态机在下面章节会详细描述,这里不做展开。

用户信息这里指购买人的相关信息,主要包括姓名、地址、手机号。O2O还会多一种情况就是自提点,这样地址则会变为自提点的地址。地址信息在后续会作用在WMS和TMS上用于区分区域和配送安排。

购买商品信息指购买商品的基本信息和库存,金额由于比较特殊所以我把金额独立在商品信息以外说,不过逻辑上其实都属于商品信息范畴。商品信息主要影响库存更新和WMS生产。

金额信息是记录订单产生的商品金额。除了要记录最终的金额,过程金额也需要记录。比如商品分摊的优惠金额、支付金额,应付金额等。在后续的订单结算、退换货、财务等环节都需要使用。

时间信息是记录订单每个节点的触发时间。

这里我们特别说下关于订单标识位的概念,订单标识位有的地方叫服务标记,有的地方叫SendPay,其实从逻辑上来说都是一样的意义。标识位是一串若干位数的字符串,通过对不同位定义来代表不同的含义。比如我们在订单中设置一个字段,这个字段具备100位数字,每一位数据可以从1到9,代表不同含义。这样我们就就可以可以通过这100位字符串代表订单的不同含义和标记,比如第14位代表预售,如果是0则代表正常订单,如果是1代表预售订单。标识位主要用于对订单的特殊逻辑进行标记处理,以便下游系统在接收订单后可以根据标记为判断进行业务处理,比如分拣、仓配类型、是否大小件贵品等。

订单流程

订单流程是指整个订单从产生到完成整个流转过程。他包括正向流程和逆向流程。

正向流程是订单正常生产到配送的过程如下图。下述列举的模块是一般电商通用的功能,部分可能根据实际业务场景有所增加调整。020场景下出库、合包裹、发票准备等工作是由商家方进行,部分工作是属于线下场景。

整个流程涉及到的环节非常多。这里面提几个细节上需要注意的地方:

逆向流程则指订单发生取消、退货等情况时引发的订单流程过程,如下图2-43。在设计逆向流程时建议和正向独立分开,通过订单号等信息进行关联,避免耦合过多逻辑无法延展设计。

逆向流程的触发主要有几种情况:



触发条件考虑两个方面

其他要注意的一些内容:

从业务流程上来看是按照上述的节点进行流转的,但从系统结构来看订单系统的流程其实拆分成若干的步骤完成。从生成到最终完成所有相关订单处理后选定对应的仓库推送给WMS进行生产、配送,主要的处理逻辑如下图

上图列举的是一些主要的订单功能,不过不是所有的,每个电商的订单系统都会有一些自己独有的系统拆分,不过逻辑上来说是一样的。首先是生成订单,从交易系统获取基本的数据进行生产订单,包括母单和子单。生成的订单信息会提交给订单中心,风控模块首先会针对订单信息进行判断是否属于恶意订单,如果属于恶意订单则申请系统取消并回告用户。非恶意的订单则根据所属仓库、支付方式、订单类型等维度判断拆单和需要下传的下游信息。同时管道服务会将对应的订单信息同步给相关的非业务系统比如台账记账,发票等。在拆单和预分拣的时候有些情况会出现用户订单生成后但暂时没有匹配到对应的仓库进行下发的情况,那么在订单的状态节点中可以增加一个订单转移的概念,未转移的订单认为还是仅仅完成的生成,而转移后的订单才会下发仓库进行生产。订单还有两个模块是属于全局性质的,即promise和订单跟踪或者也叫状态回告。Promise主要负责提供计算预计送达时间,他会根据仓配情况和供应商情况整体计算。而订单跟踪可以理解为对应订单状态机在发生变化时需要通知相关业务系统,订单回告可以通过MQ的方式由业务系统订阅,一旦有变更则有订单系统主动推送业务系统信息以保证及时性。这里的回告图上由于篇幅只画了回告交易,其实其他业务系统也可以接受回告信息。

订单状态机

关于状态机,在百度百科的定位为:

关于状态机的一个极度确切的描述是它是一个有向图形,由一组节点和一组相应的转移函数组成。状态机通过响应一系列事件而“运行”。每个事件都在属于“当前” 节点的转移函数的控制范围内,其中函数的范围是节点的一个子集。函数返回“下一个”(也许是同一个)节点。这些节点中至少有一个必须是终态。当到达终态, 状态机停止。

由上述定义可以看到,状态机的概念是用来表示按照一定的方向通过触发不同节点产生数据流转的过程。在订单中通过情景触发订单状态的变化来表达订单流转的过程就是订单状态机。如下图

电商

O2O

电商和O2O的主体流程是相同的,不同的在于物流配送环节电商较O2O更为复杂。此处只表明了主要的订单状态机,仓储物流内的物流单流转不在此范围内。状态机原则上使用结果值而不使用过程值,比如使用支付成功作为节点而不使用支付中作为节点。

订单状态机要融合订单流程来设计触发节点,订单流程的逻辑点要多于状态机,一般在当前流程环节完成后最后更新状态机。

订单推送

当状态机发生变化时,需要将对应的变化情况告知给相关人员以便了解当前订单的情况。这就是订单推送的作用。订单推送和回告的区别在于回告是周知系统,而推送是通过触达手段推送给具体的人。

订单推送的触发依赖于状态机的变化,涉及到的信息包括

关键词:系统,生命,平台

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭