电商项目中订单系统到底该怎么设计才好?(至尊典藏版)

15 篇文章 4 订阅
订阅专栏

目录

前言

一、订单系统架构

1. 订单系统在企业中的角色

2. 订单系统与各业务系统的关系

3. 订单系统上下游关系​编辑

4. 订单系统的业务架构​编辑

二、订单系统核心功能

1. 订单中所包含的内容信息​编辑

2. 流程引擎

三、 订单系统的发展

总结


前言

本文主要讲述了在传统电商企业中,订单系统应承载的角色,就订单系统所包含的主要功能模块梳理了设计思路,并对订单系统未来的发展做了一些思考。

一、订单系统架构

1. 订单系统在企业中的角色

在搭建企业订单系统之前,需要先梳理企业整体业务系统之间的关系和订单系统上下游关系,只有划分清业务系统边界,才能确定订单系统的职责与功能,进而保证各系统之间高效简洁的工作。

2. 订单系统与各业务系统的关系

 

(1)对外系统:

所有给企业外部用户使用的系统都在这一层,包括官网、普通用户使用的C端,还包括给商户使用的商家后台和在各个销售渠道进行分销的系统,比如与银行信用卡中心合作、微信合作在合作商的平台露出本企业的产品。这类系统站在与客户接触的最前线,是公司实现商业模式的桥头堡。

(2)管理中后台:

每个C端的业务形态都会有一个对应的系统模块,如负责管理平台交易的订单系统,管理优惠信息的促销系统,管理平台所有产品的产品系统,以及管理所有对外系统显示内容的内容系统等。

(3)公共服务系统:

随着企业的发展,信息化建设到达一定程度后,企业需要将通用功能服务化、平台化,以保证应用架构的合理性,提升服务效率。这类系统主要给其他应用系统提供基础服务能力支持。

3. 订单系统上下游关系

 

由此可见,订单系统对上接收用户信息,将用户信息转化为产品订单,同时管理并跟踪订单信息和数据,承载了公司整个交易线的重要对客环节。对下则衔接产品系统、促销系统、仓储系统、会员系统、支付系统等,对整个电商平台起着承上启下的作用。

4. 订单系统的业务架构

 

(1)订单服务

该模块的主要功能是用户日常使用的服务和页面,主要有订单列表、订单详情、在线下单等,还包括为公共业务模块提供的多维度订单数据服务。

(2)订单逻辑

订单系统的核心,起着至关重要的作用,在订单系统负责管理订单创建、订单支付、订单生产、订单确认、订单完成、取消订单等订单流程。还涉及到复杂的订单状态规则、订单金额计算规则以及增减库存规则等。在4节核心功能设计中会重点来说。

(3)底层服务

信息化建设达到一定程度的企业,一般会将公司公共服务模块化,比如:产品,会构建对应的产品系统,代码、数据库,接口等相对独立。但是,这也带来了一个问题,比如:订单创建的场景下需要获取的信息分散在各个系统。

如果需要从各个公共服务系统调用:一是会花费大量时间,二是代码的维护成本非常高。因此,订单系统接入所需的公共服务模块接口,在订单系统即可完成对接公共系统的服务。

二、订单系统核心功能

1. 订单中所包含的内容信息

 

为了使订单系统能够对订单进行高效、精准的管理和跟踪,订单会储存关于产品、优惠、用户、支付信息等一系列的订单实时数据,来和下游系统,如:促销、仓储、物流进行交互。

以一个通用B2C商城的订单为例,梳理其包含的信息如下:

这里要注意的是订单类型,随着平台业务的不断发展,品类丰富、交易方式丰富后,需要对订单进行多维度的分类管理,同时订单类型利于订单系统的扩展性。每种订单类型将会对应一套流程及一套状态,便于对订单进行分类管理和复用。

2. 流程引擎

流程是指从平台角度出发,将订单从创建到完成的整个流转过程进行抽象,从而形成了一套标准流程规则。而不同的产品类型或交易类型在系统中的流程会千差万别,因此为了方便对订单流程进行管理,会组建流程引擎模块。

每套订单流程中会包含正向流程及逆向流程,正向流程可以比作一次顺利的网购体验过程中,后台系统之间的信息流转。逆向流程则是修改订单、取消订单、退款、退货等各种动作引起的后台系统流程,同时每个流程触发的条件又可分为系统触发和人工触发两种场景。

(1)正向流程

以一个通用B2C商城的订单系统为例,根据其实际业务场景,其订单流程可抽象为5大步骤:订单创建>订单支付>订单生产>订单确认>订单完成。

而每个步骤的背后,订单是如何在多系统之间交互流转的,可概括如下图:

 

订单创建:

用户下单后,系统需要生成订单,此时需要先获取下单中涉及的商品信息,然后获取该商品所涉及到的优惠信息,如果商品不参与优惠信息,则无此环节。

接着获取该账户的会员权益,这里要注意的是:优惠信息与会员权益的区别,比如:商品满减是优惠信息,SUPER会员全场9.8折指的是会员权益,一个是针对商品,另一个是针对账户。其次就是优惠活动的叠加规则和优先级规则等。

增减库存规则是指订单中的商品,何时从仓储系统中对相应商品库存进行扣除,目前主流有两种方式:

下单减库存——即用户下单成功时减少库存数量

  • 优势:用户体验友好,系统逻辑简洁;

  • 缺点:会导致恶意下单或下单后却不买,使得真正有需求的用户无法购买,影响真实销量;

解决办法:

  1. 设置订单有效时间,若订单创建成功N分钟不付款,则订单取消,库存回滚;

  2. 限购,用各种条件来限制买家的购买件数,比如一个账号、一个ip,只能买一件;

  3. 风控,从技术角度进行判断,屏蔽恶意账号,禁止恶意账号购买。

付款减库存——即用户支付完成并反馈给平台后再减少库存数量

  • 优势:减少无效订单带来的资源损耗;

  • 缺点:因第三方支付返回结果存在时差,同一时间多个用户同时付款成功,会导致下单数目超过库存,商家库存不足容易引发断货和投诉,成本增加。

解决办法:

  1. 付款前再次校验库存,如确认订单要付款时再验证一次,并友好提示用户库存不足;

  2. 增加提示信息:在商品详情页,订单步骤页面提示不及时付款,不能保证有库存等。

综上所述,两种方式各有优缺点,因此,需结合实际场景进行考虑,如:秒杀、抢购、促销活动等,可使用下单减库存的方式。而对于产品库存量大,并发流量没有那么强的产品使用付款减库存的方式。

将两种方式带入到销售场景中,关联商品类型、促销类型、供需关系等,灵活使用,以充分发挥计算机系统的优势。

订单支付:

用户支付完订单后,需要获取订单的支付信息,包括支付流水号、支付时间等。支付完订单接着就是等商家发货,但在发货过程中,根据平台业务模式的不同,可能会涉及到订单的拆分。

订单拆分一般分两种:

  • 一种是用户挑选的商品来自于不同渠道(自营与商家,商家与商家);

  • 另一种是在SKU层面上拆分订单:不同仓库,不同运输要求的SKU,包裹重量体积限制等因素需要将订单拆分。

订单拆分也是一个相对独立的模块,这里就不详细描述了。

订单生产:订单生产,是指产品从企业到用户这一流程的概述。如电商平台中,商家发货过程已有一个标准化的流程,订单内容会发送到仓库,仓库对商品进行打单、拣货、包装、交接快递进行配送。

订单确认:收到货后,订单系统需要在快递被签收后提醒用户对商品做评价。这里要注意,确认收到货不代表交易成功,相反是售后服务的开始。

订单完成:订单完成是指在收到货X天的状态,此时订单不在售后的支持时间范围内。到此,一个订单的正向流程就算走完了。

(2)逆向流程

 

上面说到逆向流程是各种修改订单、取消订单、退款、退货等操作,需要梳理清楚这些流程与正向流程的关系,才能理清订单系统完整的订单流程。

订单修改:可梳理订单内信息,根据信息关联程度及业务诉求,设定订单的可修改范围是什么,比如:客户下单后,想修改收货人地址及电话。此时只需对相应数据进行更新即可。

订单取消:用户提交订单后没有进行支付操作,此时用户原则上属于取消订单,因为还未付款,则比较简单,只需要将原本提交订单时扣减的库存补回,促销优惠中使用的优惠券,权益等视平台规则,进行相应补回。

退款:用户支付成功后,客户发出退款的诉求后,需商户进行退款审核,双方达成一致后,系统应以退款单的形式完成退款,关联原订单数据。因商品无变化,所以不需考虑与库存系统的交互,仅需考虑促销系统及支付系统交互即可。

退货:用户支付成功后,客户发出退货的诉求后,需商户进行退款审核,双方达成一致后,需对库存系统进行补回,支付系统、促销系统以退款单形式完成退款。最后,在退款/退货流程中,需结合平台业务场景,考虑优惠分摊的逻辑,在发生退款/退货时,优惠该如何退回的处理规则和流程。

(3)状态机

状态机是管理订单状态逻辑的工具。状态机可归纳为3个要素,即现态、动作、次态。

  1. 现态:是指当前所处的状态。

  2. 动作:动作执行完毕后,可以迁移到新的状态,也可以仍旧保持原状态。

  3. 次态:动作满足后要迁往的新状态,“次态”是相对于“现态”而言的,“次态”一旦被激活,就转变成新的“现态”了。

状态机的设计需要结合平台实际业务场景,将状态间的切换细化成了执行了某个动作。

以一个B2C商城的订单系统举例如下:

 

订单系统为了高效的对订单进行跟踪和管理,会对订单流程当中的关键节点,抽象出订单状态。而订单状态从不同用户的角度可分为,系统订单状态、商家订单状态、买家订单状态等。

对于订单系统来说,订单状态细分的颗粒度越细、越明确,订单系统管理的精度和可靠性就越高,比如:在待付款和待发货两个状态中,订单系统后台会细分为订单超时取消、订单支付失败、订单付款完成等。

因此,订单状态模块中,通常会维护状态映射表,以不同的用户角色对系统订单状态进行重新划分,以满足不同用户的需求。

除此以外,随着电商平台的不断发展,不同的业务类型,所对应的订单状态都会有所区别。所以,订单系统中一般会储存多套状态机,以满足不同的订单类型来使用。

三、订单系统的发展

订单系统的主体框架,和主要业务模块已基本讲完,那么随着企业的发展,业务量和业务形式不断变化,企业有可能形成多个订单系统并存以满足不同的业务需要的情况。

业务系统架构如下:

 

这种状况的出现,将会给平台带来非常大的发展瓶颈,如:

三个订单系统,每个订单系统处理不同类型的订单,没有统一的订单销量、订单状态信息,网站前台对订单的状态展示与控制不统一,只能是在网站前台会员中心硬代码维护一套面向会员的统一订单明细与状态数据。而无线侧上线后,由于不了解前台网站会员中心的订单状态管理逻辑,所以需要把前台网站的订单明细及状态管理再在无线应用侧再实现一遍。

三套后台订单系统与公共业务系统如会员中心、支付与财务、促销工具、客户分单等系统都需要对接一遍,公共业务处理逻辑不统一,一旦逻辑变更,多个系的同一个接口都要修改一遍,接口的重复维护开发工作量大。

订单开发目前分到事业部,各个事业部只会考虑自己的逻辑,不会考虑公共架构,只会越走越远。碰到像无线这样的项目,需要对接各个事业部,无线侧应用上线进展慢。

因此未来的订单系统可拆分为订单中心与业务订单系统两个模块,以管理公司所有订单数据,并为各个模块提供统一服务。

总结

对于企业订单系统的搭建,并不是要做的大而全、也不是要小而精。而需要结合市场、公司、业务的实际情况来最终制定系统设计方案和产品迭代计划。

最终,和公司整体发展相互协调,相辅相成。

订单系统设计
这都是什么
05-21 4222
订单是如何生成的, 又是如何推送到下游的各个系统的。 订单系统的低延迟,高可用的,不丢单问题。 万级和千万级架构是不一样的。 思路: 首先,设计一个简单的订单系统。 分析那几个环节会丢单。 日万级如何优化。 日千万如何升级改造。 简单系统: 只有前台和后台,前台结算页提供用户去结算。当后台收到前台用户点击去结算的操作时,就会处理下单服务。 起初,订单会被处理到后台的数据库,然后异构数据到缓存...
新零售电商订单管理系统设计
PEXUE的专栏
04-20 3388
传统电商依托于线上流量产生消费者,新零售则是通过网上商城、小程序以及其他应用程序相结合形成网店,同时与线下实体门店和现代物流进行深度整合,最终形成了新的销售模式。 订单管理系统上下游对接系统繁杂,包括:商品心、客户心、营销心、支付心、库存心、财务系统等。 通过订单心,可以实现线上定单、线下定单、外部定单的统一管理。并完成订单收录,实现订单合并和分拆,门店/仓库匹配等。 本文从 “订单管理”实际运用场景出发,深度解析新零售订单设计思路。 订单管理系统总体框架 订单
电商项目订单系统
adminlikeshop的博客
09-01 1073
订单系统电商的“纽带”贯穿了整个电商的关键流程,其他模块也都是围绕订单系统进行构建的,订单系统的演变也是随着电商平台的业务变化而逐渐演变进行着。订单是卖家的核心数据,卖家的很多日常工作都是围绕着订单展开的。接下来就和大家一起了解析电商平台的“纽带”...
科普文:百度交易台之订单系统架构浅析
最新发布
为无为,事无事,味无味。
07-21 1215
随着业务不断扩张,虚拟商品的购买,退款已经不能满足业务,需要扩展支持带有物流商品订单,并且在支付方式部分,需要扩展支持各类购买入口和场景,比如聚合扫码支付、小额免密支付、周期代扣。在数据模型的设计上,由于数据库分表字段只能有一个,所以这里采用计算规则将订单号和用户id进行关联,即,让一个用户所有的订单都存储在一张单表之,具体手段就是通过用户id的一种规则作为分表字段(shardingKey),订单id生成规则和分表字段做关联,具体就不进行展开说明。(如:订单,退款,售后,客诉,商品,库存等)
架构专家李伟山:电商系统订单系统
中生代技术
10-14 2119
李伟山读完需要12分钟速读仅需 4 分钟李伟山,目前是一家人工智能公司的技术总监,主要负责 AI 产品化的工作,开发设计国一款云同步社交平台——号簿管家;曾参与设计开发亿万级流量的阿里...
解构电商产品——订单系统(一)
12-27 884
https://www.jianshu.com/p/eee33177e78f 随着阿里、京东的崛起,国电子商务的大门渐渐打开,越来越多的行业使用线上支付,无一例外地会用到电商系统,今天为大家介绍一下订单系统在垂直行业间的应用以及需要注意的细节。 今天分享将会分为以下三个环节来阐述: 1.订单系统的介绍 2.订单系统的解构 3.垂直...
架构设计-订单系统订单系统设计分析
weixin_60783132的博客
04-12 1183
对于企业订单系统的搭建,并不是要做的大而全、也不是要小而精。而需要结合市场、公司、业务的实际情况来最终制定系统设计方案和产品迭代计划。最终,和公司整体发展相互协调,相辅相成。
电商系统设计订单
代码技巧
08-01 7837
前言用户交易将经历一段艰辛的历程,一般用户感觉不到,实际程序是经历了一段生死离别。具体付款流程如下:不(wo)是(gu)这(yi)张(chuan)图(de),请看正经流程...
电商业务台OMS全渠道订单管理系统
05-09
一站式的系统包括订单管理系统OMS/ERP、库存WMS统一管理系统和SAP财务管理系统等,实现快速部署,并帮助企业后续自主进行开发迭代,来帮助企业实现数字化转型,并有多个经典案例。系统包括:通用业务台、强大...
基于Springboot+Vue的在线电商项目管理系统源码+数据库(毕业设计).zip
06-16
基于Springboot+Vue的在线电商项目管理系统源码+数据库(毕业设计).zip 已获导师指导并通过的高分项目,也可作为期末大作业和课程设计,纯手打高分项目,代码完整下载可用,小白也可实战。 基于Springboot+Vue的...
电商系统架构.pdf
07-09
可供参考的流程图-电商系统架构,在此模版下各位按照自己的情况进行修改,设计出自己或公司所需要的流程图。
电商海量订单处理OFC系统的关键技术环节
04-05
电商海量订单处理OFC系统的关键技术环节
一体化实践课程设计javaweb电商后台管理系统源码+项目文档+汇报PPT.zip
06-16
一体化实践课程设计javaweb电商后台管理系统源码+项目文档+汇报PPT一体化实践课程设计javaweb电商后台管理系统源码+项目文档+汇报PPT一体化实践课程设计javaweb电商后台管理系统源码+项目文档+汇报PPT一体化实践课程...
基于Vue和Element的电商后台管理系统前端设计源码
04-10
本项目是一个基于Vue和Element的电商后台管理系统前端设计源码,共包含231个文件,其包括73个Vue文件、61个JavaScript文件等。系统提供了丰富的功能模块,包括商品管理、订单管理、会员管理、促销管理、运营管理、...
毕业设计基于beego的电商项目源码.zip
09-27
毕业设计基于beego的电商项目源码.zip毕业设计基于beego的电商项目源码.zip毕业设计基于beego的电商项目源码.zip毕业设计基于beego的电商项目源码.zip毕业设计基于beego的电商项目源码.zip毕业设计基于beego的电商...
Java生鲜电商平台-订单架构实战
竹林幽深
08-01 544
生鲜电商订单心是一个电商后台系统的枢纽,在这订单这一环节上需要读取多个模块的数据和信息进行加工处理,并流向下一环节;因此订单模块对一电商系统来说,重要性不言而喻。 同时,订单是一个公司生存甚至盈利的核心,而电商系统订单系统则是支撑订单处理的载体,因此订单系统设计则十分重要。 一、订单架构 要了解订单系统,首先我们要从订单系统的信息架构上去认识订单系统,从而对订单系统建立整体认知; 二、订单状态 定义:为适应组织分工的需求和提升效率,系统将整个交易业务...
电商系统架构设计系列(三):关于「订单系统」有哪些问题是要特别考虑的?
Think Different
06-14 963
订单系统是整个电商系统最重要的一个子系统,这篇文章聊一下:关于「订单系统」有哪些问题是要特别考虑的?
写文章

热门文章

  • MySQL夺命66问,面试必看!(荣耀典藏版) 49637
  • Redis 只会用缓存?20种妙用让同事直呼牛X(荣耀典藏版) 48904
  • 分布式事务的8种解决方案(荣耀典藏版) 48396
  • 分库分表到底该怎么实现才算完美(荣耀典藏版) 47771
  • JVM系列金九银十面试必看(至尊典藏版) 46407

分类专栏

  • java必备 5篇
  • java基础 57篇
  • 面试突击 29篇
  • 多线程技术 9篇
  • 定时任务 2篇
  • mysql 51篇
  • 异常处理方案 15篇
  • 开发工具与开发环境 4篇
  • IDEA 4篇
  • 虚拟机 2篇
  • Git 2篇
  • linux 2篇
  • java进阶必备 10篇
  • MySQL性能调优与架构设计 11篇
  • 多线程与并发编程 5篇
  • Nginx 4篇
  • 高并发系列 8篇
  • Tomcat源码 2篇
  • mybatis源码 3篇
  • JVM 6篇
  • 设计模式 8篇
  • 分布式/微服务系统 9篇
  • kafka 4篇
  • 搜索引擎 1篇
  • Redis 29篇
  • 过滤器 2篇
  • zookeeper 2篇
  • 消息中间件/容器技术应用 17篇
  • 限流/分布式应用技术 25篇
  • 注册中心应用技术 3篇
  • 架构设计 15篇

最新评论

  • 高并发下如何防重?(荣耀典藏版)

    海棠Flower未眠: 感谢小伙伴的支持

  • 高并发下如何保证接口的幂等性?(荣耀典藏版)

    海棠Flower未眠: 因为token项目基本都是必备的所以写的比较简单,是哪部分不太明白呢?

  • 高并发下如何保证接口的幂等性?(荣耀典藏版)

    随&风: token那个没太明白表情包

  • 高并发下如何防重?(荣耀典藏版)

    随&风: 句句写在刀刃上了

  • java并发编程(荣耀典藏版)

    PawNKAKA: 有这么详细的总结 , 敬佩

最新文章

  • 面试突击-多线程和IO专题(至尊典藏版)
  • Redis实现延迟队列(荣耀典藏版)
  • SpringMVC工作原理(荣耀典藏版)
2024年31篇
2023年38篇
2022年143篇
2020年12篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

PHP网站源码大线程优化网站原理塔城地区网站优化架构优化的网站地域网站seo优化马站网站优化六安市百度网站优化沙头网站优化哪个好江北区网站优化费用西藏网站优化优化增强型网站开封搜索引擎网站优化哪家好龙华seo网站优化多少钱阿勒泰网站推广优化黄冈工厂网站优化哪家好惠安网站优化免费咨询怎么优化网站关键词排名上升东莞首页网站关键词优化工具凉山网站推广优化鹤壁网站排名优化哪里靠谱外贸网站如何进行外链优化上饶县seo网站优化济南网站优化哪个好网站优化网站文章更新的五个技平顶山外贸网站优化价格表网站关键词优化开发公司网站综合优化网站优化需要具备什么华安针织厂网站优化关键词网站能优化多少个词洛阳平台seo网站优化工具歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化