一、背景

商品需要调用供应商的接口来实现订单的创建
在项目就存在两个订单,一个是供应商的订单、一个是项目自身的订单,实际就是一个订单

二、流程

https://www.processon.com/embed/611ca4261e0853164d2e3d02

在从用户点击购买到用户点击支付 ,最后成功返回订单号接着支付流程,失败则回滚操作

1、首先在商品页的时候点击购买,就需要开始校验库存、金额、邮费、收货地址等信息。

2、没有收货地址的,则要重新选择,且选择收货地址后,还需要调用类似刚才第一个的接口,根据选择的地址,再次计算邮费、金额。

3、在确定订单页面,用户点击购买则进入到创建订单接口中
在分布式系统中处理订单事务,采用Seata-tcc来进行一个事务二段式的提交\回滚
创建项目订单成功,则二段式提交修改订单状态,失败则回滚删除订单
创建供应商订单成功,则二段式提交修改订单状态,失败则回滚删除订单+取消供应商订单
创建订单明细成功,则继续下一步,失败则回滚删除订单+取消供应商订单+回滚订单明细数据

4、订单创建成功了,则返回订单号,且该订单号放入消息队列,若干时间没支付后,则调用取消订单的接口

三、其它相关

取消订单:订单状态修改、取消供应商订单,执行前注意检查状态,防止二次取消操作。消息队列在执行消费时,也是调回取消订单的接口。

订单支付:订单在支付成功后,则需要对库存、商家余额、用户资金等进行扣除。最后成功修改订单状态

订单发货:发货的接口通常给到供应商进行调用,接口做好幂等性处理,防止脏数据

订单收货:收货通常分成自动收货、和用户手动收货。像15天自动确认收货的逻辑,这边的处理方式是,定时任务1小时,查出一批距离收货时间少于1小时的订单,发到消息队列中,使用延迟消息的方式,在1小时内消费订单。这样操作减少了 消息队列的压力,1个小时查询一次对数据的压力也不会太大的压力

电商(一) 创建订单业务流程相关推荐

  1. 架构专家李伟山:电商系统之订单系统

    李伟山 读完需要 12 分钟 速读仅需 4 分钟 李伟山,目前是一家人工智能公司的技术总监,主要负责 AI 产品化的工作,开发设计中国一款云同步社交平台--号簿管家:曾参与设计开发亿万级流量的阿里虚拟 ...

  2. 电商交易之订单中心设计(一)

    背景 在电商交易中台团队工作了一段时间,越发觉自己需要学习的东西还有很多,因此想要定期整理.反思一下所见.所想,因此先从接触的订单中心开始. 订单是什么,我所理解,订单就是交易行为的记录.是用户某一刻 ...

  3. 电商系统之订单系统设计

    电商系统之订单系统 01 概述 订单系统作为电商系统的"纽带"贯穿了整个电商系统的关键流程.其他模块都是围绕订单系统进行构建的.订单系统的演变也是随着电商平台的业务变化而逐渐演变进 ...

  4. Java生鲜电商平台-深入订单拆单架构与实战

    Java生鲜电商平台-深入订单拆单架构与实战 Java生鲜电商中在做拆单的需求,细思极恐,思考越深入,就会发现里面涉及的东西越来越多,要想做好订单拆单的功能,还是相当有难度, 因此总结了一下拆单功能细 ...

  5. Axure电商后台业务管理系统原型模板/通用版电商后台管理系统/订单管理/营销管理/运营管理/财务管理/统计分析/库存管理/流量统计/运营管理/用户管理/秒杀促销/交易统计/活动管理/广告管理

    Axure电商后台业务管理系统原型模板/通用版电商后台管理系统/订单管理/营销管理/运营管理/财务管理/统计分析/库存管理/流量统计/运营管理/用户管理/秒杀促销/交易统计/活动管理/广告管理 作品名 ...

  6. 宝付跨境电商不断创建,呈现支付多元化

    宝付跨境电商不断创建,呈现支付多元化.宝付发现,随着人们对高品质生活的追求,跨境购已经成为众多消费者的新选择.根据近日第一财经商业数据中心联合天猫国际发布的<2018跨境进口消费洞察报告> ...

  7. 电商平台的订单设计流程

    一.主流电商产品的订单状态 淘宝的订单状态主要有待付款.待发货.待收货.待评价.已关闭.以及退款中. 京东的订单状态主要有待付款.待收货.已完成.已取消等. 有赞的订单状态主要有待付款.待接单.待发货 ...

  8. SCRM电商会员管理系统+导购端+商城app+小程序电商+移动端商城+电商web端后台管理+商城前后端系统+移动端商家端+电商app+购物车+订单+商城系统+电商看板+电商后台+优惠券+积分+会员

    作品介绍:SCRM电商会员管理系统+导购端+商城app/小程序 高保真SAAS实战web+移动端原型设计+电商web端后台管理+商城前后端系统+移动端商家端/用户端+电商用户数据大屏看板+订单管理+营 ...

  9. 电商系统之订单设计篇

    01 概述 订单系统作为电商系统的"纽带"贯穿了整个电商系统的关键流程.其他模块都是围绕订单系统进行构建的.订单系统的演变也是随着电商平台的业务变化而逐渐演变进化着,接下来就和大家 ...

  10. 电商平台对接订单开具电子发票方案

    我们以电商平台为例来说明:根据订单开具电子发票.其他加油站.快递.物流.O2O物业等行业都可以参考这个对接 电子发票: 以京东商城Web端.App端开票演示: 1.调用 "获取accessT ...

最新文章

  1. 直播APP开发注意事项汇总
  2. TF-IDF与余弦相似性的应用(二):找出相似文章
  3. Android Studio 小技巧/快捷键 合集
  4. Python之IO编程
  5. [转]要有梦----送给自己,希望自己能尽快走出当前的痛苦期
  6. Spring Mvc Controller返回值、参数绑定、参数校验 (高级二)
  7. 文档控件正在将数据上传到服务器,关于CellWeb插件中文件打开、上传、以及导入数据库中的问题...
  8. 传感器技术—压电式传感器(学习笔记八)
  9. 前端自学学习笔记——JavaScript
  10. 阿里聚石塔2.0部署前后端分离项目
  11. yarn打包报错:error during build: Error: Assigning to rvalue (Note that you need plugins to import files
  12. 180余件河北武强年画珍品亮相新疆昌吉回族自治州博物馆
  13. 省对应的市区经纬度信息
  14. 微信考勤签到 php,【投稿】微信签到打卡领积分源码,每日积分签到
  15. 关系网络lbs的应用_LBS中国起步:探索空间关系的商业化
  16. aardio - 写注册表改鼠标右键Kate菜单项信息
  17. deepCopy:1 Uncaught SyntaxError: Identifier ‘xxx’ has already been declared
  18. 用Python学《微积分B》(有理式与简单无理式积分套路)
  19. 从脑科学的角度分析物联网、 云计算、 大数据和互联网的关系
  20. UV云任务小米运动步数修改PHP网站源码

热门文章

  1. uni-app+微信小程序+云开发 爬取必应首页每日图片
  2. Kotlin - 改良工厂模式
  3. python3 接口获取数据
  4. EMPLOYEE表的创建与查询
  5. C语言种根号怎么表示 比如(1-x)的二分之一次方
  6. Scala 函数式编程(一) 什么是函数式编程?
  7. 微信小程序打印实时日志
  8. diy计算机组装注意事项,电脑DIY常见误区有哪些 电脑组装新手注意事项
  9. word2016 图片去底灰_Word2016中为图片去除背景的方法
  10. 存储文件用 云服务器推荐推荐,云存储服务器推荐