购物车是电商APP的一个关键功能点,一般购物车包含 3~4 个页面,分别是:

1.购物车的商品列表页
2.商品下单页
3.订单付款页面
4.订单付款成功页面

由于现有购物车逻辑相对混乱,这里重新整理一下商品下单页的业务流程设计

1.生成订单

这里在业务层面把订单的生命周期划分为4个阶段,分别是:

  • 订单的初始阶段
  • 订单的完备阶段
  • 订单的支付阶段
  • 订单的服务阶段

1.1 订单的初始阶段

订单的初始阶段是在 购物车商品列表页开始的,订单的初始阶段确定了商品的种类各个商品的初始数量
此时订单金额只包含 货品的总金额。在后续订单的完备阶段,因为有修改货品数量、运费、服务增值、优惠活动等,订单金额和商品数量还会继续变动。
PS. 在这里,商品的种类 包括 商品的类别、具体型号、配置(比如笔记本电脑->型号->配置->颜色)在加入购物车时就已经确定了。

1.2 订单的完备阶段

订单完备阶段是在商品下单页完成的
订单完备阶段是 将一笔订单的 所有交易信息 补充完备,订单的完备信息包括 1.配送信息(配送方式、时间、运费)
2.商品数量 (可在下单时确定)3.发票信息 4.服务增值(退换、保修)。所有交易信息完备后订单金额已确定,进入支付阶段。

1.3 订单的支付阶段

订单的支付阶段是在订单付款页面完成的。

订单的支付阶段,用户在此阶段可以选择支付方式完成付款,也可以取消支付,在订单管理页面继续处理订单。
订单支付完成后进入订单服务阶段。

1.4 订单的服务阶段

订单服务阶段包括 未完成支付订单的后续处理,其操作包括继续支付编辑订单取消订单
对于已完成支付的订单,可能的处理有 确认收货商品交易评价退货退款查看发票等操作,

订单进入服务阶段后,一般意味着订单生命流程的结束,后续只需要对订单数据进行维护管理就可了。

2.下单页 业务流程概要设计

根据之前的分析,下单页对应着订单生命流程中的订单完备阶段,

订单完备阶段概要设计如下:

1.用户在购物车商品列表页选定商品种类和各个商品数量。
2.点击确认购买,将商品种类和商品数量 通过接口提交给后端。
3.后端接到请求后,校验 商品的有效性(库存、是否下架)若无效,返回错误信息,停留在购物车商品列表页。
4.若请求有效,服务端生成临时订单号,将临时订单 的信息(商品信息物流信息发票信息服务增值等)返回给APP端(包括临时订单号)进入下单页。
5.app端展示订单信息后,商品信息、物流信息、发票信息、服务增值等改动通过各自相关接口 更新服务端数据
6.如果此时退出下单页面,临时订单保持 3个小时的时效性。用户再次下单时,后端清除超时的临时订单。
如果用户停留在下单页超时,确认订单时返回错误信息提示用户订单超时已失效,请重新下单。这个操作可以兼容账号多端登录同时下单。
7.用户点击确认订单,将本地临时订单号上传,服务端将临时订单转为正式订单,返回正式订单号,进入订单支付阶段,并将订单状态置为待支付状态,等待支付。同时更新购物车商品列表。
8.用户支付完毕后,维护对应的订单号,订单完成支付阶段进入订单服务阶段。此时订单信息不可人为修改。
9.若用户没有完成支付,返回到其他页面,或直接退出APP,此订单成为待支付订单,在订单服务阶段进行处理。

至此,下单页的业务流程完毕,接下来就是订单维护阶段的工作了,且听下回分解。

电商 APP 下单页(俗称车2) 业务流程概要设计的更多相关文章

  1. 开发者如何快速搭建自己的电商App?

    面向电商购物场景,HMS Core提供了创新的电商解决方案,帮助应用快速获客.提升转化率,实现业务增长.为了帮助开发者了解如何在电商购物类应用中集成HMS Core的各项能力,HMS Core开发了电 ...

  2. Kotlin实战案例:带你实现RecyclerView分页查询功能(仿照主流电商APP,可切换列表和网格效果)

    随着Kotlin的推广,一些国内公司的安卓项目开发,已经从Java完全切成Kotlin了.虽然Kotlin在各类编程语言中的排名比较靠后(据TIOBE发布了 19 年 8 月份的编程语言排行榜,Kot ...

  3. 从电商平台促销活动看电商app开发趋势

    据亿合科技小编了解到:尽管各大电商平台都进入了品质和品牌时代,但对于消费者来说,低价依然是一个有吸引力的因素.尼尔森<网络购物者趋势研究>报告显示,2016年价格敏感型购物者的比例从15% ...

  4. Objective-C 【电商APP应用代码-系统分析-详细注释-代码实现】

    ------------------------------------------- 电商APP应用 ************************************************ ...

  5. 电商app开发新趋势!如何突显竞争力?

    2017年是电商变化最大的一年,同时,也是最多机遇的一年,更是电商最好的时代,如最近所看到的亚马逊的市值已经超过了美国8大零售商的总和,带领美国率先走向了新零售时代;马云也在做改变,试图与线下的大卖场 ...

  6. Android通用框架设计与完整电商APP开发系列文章

    作者|傅猿猿 责编|Javen205 有福利 有福利 有福利 鸣谢 感谢@傅猿猿 邀请写此系列文章 Android通用框架设计与完整电商APP开发 课程介绍 [导学视频] [课程详细介绍] 以下是部分 ...

  7. 调用顺丰API实现电商专递下单和获取面单功能

    参考文章:https://www.cnblogs.com/zhangxiaoyong/p/8317229.html 顺丰需求文档: 链接:https://pan.baidu.com/s/16EEaph ...

  8. EF+MySQL乐观锁控制电商并发下单扣减库存,在高并发下的问题

    下订单减库存的方式 现在,连农村的大姐都会用手机上淘宝购物了,相信电商对大家已经非常熟悉了,如果熟悉电商开发的同学,就知道在买家下单购买商品的时候,是需要扣减库存的,当然有2种扣减库存的方式, 一种是 ...

  9. Android 仿电商app商品详情页按钮浮动效果

    1.效果图如下: 这效果用户体验还是很酷炫,今天我们就来讲解如何实现这个效果. 2.分析 为了方便理解,作图分析 如图所示,整个页面分为四个部分: 1.悬浮内容,floatView 2.顶部内容,he ...

随机推荐

  1. Python入门与基本概念

    简介:本学习笔记基于ubuntu,Ubuntu已经内置了python2.7,python2.7既包含老版本的属性,有含有新版本的一些特性,用于对3.x版本的过渡,可以拿来入门学习,入门之后可以再学习p ...

  2. Java 之常用API(二)

    Object类 & System类 日期相关类 包装类 & 正则表达式 Object类 & System类 1.1 Object类 1.1.1 概述 Object类是Java语 ...

  3. sql 字符、数字类型自动转换及运算

    本页面所有内容也可以在oracle 运行,只需要把int.float .decimal 改为 number类型即可 -- 字符串转数字 int 类型 drop table test;create ta ...

  4. 开源一款私藏Management Studio插件,ProjkyAddin,送给所有使用SQLServer的园友们

    ProjkyAddin 是一款Management Studio 插件,安装包才500多kb,兼容SSMS 2005.SSMS 2008.SSMS 2008 R2.SSMS 2012.SSMS 201 ...

  5. bootstrap作为mixin库的应用模式

    Bootstrap作为一个非常流行的前端css框架,得到了非常多的应用.一般的使用方法都是直接download bootstrap.css,作为css文件引入到html的markup中,随后直接引用其 ...

  6. [翻译] GoogleMaterialDesignIcons

    GoogleMaterialDesignIcons Google Material Design Icons Font for iOS GMD图片样式的字体,用于iOS开发. It is based ...

  7. windows下搭建vue开发环境

    Vue.js是一套构建用户界面的 “渐进式框架”.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合.2016 ...

  8. Celery学习---Celery 分布式队列介绍及安装

    Celery介绍和基本使用 Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理, 如果你的业务场景中需要用到异步任务,就可以考虑使用celery, ...

  9. 通过nginx 访问 centos 7 服务器上的.Net Core

    先安装依赖 # yum -y install pcre-devel openssl openssl-devel # yum -y install gcc gcc-c++ autoconf automa ...

  10. Hadoop HBase概念学习系列之HBase的Shell(步骤非常清晰)(二十四)

    这部分知识点,是必须要熟练玩转的! 见 5 hbase-shell + hbase的java api 的进入HBase Shell   强烈建议,先看我上面的这篇博文,是实实际际的步骤. 另外,附上一 ...