4)收货信息:
订单的下单用户与收货人可能是不同的,为了更好的提高用户体验,有的订单可以预约送货时间等,所以此部分信息可以单独列出来或以附属信息进行护展 。
5)物流信息:
这里需要记录快递公司及物流单号,与物流明细信息进行关联调用 。
(2)订单商品信息
这个表是交易的明细商品信息,自然包括商品的基本信息,同时包括交易时的商品价格、优惠信息,同时还应包括交易过程中商品参与的活动等信息 。
商品信息表是订单从表,数据量是订单表的几倍或十几倍,同时对于订单级别的一些优惠金额需要根据商品进行分摊 。由于发票是根据商品信息进行的,所以在分摊金额时要注意尾差;同时在订单发生退换货时是要根据商品进行金额的重摊重算 。
对于退换货时的重摊重算,这里啰嗦一下,是针对于用户下单时已经享受了订单级或商品的促销活动,当发生退货或换货后由于商品发生变化,使得订单级或换的商品不能再享受其促销优惠了,需要重新计算优惠金额的过程 。
(3)开票信息
对于开票信息,从京东上截了一张图片,参考下即可 。
文章插图
(4)支付明细
对于支付,在订单生成时简单聊过,这里强调一下是针对于各种支付方式的支付明细数据 。以前说过,涉及到钱的信息不能马虎,一定要记录清楚,要有交易流水号(我司或第三方机构的),有状态变化的过程即支付日志 。
此部分后续会进入到财务系统进行应收对账,同时发生退款时需要检验 。对于支付系统如何设计与研发就不啰嗦了,官方的话就是要保证数据的准确、及时以及发生异常后的补偿措施;在结算时要尽可能提升响应时间,哪怕1ms也可能大大提升用户体验 。
对于支付,一般都是按父订单进行的,后续如果发生拆单,则相关的支付信息还需要通过父单号进行关联 。
(5)物流明细
下面根据状态分解时,仍会提到,这里也只展示一张图片供参考 。
文章插图
(6)订单附属表
此部分是根据实际业务情况进行设计,譬如订单支付过程使用了礼品卡,那么就需要记录礼品卡与订单号的关系,同时记录使用了多少钱,余额是多少,什么时间扣款的,这些需要与礼品卡系统进行关联,以保证此用户名下的礼品的金额变化是有迹可循的 。
同理,积分支付需要记录使用积分支付时多少积分抵多少钱,此订单用了多少积分,用户还有多少积分余额等这些时点性的信息 。
还是那句话,与钱相关的信息马虎不得;对于其它需要记录的信息,如果不方便或不能记录在订单请表或商品表中,都可以通过附加表方式 。但要清楚附属表越多,代码可能会复杂,但对于迁库迁表可能会容易些 。
至此,对于订单信息的分解就算完成了,订单一般都会经过拆单即一个订单会拆分成不同的子订单,后续的履单都是根据子订单进行的,下面从状态的角度再来梳理下 。
订单状态
文章插图
订单的状态,我将其分为三部分:
用户相关的状态,即用户在我的订单中可以查看跟踪的订单状态变化;仓库/商家的状态,是指订单分配到仓库或商家后,在其作业过程中产生的状态;物流状态,即仓库/商家发货后,包裹发货到用户签收过程中的相关状态 。下面,按照新建到用户签收这一个完整过程来分别说下我的理解 。
新建:即用户选择商品后,提交后产生的新订单 。订单产生前是根据用户选择的收货地址进行商品的库存判断、商品的优惠活动、订单的优惠活动以及用户选择的支付方式、开票信息等生成的,详细过程大家可以参照《电商后台-订单生成》 。
支付:用户支付已提交的订单,这时就需要记录支付的详细信息,支付完成后,订单状态就变为已支付,此时订单距离发货还需要经历几个过程 。
文章插图
拉单服务:是将前端服务器产生的订单拉取到后端生产库(一般也叫内部ERP库),这个就是要求快,不能有订单的积压 。拆单服务:折单分为两部分,在前端下单时会进行预拆单,即将不同的商品根据规则进行分堆打标,供后续的拆单服务使用 。拆单是在支付完成后进行的,这时会根据商品的属性、配送条件要求或是否缺货等原因进行拆分,这时是将商品进行分堆,然后生成子订单,一般订单主表的相关金额信息会根据子订单的商品重新计算 。拆单规则有很多,此篇不深入梳理了 。订单下发服务:WMS系统是与OMS系统或ERP分离的,如果使用第三方的仓储系统,数据的传输是必不可少的 。对于单据的下发与状态回传系统是如何设计的,目前都是定时任务+消息队列的方式进行 。订单可以根据仓库下发的WMS系统,也可以通过开放平台传递给合作商家由其进行发货 。在京东上下单完成后,你会清楚的看到类似如下系统消息“您的订单已经分配到XXX仓库……”给用户 。订单拦截服务,在用户创建订单或支付后,在没有拆单前,还应该有一个订单拦截服务 。此服务的目的是进行恶意订单的判断,对于特殊订单的审核,这都依赖于相关规则设置 。当订单拦截后,订单可能会被强制取消,目的是为了释放库存或避免用户刷单,这个过程有的被称之为订单的回滚期,我理解就类似于回收站一样 。待发货:在此状态的订单有可能没有下发到仓库,也可能已经下发了 。但在此时,订单都是可以取消的 。
- 微信短信声音在哪里找 微信短信声音在哪里设置
- 苏木山景点介绍 苏木山在哪里
- 九皇山在哪里个城市 九皇山在哪里
- 真州在哪里 郑州在啥地方
- 开来在哪里 开来在啥地方
- 小弹簧在哪里买 小弹簧购买地址
- 马市在哪里 马市在啥地方
- 大清第一贪官和珅被抄家时钱放在哪里了
- 许都在哪里 许都的简要介绍是啥
- 笔记本里的乘号是在哪 台式电脑的乘号在哪里找