购物车是电商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,此订单成为待支付订单,在订单服务阶段进行处理。
至此,下单页的业务流程完毕,接下来就是订单维护阶段的工作了,且听下回分解。
认识问题,解决问题 -> 行行无bug的背后,是全面缜密的思考