HH SaaS电商系统的销售订单设计

文章目录

  • 订单销售类型
  • 订单优惠
    • 优惠方式
    • 子订单优惠金额
  • 订单拆单
  • 订单发货
  • 销售订单拆单逻辑图
  • 销售订单的信息结构
    • 相关实体
  • 订单运营类型(作废)
  • 售后截止时间
  • 订单状态
    • 状态机的设计
    • 不同属性组合下的订单状态
    • 组合1:实物+线上+非预售+非定制+非拼单+快递
    • 组合2:实物+线上+预售+定制+非拼单+自提
    • 组合3:实物+线上+非预售+非定制+非拼单+自提
    • 组合4:实物+线上+非预售+非定制+非拼单+配送
    • 组合5:服务+线上+非预售+非定制+非拼单+线上
    • 组合6:服务+线上+非预售+非定制+非拼单+上门/到店
    • 组合7:虚拟+线上+非预售+非定制+非拼单+线上
    • 组合8:实物+线上+非预售+非定制+拼单+快递
    • 组合9:实物+线下+非预售+非定制+非拼单+自提
  • 订单管理原型设计
    • 买家小程序端原型
    • 商家管理后台PC端订单管理原型

订单销售类型

  • 自销订单

  • 分销订单

具体是指“推广分销”的订单,和供货商之间不产生采购单

订单优惠

优惠方式

买家没有承担任何成本而获取到的减免就属于优惠,例如:金币、积分、优惠券(现金券、折扣券)1
、现金红包、 卖家直减2都是属于优惠方式,用来抵扣“应付金额”,被抵扣部分对买家而言属于免费部
分,买家实际并没有承担相应的成本。

子订单优惠金额

  • 子订单优惠金额=活动优惠金额+无偿优惠券抵扣金额+有偿优惠券抵扣金额+金币(即积分)抵扣金额+直减金额(商品改价产生)。

  • 主订单的优惠金额必须分摊到单个SKU上,这样才能算出商品的最终交易价和卖家实际收款金额。

  • 有偿优惠券抵扣金额必须单独统计出来,退款时才能折算成金币返还给买家

订单拆单

  • 不同店铺的订单同时提交时,系统会按店铺拆分生成多个主订单,而每个主订单又会按SKU拆分生成多个子订单,同时会生成一个“联合单号”,用来关联多个主订单
  • 单店铺的订单提交时系统会按店铺生成一个主订单,再根据SKU的数量生成多个子订单,此时主订单号等于“联合单号”,付款时生成一笔支付单,同样与此“联合单号”关联
  • 待付款的相关联的销售订单必须在买家端合并显示,而且只能一起付款或者一起取消,付款后相关联的订单不再合并展示

销售子单不能说成SKU,销售子单只是根据不同的SKU生成的销售订单,销售子单包含一个SKU,即销售子单与SKU是一对一的关系,即一笔销售子订单对应一个SKU,或对应一种单品,或对应一种品项,或对应一款商品。

订单发货

开通仓储系统的商家不支持在订单中直接发货,必须前往仓储中心找到相关的出库单完成“发货”操作

销售订单拆单逻辑图

在这里插入图片描述

销售订单的信息结构

在这里插入图片描述

相关实体

在这里插入图片描述

订单运营类型(作废)

不同运营类型的订单状态和业务流程不同,有的订单需要核销功能,有的订单需要买家确认收货,有些订单需要商家确认送达,所以需要通过类型来区分和判断相关的逻辑。不同类型的订单建议设计在同套数据表中,因为在后台不同类型的订单会展示在一起。

1. 拼团型快递订单
2. 预售型快递订单
3. 常规型快递订单
4. 自提订单
5. 配送订单(即外卖订单)
6. 线上服务订单
7. 线下服务订单
8. 常规快递+线下服务订单
【途虎养车】就是典型的快递+线下服务相结合的应用,通过实物商品关联服务商品,用户下单时可以选择或不选择有关的服务,选择服务产生的订单就是快递+线下服务订单,不选择服务产生的就是快递类订单
9. 预售定制自提订单

售后截止时间

买家确认收货后,根据收货时间+7天(后台可配置)计算得到售后截止时间

订单状态

SaaS电商系统需要满足尽可能多的客户,就要满足尽可能多的商业模式,无疑就要求订单系统兼容更多的业务运营模式,而不同业务模式的订单的状态是不同的,所以系统该如何判断订单应该使用哪种状态机呢?

系统之前是通过“订单运营类型”字段来保存尽可能多的类型,然后根据不同订单运营类型设计不同的状态机,现在改成更加合理的做法,就是在销售主单增加“商品类型”、“是否预售”、“是否定制”、“交易方式”、“是否拼单”、“下单方式”6个字段,通过这6个字段进行不同的组合,每种组合会对应一种状态机,订单生成时需要保存销售订单和状态机的关联关系

下单类型:线上下单、线下开单

商品类型:实物、虚拟、服务、实物+服务

是否预售:预售、非预售

是否定制:定制、非定制

是否拼单:拼单、非拼单

交易方式:自提、配送、快递、线上、上门、到店、快递+到店、快递+上门

P.S. 虚拟商品的交易方式就是线上

订单属性组合和状态机的关系表

状态机代码销售订单属性条件说明
001实物+线上下单+非预售+非定制+非拼单+快递001的状态机对应一个根据相关的状态逻辑图写成的方法
002实物+线上下单+预售+定制+非拼单+自提002的状态机对应一个根据相关的状态逻辑图写成的方法
003实物+线上下单+非预售+非定制+非拼单+自提003的状态机对应一个根据相关的状态逻辑图写成的方法
004实物+线上下单+非预售+非定制+非拼单+配送004的状态机对应一个根据相关的状态逻辑图写成的方法
005服务+线上下单+非预售+非定制+非拼单+线上005的状态机对应一个根据相关的状态逻辑图写成的方法
006服务+线上下单+非预售+非定制+非拼单+上门006的状态机对应一个根据相关的状态逻辑图写成的方法
006服务+线上线上下单+非预售+非定制+非拼单+到店到店服务订单也使用006的状态机
007虚拟+线上下单+非预售+非定制+非拼单+线上007的状态机对应一个根据相关的状态逻辑图写成的方法
008实物+线上下单+非预售+非定制+拼单+快递008的状态机对应一个根据相关的状态逻辑图写成的方法
009实物+线下开单+非预售+非定制+非拼单+自提009的状态机对应一个根据相关的状态逻辑图写成的方法

销售订单和状态机的关系表

销售主单ID状态机代码
202005267788520001
202005267788522002

状态机的设计

入参:销售子单ID,事件(不同事件会对应不同的修改状态的方法)

说明:根据订单ID获取当前状态和状态转变事件,根据事件参数判断要执行哪个修改状态的方法

举例:假设售后完成后执行销售订单的销售状态机,得知订单绑定的状态机代码001,系统调相关的方法,传相关参数(事件:退款,销售子单ID:xxxxxxxxxxxxx),根据销售子单ID可以获知子单当前状态为“未发货”,并且知道转变成为下个状态有2个事件:发货、退款,两个事件会对应两个方法。而当前事件为:退款,于是程序会执行“退款改状态”的方法,该方法会去获取销售子单关联的所有“退款成功”的退款单,汇总退款金额,判断退款总额是否等于子单的实付金额,相等则将子单状态转变成“退款成功”,否则状态不变。而销售子单状态一旦更新成功,需要再调修改销售主单状态的方法,也是传相关参数(事件:退款,销售主单ID:xxxxxxxxx),根据销售主单ID可以获知主订单当前状态为“等待商家发货”,并且知道转变成为下个状态有2个事件:发货、退款,而当前事件为:退款,于是程序会执行“退款改状态”的方法,该方法会去获取当前销售主单关联的全部销售子单的状态,判断是否全部为“退款成功”,是则将销售主单的状态转变成“订单关闭”,否则状态不变。

P.S. 全部从子单状态开始判断,子单状态更改成功后再修改主单的状态,从“现态”转变成“次态”往往是需要条件的。上述例子中销售主单的事件:退款,等待商家发货(现态)→订单关闭(次态)的条件:所有子单的状态为:退款成功

不同属性组合下的订单状态

组合1:实物+线上+非预售+非定制+非拼单+快递

主订单状态图
在这里插入图片描述

子订单状态图
在这里插入图片描述

组合2:实物+线上+预售+定制+非拼单+自提

主单状态图
在这里插入图片描述
子单状态图
在这里插入图片描述

关于自提订单的提货流程设计,点击查看提货核销设计方案

组合3:实物+线上+非预售+非定制+非拼单+自提

主单状态图
在这里插入图片描述

子单状态图
在这里插入图片描述

关于自提订单的提货流程设计,点击查看提货核销设计方案

组合4:实物+线上+非预售+非定制+非拼单+配送

主订单状态图

在这里插入图片描述

子订单状态图

在这里插入图片描述

组合5:服务+线上+非预售+非定制+非拼单+线上

销售主单状态图
在这里插入图片描述
销售子单状态图

在这里插入图片描述

组合6:服务+线上+非预售+非定制+非拼单+上门/到店

销售主单状态图
在这里插入图片描述
销售子单状态图
在这里插入图片描述

组合7:虚拟+线上+非预售+非定制+非拼单+线上

销售主单状态图
在这里插入图片描述
销售主单状态图
在这里插入图片描述

组合8:实物+线上+非预售+非定制+拼单+快递

点击查看拼团系统设计

组合9:实物+线下+非预售+非定制+非拼单+自提

销售主单状态图
在这里插入图片描述

销售子单状态图
在这里插入图片描述

订单管理原型设计

  • 状态为“等待商家服务”的服务订单合并到“待发货”的订单列表中

  • 状态为“等待买家确认”的服务订单合并到“待收货”的订单列表中

买家小程序端原型

点击查看交互原型

商家管理后台PC端订单管理原型

点击查看交互原型


  1. 有偿获取的优惠券也属于优惠范畴,参考美团外卖优惠券的方案 ↩︎

  2. 卖家直接将未付款的订单商品调低价格 ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/335692.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kafka netty_惠而浦:使用Netty和Kafka的微服务

kafka netty介绍 在上一个博客中 ,我介绍了Netty用作Web服务器。 该示例运行良好……只要需要广播服务器即可。 大多数情况下不是很有用。 更有可能的是,每个客户端仅接收针对其的数据,并保留了特殊情况下的广播,例如“服务器在1…

HH SaaS电商系统的拼团系统设计

文章目录拼团业务流程拼团单实体拼团单的状态拼团型订单的销售状态注意点拼团业务流程 创建活动 管理后台创建拼团活动,设置好活动有效期、成团人数、成团时效、限购数量、活动对象、添加活动商品,设置团长价和团员价,活动开始后活动对象在买…

统信uos系统考试题_离Windows更近一步!微信Linux原生版上线:国产统信UOS系统已适配...

就在本月11号,国产操作系统-统信 UOS发布了专业版 V20(1030),功能更强大,同时性能和安全性均有所提升。而距离这个好消息过去没多久,统信软件官方再次发布了一个好消息:那就是微信桌面客户端(统信 UOS 版)研发完成&…

npm 引用子项目模块_Java / Web项目中的NPM模块Browser-Sync

npm 引用子项目模块Browser-Sync是一个方便的基于Node.js的NPM模块,可用于更快的Web开发。 浏览器同步可在许多设备之间同步文件更改和交互。 最重要的功能是实时重新加载。 我们也可以在Java / Web项目中使用Browser-Sync。 Cagatay Civici创造了一个伟大的 视频教…

xrd精修教程_XRD精修系列干货 | 带你领略晶体之美

1. XRD精修教程(一)——XRD精修基本原理与GSAS软件简介(附GSAS软件下载链接)点击上图即可查看全文X射线衍射分析(XRD)在研究材料的相结构、相成分等多个方面有广泛的应用,但最常用的多晶衍射法有个缺点:得到的谱峰重叠严重,从而造成大量材料结…

多个cpp文件生成so_C++:C++的文件搜索路径

在做大型工程的时候,除了有C语法知识之外,还要有工程能力。最先要具备的能力是:理解C文件的编译,链接过程。明白C头文件的搜索路径。本文,介绍C的文件搜索路径。对于C文件来说,主要有两种,一种是…

HH SaaS电商系统的店铺系统设计

文章目录为什么店铺运营模式要区分B2C、C2C、O2O?O2O店铺B2C店铺自营B2C店铺第三方B2C店铺C2C店铺为什么O2O店铺不允许售卖快递类的商品?B2C、C2C模式的自提和O2O的自提有什么区别?B2C、C2C模式的配送和O2O的配送有什么区别?为什么…

监听js变量的变化_JS监听事件型爬虫

点击上方“Python数据科学”,选择“星标公众号”关键时刻,第一时间送达!作者:zuobangbang来源:zuobangbang最近开始研究网页参数的JS加密,但是大型网站的JS文件过于繁杂,不适合新手上路&#xf…

HH SaaS电商系统的支付模块设计

文章目录支付单支付单状态流转逻辑说明支付相关实体支付流水记录支付方式支付渠道支付单 销售订单生成时,同步生成支付单,如果销售订单的应付金额由首付款和尾款组成,那么会生成两个支付单 支付单与销售订单的“联合单号”或者“退款单ID”关…

添加几个手机联系人_One UI 3.0: 更细腻、更好用,这才是手机系统该有的样子

作为全球出货量最多的 Android 手机厂商,三星宣布将于北京时间 1 月 14 日正式召开 2021 年度的新品发布会。伴随着 S21 的即将发售,我想借此机会和大家一起来聊一聊前不久刚刚推送正式版本的 One UI 3.0。One UI 3.0 是三星基于 Android 11.0 打造的新一…

HH SaaS电商系统的商城模块设计

文章目录好获SaaS电商系统层级关系商城实体商城运营模式商城可选子系统创建商城商城管理后台有供应系统和无供应系统的B2C和混合模式的商城系统对比有仓储系统和无仓储系统的B2C和混合模式的商城系统对比有店铺系统和没有店铺系统的商城系统对比商城关闭商家入驻通道B2C模式商城…

HH SaaS电商系统的物流单设计

业务说明 物流信息提交后,系统生成物流单,出库单与物流单是一对多的关系 退货时买家填写物流信息,提交后系统生成物流单和入库单,物流单需要保存入库单的id 物流单实体

pcl_openmap_OpenMap教程5 – 3层GIS应用程序

pcl_openmap1.简介 欢迎使用OpenMap系列教程的第5个教程。 OpenMap是一个免费的开源Java GIS库。 这是以前的教程列表: 在第一个教程中,我们创建了一个基本的OpenMap GIS应用程序,该应用程序在JFrame中显示一个从文件系统加载的具有一个形状…

HH SaaS电商系统的商品系统设计

文章目录商品信息结构商品信息总结构商品信息结构图发布商品商品类型虚拟商品服务商品为什么服务商品要分类前端根据服务商品类型来设计不同的界面和交互订单状态和服务类型有关商品档案上下架运营商品上下架(即商品营销上下架)删除商品租户删除自供商品…

HH SaaS电商系统移动端商城,买家选择商品规格的交互设计

文章目录未完整选择商品规格时商品图如何显示库存如何显示价格如何显示选择规格提示文案如何显示原型图已选完整选择商品规格时商品图如何显示库存如何显示价格如何显示原型图SKU下架后如何显示原型图购买数量如何交互未完整选择商品规格时 商品图如何显示 显示SPU的主图&…

aws lambda_适用于无服务器Java开发人员的AWS Lambda:它为您提供了什么?

aws lambda无服务器计算如何帮助您的生产基础架构? 在过去的几年中,无服务器计算架构一直受到关注,因为它专注于应用程序的主要组件之一:服务器。 这种体系结构采用了不同的方法。 在下面的文章中,我们将解释无服务器…

HH SaaS电商系统的销售订单毛利润模块设计

HH SaaS电商系统的销售订单利润分析,仅是简单分析供运营人员参考而已,所以订单生成后就自动根据商品成本价和实际交易价生成利润表,而不需要等到订单归档后才生成。 销售子单的毛利润最终交易总额-成本总额销售子单的毛利率毛利润/最终交易总…

eclipse preference没有server_Java Web开发的前期准备工作,部署Tomcat服务器和Server环境创建...

Java Web: 顾名思义,就是用Java的方式来解决Web开发,我也不讲太多的理论问题,直接将如何上手来进行Java Web开发。那么,我们一般进行Java Web开发,可以使用的工具很多,我这里使用eclipse。选择eclipse的版本…

java int不将0忽略_Java微服务:蛋糕是骗人的,但您不能忽略它

java int不将0忽略构建微服务实际上意味着什么? 通过微服务框架的眼光回答 忽略微服务的趋势已变得不可能。 有些人会说这只是另一个难以忍受的流行语,而另一些人会背诵打破巨石的优势或采取逆势方法并关注负面因素。 在本文中,我们将全面了…

4怎么放大字体_Word字体怎么放大?简单教你几招轻松搞定

一般情况下我们都会选择用Word编辑文章。文章编辑完成之后我们通常会对文章进行排版。在排版的过程中如果我们需要将Word字体放大该怎么办呢?下面我就来教大家几个Word字体放大的小技巧,一起来看看吧。下面以放大“字体演示”为例为大家演示操作过程。一…