Java生鲜电商平台-深入订单拆单架构与实战
Java生鲜电商平台-深入订单拆单架构与实战
Java生鲜电商中在做拆单的需求,细思极恐,思考越深入,就会发现里面涉及的东西越来越多,要想做好订单拆单的功能,还是相当有难度,
因此总结了一下拆单功能细节,分享出来。
拆单也有两个层次,第一次是在提交订单后支付之前拆单,这次是拆分的订单,一次是在下单之后,发货之前,去拆分发货单(SKU层面)。
两次拆单的原则不同,第一次拆单是为了区分平台商家、方便财务结算,第二次拆单是为了按照最后的发货包裹进行拆单,如不同仓库、不同运输要求的SKU、包裹重量体积限制等因素(第二次拆单的有些步骤可以放在第一步)。
需要注意的是,若是跨境商品平台,则需要在支付前完成所有拆单步骤,因为报关需要三单对碰,订单、支付单、运单统一。
1. 为什么要拆单
拆单,顾名思义就是客户在下单之后,为了发货和结算方便,需要对订单进行拆分。
影响拆单的因素主要有以下几点:
店铺商家。由于商品归属权不同,涉及到财务结算和发货的问题,店铺商家不同,需要拆分订单。例如京东自营和平台商家的商品在下单时会拆分成不同的子订单,售后入口不同。或者不同淘宝店同时下单会按照店铺进行拆单。
仓库。由于发货仓库不同,按照商品归属的仓库进行拆单,若有多仓有货,还应按照地域时效选择仓库进行拆单。
品类。由于商品属性和价值得不同,同样会产生拆单需求。例如易碎品需要特殊包装,超大物品(儿童座椅、轮胎)需要单独包装。甚至有些品类不同的商品不能放在一起,都需要来定义拆单规则。
物流因素。不同物流公司对单个包裹的重量或体积都有特殊要求,需要根据sku的毛重和体积计算包裹总重量和体积,超出物流公司限制的也需要拆单。
商品价值。这块的拆单主要是跨境海淘商品,国家政策规定:跨境电子商务零售进口商品的单次交易限值为人民币2000元,个人年度交易限值为人民币2万元。当单次购买超过2000元(单仓)之后,就需要对订单拆单。(总不能告诉用户少买点,不要超过两千吧!)
2. 拆单流程
根据拆单的一些影响因素,需要对订单进行拆分。由于跨境电商和国内电商的区别点:
1.跨境电商一般是单品单仓,同一个SKU只在一个仓库有,而国内电商一般有多个区域仓,从时效最高的仓库发货;
2.跨境电商需要报关,必须三单统一,所以拆单只能发生在下单后、支付前,而国内电商除了平台商家不同需要在下单时就拆单,其他的拆单步骤可在下单之后再拆发货单;
3.报关限额,只有跨境电商需要考虑。
下图简单解析一下拆单的流程:
3. 拆单之后的前端显示
在提交订单之后、支付之前的拆单订单,需要即时显示给用户,若用户中断支付,再回到支付环节,就需要分开支付。用户就能知道,是不同的包裹发过来的,分属不同的子订单。
在支付之后,系统根据一些影响因素进行拆单,同一个子订单可能会对应多个物流单,在订单显示页面查看物流时,需要展示多个物流信息。但是现在多个平台只能一个订单对应一个物流单。有些订单无法通过一个包裹就能发货,在信息反馈给客户上就会有些瑕疵。
关于支付单,虽然基本所有平台都会通过合并支付的方式简化支付环节,但是不同的子订单都是可以拿到不同的支付单号的,这样就有利于售后和财务管理,对于跨境商品,还有报关的作用。
小结
拆单的系统比较复杂,要做的完全彻底,对大部分电商公司有很大的困难,这需要打通从订单系统到WMS系统的许多环节,所以需要在产品设计上进行取舍,根据平台的具体需求来确定拆单需求的优先级。
Java生鲜电商平台-深入订单拆单架构与实战的更多相关文章
- Java生鲜电商平台-OMS订单系统中并发问题和锁机制的探讨与解决方案
Java生鲜电商平台-OMS订单系统中并发问题和锁机制的探讨与解决方案 说明:Java开源生鲜电商中OMS订单系统中并发问题和锁机制的探讨与解决方案: 问题由来 假设在一个订单系统中(以火车票 ...
- Java生鲜电商平台-秒杀系统微服务架构设计与源码解析实战
Java生鲜电商平台-秒杀系统微服务架构设计与源码解析实战 Java生鲜电商平台- 什么是秒杀 通俗一点讲就是网络商家为促销等目的组织的网上限时抢购活动 比如说京东秒杀,就是一种定时定量秒杀,在规定 ...
- Java生鲜电商平台-服务化后的互联网架构实战(针对生鲜电商小程序或者APP)
Java生鲜电商平台-服务化后的互联网架构实战(针对生鲜电商小程序或者APP) “微服务架构”的话题非常之火,很多朋友都在小窗我,说怎么做服务化?解答“怎么做”之前,先得了解“为什么做”. 画外音:做 ...
- Java生鲜电商平台-库存管理设计与架构
Java生鲜电商平台-库存管理设计与架构 WMS的功能: 1.业务批次管理 该功能提供完善的物料批次信息.批次管理设置.批号编码规则设置.日常业务处理.报表查询,以及库存管理等综合批次管理功能,使企业 ...
- Java生鲜电商平台-系统报表设计与架构
Java生鲜电商平台-系统报表设计与架构 说明:任何一个运行的平台都需要一个很清楚的报表来显示,那么作为Java开源生鲜电商平台而言,我们应该如何设计报表呢?或者说我们希望报表来看到什么数据呢? ...
- Java生鲜电商平台-商品价格的设计与架构
Java生鲜电商平台-商品价格的设计与架构 说明:Java开源生鲜电商平台-商品价格的设计与架构,主要是对商品的价格进行研究与系统架构. 一.常见的电商价格 市场价(List Price):这个价格仅 ...
- Java生鲜电商平台-服务器部署设计与架构
Java生鲜电商平台-服务器部署设计与架构 补充说明:Java开源生鲜电商平台-服务器部署设计与架构,指的是通过服务器正式上线整个项目,进行正式的运营. 回顾整个章节,我们涉及到以下几个方面: 1. ...
- Java生鲜电商平台-订单模块状态机架构设计
Java生鲜电商平台-订单模块状态机架构设计 说明:在Java生鲜电商平台中订单的状态流转业务 我们知道 一个订单会有很多种状态:临时单.已下单.待支付.待收货.待评价.已完成,退货中等 ...
- Java开源生鲜电商平台-通知模块设计与架构(源码可下载)
Java开源生鲜电商平台-通知模块设计与架构(源码可下载) 说明:对于一个生鲜的B2B平台而言,通知对于我们实际的运营而言来讲分为三种方式: 1. 消息推送:(采用极光推送) ...
随机推荐
- R3环申请内存时页面保护与_MMVAD_FLAGS.Protection位的对应关系
Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html 技术学习来源:火哥(QQ:471194425) R3环申请内存时页 ...
- 【nodejs原理&源码赏析(5)】net模块与通讯的实现
目录 一. net模块简介 二. Client-Server的通讯 2.1 server的建立 2.2 Socket的建立 三. IPC通讯 四. 撸一个简易的cluster通讯模型 示例代码托管在: ...
- SpringCloud(一):了解SpringCloud
一.SpringCloud 简介 首先看看SpringCloud官方的介绍: Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由, ...
- 松软科技前端课堂:JavaScript 日期
JavaScript 日期输出 默认情况下,JavaScript 将使用浏览器的时区并将日期显示为全文本字符串: Tue Apr 02 2019 09:01:19 GMT+0800 (中国标准时间) ...
- tableView代理方法执行顺序
tableView代理方法执行顺序,随着iOS系统版本的不断升级,执行顺序也有所变化 1.iOS7.1中先依次调一遍heightForRow方法再依次调一遍cellForRow方法,在调cellFor ...
- Google Chome浏览器下如何开发UHF读写器
google Chrome浏览器不支持ocx,也就不能通过ocx来连接UHF读写器,只能使用RFID读写器云服务插件,通过javascript语言来连接和操控UHF读写器YW-602H.RFID读写器 ...
- STL--标准模板库--简要概述
STL--标准模板库 #include <vector> //头文件 STL(Standared Template Library)即标准模板库,惠普实验室开发的一系列软件的统称. ...
- SQL Server查询数据库表字段类型
select b.name,a.name,c.name,a.xprec,a.xscalefrom syscolumns aleft outer join sysobjects b ON a.id=b ...
- mybatis之关联关系
前言:在我们之前的hibernate中我们是学过了关联关系的,所以我们在本章给讲一讲mybatis的关联关系. mybatis的关联关系一对多的测试1.通过逆向工程生成Hbook,HbookCateg ...
- C++(OI竞赛入门)学习指南一
#include<cstdio> 头文件#include包含 <头文件名称> #include<iostream> 需要头文件里面的功能 cst ...