前言订单产生后,接下来会继续进行一系列流转,最后送到用户手里 。在每个环节都有对应的操作,数据信息也要求其完成性,可以根据订单的每个状态变化,来计算分析,进而进行优化供应链路径,以提升订单处理效率,提高用户体验 。本篇就依据经验从订单信息及订单状态两方面拆解来说下本人对订单涉及的系统或业务流程 。
文章插图
订单信息1. 关键字段订单的流转效率取决于信息系统的数据流转同时结合仓库、快递的商品流转,所以有几个关键字段要提前关注并了解 。
订单是从哪流入到OMS(订单管理系统)的,这就是订单来源 。不同来源的订单销卖渠道不同,而且有的流转也是不同的,如由第三方负责发货的订单,系统是需要根据开放平台来传递信息,对于发货、物流等控制与自营订单不同 。订单是什么类型的,因为订单类型不同,在OMS系统中处理有所不同,有的可以有跨节点,有的可能是逆向流程,如退货订单在是从用户到商家的一个过程,它与正向订单的处理要复杂,因为它是要根据正向订单流转过程中产生的信息进行获取再根据规则进行计算处理 。仓库,即订单来了要送到哪里去作业处理,在仓库中的流转需要有哪些标准流程,不同的仓可能归属不同的分公司,那么在成本核算上又会有哪些不同,虽然在OMS前期不关注,但要保证这些信息的准确性 。而且对于有的商家在A仓缺货后,可能安排B仓发货即订单转仓,不通过仓间调拨的方式,所以订单中要记录最终的发货仓 。支付状态,此字段与支付相关,不同的支付方式需要对接不同的接口,状态的回传是否及时等等 。支付状态与订单状态可以合并成一个字段 。订单状态,即在不同的操作节点上订单所处的状态,有些信息是展示给用户的,有的是内部查看的 。后续有详细的介绍 。
文章插图
2. 订单信息订单生成时简单说了下订单信息包括订单基本信息与订单商品信息,还包括很多附属信息,如支付明细、关联用户、使用的礼品卡明细等等,具体如下图 。
文章插图
(1)订单基本信息
订单信息即订单主表信息,我这里将分为订单号、下单用户信息、订单基础信息、支付信息、收货信息和物流信息几个小部分 。
1)订单号:单独列出来了,大家可能有疑问,这里解释一下 。
订单号虽然只是一个单据号,但是这个号码格式是什么样的需要经过设计,因为有的公司订单号是年月日+序列号或随机号方式,这样设计没有什么问题,因为只要保证唯一性就可以了 。但是,对于一些公司为了避免数据泄露(如友商通过订单号分析日订单量)在单据号格式进行了一些处理 。此外,在履单过程中,单号是流转过程中非常重要的字段,所以如果好的OMS系统可以根据订单号进行分发流转,操作人员也可以根据单号来人为判断其订单类型或仓库等信息 。附:Amazon中国的订单号格式:C01-2442712-9062228 ;京东订单号:106697775485;淘宝订单号:786699393282068525订单号的生成是需要有一个组件支撑的,首先要能够满足订单量的增长、用户并发等要求,其次随着数据量的增长订单表是要进行横向或纵向拆分进行分库分表,数据进行分布式存储(有兴趣的可以看下《大众点评订单系统分库分表实践》) 。我们曾开启过分库分表项目实践,但因种种原因推进不顺利,最终仅上线了单号生成器及一些服务组件,挺遗憾的 。2)基础信息:
包括除单号的主要信息如来源、分类、状态、归属、所属仓库等,由于订单表未来是数据量最大的,所以每个字段设计时需要考虑其真正的意义及是否能够满足未来的扩展 。
随着时间的推移及业务的快速变化与增长,未来有很多种可能会迫使你去加字段或将原字段进行二次定义,使得此表在开发过程中要进行不断转义才可以,大大增加了代码的复杂度 。个人是比较倾向于预定义几个预留字段,优劣大家在设计时去衡量吧 。
3)支付信息:
支付主要是对在订单级使用的优惠券、礼品卡、积分及折扣等,在前端订单进入到结算页时会根据相关信息进行计算并记录,同时在单据查时一般遵循:订单金额 -优惠券-礼品卡-积分=应付金额;订单金额=订单商品金额+运费金额;订单商品金额=商品实际售价*商品售卖数量 。
- 微信短信声音在哪里找 微信短信声音在哪里设置
- 苏木山景点介绍 苏木山在哪里
- 九皇山在哪里个城市 九皇山在哪里
- 真州在哪里 郑州在啥地方
- 开来在哪里 开来在啥地方
- 小弹簧在哪里买 小弹簧购买地址
- 马市在哪里 马市在啥地方
- 大清第一贪官和珅被抄家时钱放在哪里了
- 许都在哪里 许都的简要介绍是啥
- 笔记本里的乘号是在哪 台式电脑的乘号在哪里找