Java电商平台-电商订单系统全解析
说明:Java电商平台-电商订单系统全解析主要讲解OMS的内容,设计,开发,架构等知识
今天分享将会分为以下三个环节来阐述:
1.订单系统的介绍
2.订单系统的解构
3.垂直电商订单系统设计思路
⼀、什么是订单系统?
苹果手机nfc怎么复制门禁卡订单管理系统(OMS)是物流管理系统的⼀部分,通过对客户下达的订单进⾏管理及跟踪,动态掌握订单的进展和完成情况,提升物流过程中的作业效率,从⽽节省运作时间和作业成本,提⾼物流企业的市场竞争⼒。顾名思义,电商系统就是⽤户、平台、商户等对于订单的管控、跟踪的系统,衔接着商品中⼼、wms、促销系统、物流系统等,是电⼦商务的基础模块;
简单地说订单管理系统作为整个电商的核⼼,管理着所有的交易进出,可以说没有订单系统电商就⽆法流畅地运转;
金盆洗手 红枣
⼀个好的订单管理系统需要有很好地扩展性和流畅性,在⼀个电商产品从0-1的过程,订单系统作为其基础模块需要提前考虑到各系统的扩展,订单系统如果在前期就能考虑到后⾯的扩展,相信对于电商的壮⼤会⾮常有帮助;
流畅性指的是整个交易链路需要很流畅,早期我司的订单系统做的⾮常庞⼤,但是却没有考虑到流程的通畅性,导致连基础的订单流程都没有办法正常⾛下去,所以,在从0到1地做⼀套订单系统时,需要有⼀些前瞻性,但落地时,以MVP去试错;
⼆、订单系统解构
订单字段
订单的主要信息包括⽀付信息 、配送信息、状态信息、促销信息、商品信息、⽤户信息等;
⽀付信息:涉及⽀付的字段信息,主要包括⽀付⽅式、⽀付⾦额、订单⾦额、优惠⾦额等;
促销信息:涉及促销的字段信息,主要包括优惠⽅式、优惠⾯额、折扣等;
商品信息:涉及订单中的商品字段,主要包括商品名称、单价、数量、所属店铺等;
时间信息:涉及订单流转中各个时间戳的字段,包括下单时间、⽀付时间、发货时间、完成时间等
状态信息:涉及订单流转中状态变更的字段,主要包括订单状态、物流状态及退款状态等;
⽤户信息:涉及⽤户的信息,⽐如买家姓名、注册⼿机号、收件⼈等信息;
配送信息:涉及订单配送的基本信息,⽐如配送⽅式、物流单号等;
以上这些字段构成了订单所需要的⼤部分信息;
2.订单体系
谢彬彬
订单体系
可以从三个层⾯来了解电商的订单管理体系,分别是⽤户层、系统层和底层;
周星驰的女儿⽤户层
这个⽐较好理解,就是⽤户⽇常使⽤的功能和页⾯,主要有订单列表、订单详情和退款详情等C端⽤户购买时会使⽤到的页⾯,系统层和底层模块为其提供⽀持;
系统层
在订单管理体系中,和订单最息息相关的交互系统主要有⽀付系统、订单系统、仓储系统;
1.⽀付系统
主要作⽤就是为订单提供⽀付⽀持,⽅便⽤户使⽤各种⽀付⽅式进⾏⽀付,⽤户⽀付后会将⽀付信息给到订单系统;
2.订单系统
作为订单管理体系的核⼼,起着⾄关重要的作⽤,在订单系统中会⽣成订单,审核订单,取消订单,还涉及到复杂的订单⾦额计算以及移库操作;
仓储系统:主要⽤来管理库存以及发货,订单到达⼀定状态后给到仓储系统,⽤于管理对应订单的打包、分拣、
备货、出库等;
底层模块
主要包括商品、⽀付、⽤户、营销、订单和消息等模块,这些模块共同组成了对上层业务、系统的⽀持;
⼤公司⼀般会将底层框架模块化,⽐如商品,会构建对应的商品中⼼,代码、数据库等相对独⽴,由商品中⼼开接⼝和soa,其他模块需要使⽤商品中⼼相关功能的时候调取接⼝,这样做的好处是使各个模块底层相对独⽴,便于管理及改动;
3.状态机
状态机
下⾯来说说状态机,⼀般电商平台⽤户直观能看到的状态有上图中列举的⼏个,包括待⽀付、待配送、待收货、交易完成、退款中;
O2O没有电商中庞⼤的仓储系统,⾃然⽐电商的流程简单些,我将从正流程分别从正流程和逆流程来介绍;
主流程
在电商中,⽆论是买家端还是卖家端,都会将交易主状态分为待付款、待发货、待确认收货、交易完成,但是买家端与卖家端的展⽰逻辑稍有不同;
在买家端,买家关⼼的状态⽆⾮就那么⼏个,即待付款、待发货、待收货和待评价,所以淘宝并未像商家端那样将全部的状态⼀⼀罗列出,⽽是保留了买家最关⼼的状态,保持整个买家端的简洁性;
⽽卖家端中,主要解决的是商家效率的问题,所以在订单列表中会将所有的状态(即待付款、待发货、已发货、退款中、需要评价、交易完成、交易关闭)的订单全部拉出,考虑到商家订单较多的情况,出于对服务器查询的考虑以及并发的考虑,增加了三个⽉内订单与三个⽉前订单的查询区分;
⾸先说说待付款状态,待付款状态主要是买家下单但是没有⽀付的情况,待付款状态下淘宝的商家也可以进⾏⼀系列操作如改价等,买家也可以申请代付、批量操作;
待发货,该状态下会展⽰所有已⽀付,待发货的订单,淘宝⽬前⽀持的发货⽅式主要有四种,在线下单、⼿填快递单号、⽆纸化物流以及⽆需物流,操作配送之后交易状态会变更为待确认收货,⼤型电商平台已经采⽤⽆纸化发货的形式进⾏发货,即使⽤中端叫单,成功后会展⽰在已发货(商家端)和待收货(买家端)中;
待确认收货,该状态出于物流阶段,⼀般会根据业务、活动等来设定⾃动确认收货的时间,⼀般电商默认值是在发货后的10天为⾃动确认收货时间,在双⼗⼀、双⼗⼆等节⽇,这个时间会延长到15天,另外海外购、天猫国际等海外购物的订单⾃动确认时间也会相对较长,为25天;
有关保护环境的作文交易完成,该状态由系统或者⽤户触发,在订单确认收货后,订单状态变更为交易成功,此时系统会根据是否评价过判断是否将订单展⽰在买家端的待评价下来引导⽤户对商家进⾏评价反馈;
退款/退货流程
⼀般电商中订单的逆流程主要分为退款流程和退货流程,这⾥简单地介绍下,后续会有专题来讲述;
发货前的逆流程
发货前的状态⼀般有待⽀付和待发货两个,待⽀付的订单发起逆流程后⽆需商家确认,直接关闭订单;
⽽待发货的订单发起后需要⾛商家的审核,商家同意后订单变为交易关闭,触发退款;
发货后的逆流程
发货后的逆流程主要包括待确认收货和交易成功的逆流程;
⼤致分为需要仅退款和退货退款;
老版封神榜演员表仅退款:未收到货或与卖家协商同意后的申请,卖家同意后⽆需物流;
退货退款:已收到货需要退换的情况,卖家同意后需要⾛物流;
Po上我司的退款流程作为后续专题的引⼦吧,敬请期待...
3、某垂直电商设计思路
笔者的公司属于某个垂直⾏业的电商,主要以B2B转单为主,将线上的订单转给线下门店进⾏配送,
所以暂时不涉及商品、库存、仓库等;以下是我司的订单流程,线上商家将订单转给线下门店,涉及的状态有待派单、待⽀付、待接单、待配送、待转账和交易完成;
在设计主流程的时候并不复杂,根据业务场景进⾏设计即可,真正复杂的部分在订单的逆流程与系统间的交互;
由于旧版的系统过于臃肿,没有办法在其上进⾏迭代,加之流程上有很多问题,所以打算从业务流程、系统框架、视觉设计等⽅⾯做个⼤改版,即解决⽤户使⽤流程中的问题,也便于后期业务功能的实现;
⽣鲜电商状态机
订单系统的完整性离不开⼏个部分,上次讲订单字段,各种字段信息组成了⼀个订单详情页。如果将字段信息⽐喻成订单系统的⾎液,那订单状态的切换就好⽐订单系统灵活的神经,没有订单状态之间的切换,就构成不了庞⼤的订单系统,也满⾜不了很多⽹购时各种情况。
订单流程
订单流程是指从订单产⽣到完成整个流转的过程,其中包括正想流程和逆向流程。正向流程就是⼀个正常的⽹购步骤:订单⽣成-->⽀付订单-->卖家发货-->确认收货-->交易成功。⽽逆向流程则是各种退款流程。
正向流程
订单正向流程
整个订单设计的流程其实是⾮常多的,接下来我们将从⽐较具体的描述⼀下各个环节下的实际情况:
订单⽣成:⽤户下单后,系统需要⽣成订单,此时需要先获取下单中涉及的商品信息,然后获取该商品所涉及到的优惠信息,如果商品不参与优惠信息,则⽆此环节,接着获取该账户的会员权益(这⾥其实需要注意的是,优惠信息与会员权益是有区别的,就好⽐商品满减是优惠信息,新⼈⽴减是会员权益。⼀个是针对商品,另⼀个是针对账户)。库存扣减是指可销售库存数量-1,严格来讲库存扣减⽬前分为两种,⼀种是下单减库存,另⼀种是付款减库存;个⼈觉得中⼩创业者也许竞争者不⽐淘宝中的卖家,在电商这个存量市场,需要精细化的运营才能存活下来,如此说保证⽤户体验才是根本,所以我这⾥的观点是⽣成订单扣减库存,这种做法会避免⽤户⽀付成功商家却没货的情况。然后计算运费,订单⽣成成功。