我从刚开始做产品起,就只想做电商,对医疗、教育类的都不太感兴趣。公司转型做电商,整个电商模块重构,有幸负责购物流程优化,之后支付中心和订单中心都会相继优化,今天先来讲购物车。

一、购物车目的

任何产品功能都有目的,App端的购物车就好比我们在超市的手推车购物车。

对用户来说,主要有:批量结算、商品收藏和价格对比三种作用。

从产品角度来讲,我最开始做这个需求时,觉得是为了提高订单转化率,之后和leader交流,知晓根本目的是提高客单价,订单转化率之类的只是辅助数据指标。除此之外,根据用户购物车商品数据做商品推荐,解决同一店铺下多件商品运费问题等也是目的之一。

二、购物车的功能模块

原型之前,用Xmind罗列出所有的功能点,确定要做什么,做到心中有图,心中有规划,这样可以避免原型反复修改,提高原型效率。

由于开发时间的原因,商品属性编辑、优惠券、活动降价引导、活动预热、满减活动凑单页条件筛选、结算拆单、购物车唤醒(文中红色X标注的)等功能放在下个版本中完成。

三、主要功能讲解

3.1 购物车列表

每次进入购物车或者刷新购物车都会调购物车列表接口,给用户展示购物车商品信息。列表的关键在组合类型和排序,前提条件是用户已登录。

组合类型

  • 同一商家下的满减活动:满减活动下的SKU全部来自同一商家,按商家维度打包到一起,成为一个组合;
  • 跨商家满减活动:满减活动下的SKU只要有SKU来自不同的商家,按活动维度打包到一起,成为一个组合;
  • 无满减活动:按商家维度组合。

异常情况:同一SKU同时满足活动维度和商家维度,优先活动维度。

如SKU1、SKU2和SKU3都是OPPO店的商品,但SKU2和SKU3参加了满100减10的活动,所以SKU2和SKU3在满减活动模块中,而不在商家模块下。

排序

  • 组合内的SKU排序按照最新添加SKU排在第一的规则;
  • 组合间的排序按照每个组合内最新SKU排在第一的规则。

如SKU1 添加购物车时间为2019/5/29,SKU2添加购物车时间为2019/5/27,则SKU1在组合内排在第一;
SKU3添加购物车时间为2019/5/28,SKU4添加购物车时间为2019/5/26,则SKU3在组合内排在第一;
因SKU1 添加购物车时间2019/5/29>SKU3添加购物车时间为2019/5/28,所以组合1排列在组合2之前。

异常情况:添加购物车时无法找到商品对应商家或者活动,提示“网络出错了”。

3.2 购物车商品

列表是由一个个商品组成的。购物车中的商品基本信息有:商品图片、商品名称、商品属性、商品价格和商品活动信息和商品数量组成。其中属性、活动信息和数量都会影响价格,关键在于活动信息和数量。

商品活动信息

购物车是电商平台内各种营销活动的最终载体,尤其是对于满减、满赠这样需要凑单的营销活动来说,更是重要。目前平台内做了三种活动:满减(满折、满赠)、秒杀和单品促销。每种活动展示各自活动的样式,目前只做了“进行中”样式,“未开始”状态,购物车预热、降价提醒、领券功能放入二期来做,如下:

商品数量

用户每次增减商品数量,系统调编辑接口、列表接口和结算接口。编辑接口校验库存和活动信息。

  • 非活动商品:判断商品本身库存。
    若购买数量超过商品可售库存,toast提示”您最多购买X件噢“。X指商品最多购买数量,见样式一;
  • 活动商品且活动有限购,始终文案提示“限购5件”;若增加数量超过活动库存,价格恢复活动前价格,文案提示“限购5件,超出恢复原价”,同时toast提示,见样式三;
  • 参加活动的商品还需要校验活动库存,若超过活动可售库存,见样式一。

异常情况:购物车中无商品,空页面展示。

商品状态

进入购物车列表商品会出现两种异常情况:商品无货和商品下架。“无货”状态商品仍处于原位置,“下架”状态商品全部置于最底端。考虑点是:无货商品可能只是暂时没货,待库存补充后又可以售卖,但下架很大可能就是无法再售卖,所以置底。

3.3 结算

结算时要校验商品状态、商品库存、活动信息异常情况。

  • 库存不足:若勾选商品中有库存不足的商品,弹窗提示。若点”取消“,刷新当前页面,将库存不足的商品取消勾选,库存不足的商品露出;若”移除无货商品“则继续购买。
  • 商品下线:若勾选商品中有库存不足的商品,弹窗提示,刷新当前页面;若”移除失效商品“则继续购买;
  • 活动信息发生变更:提示用户价格已发生变更,是否要以变更后的价格购买。

四、关于购物车的额外思考

1、进入购物车时引导登录还是在购物车结算时引导登录?

对用户来说很明显是结算时引导登陆更友好,但此时需要离线购物车功能,根据设备号记录哪个商品加入到哪个设备的购物车,用户登陆后合并设备下的离线购物车数据和账号下的在线购物车数据。目前京东、淘宝、唯品会、网易严选等主流电商平台均是结算时引导登陆,我们平台内的购物车还是进入购物车时引导登陆,这点应该会在下个版本中优化掉。

2、购物车上限商品数量?

购物车商品设置上限,主要是考虑接口性能。购物车本身承载着巨大的计算工作,如每点击数量增减,需要请求列表接口、编辑接口和结算接口,如果商品太多,接口请求速度会变得比较慢,影响用户体验。

3、是加入购物车时扣减库存还是下单时扣减库存?

像淘宝和京东这样的平台,用户添加购物车大多数是为了收藏,所以是下单时扣减库存,如果加入购物车时扣减库存,会造成大量库存被占用,实际又没有结算的浪费;而唯品会是加入购物车时就扣减库存,所以唯品会添加到购物车的商品到20分钟时会自动删除,也是为了避免库存被占用。目前平台采用的是下单扣减库存

购物车和商品系统、库存系统、活动系统、订单系统,我们金融电商,还和风控系统交互,算属于一个比较复杂的模块了,在此次产品设计中,得到了挺多锻炼。接下来会逐步讲解支付中心和订单中心。

做着自己感兴趣喜欢的工作,又有leader指导,还是那句话,一切都是最好的安排,感谢,感恩。

电商扣减库存_电商之购物车相关推荐

  1. 电商扣减库存_电商平台仓库管理系统究竟有何功能?

    仓库管理系统能有效控制并跟踪仓库业务的物流和成本管理全过程,实现完善的企业仓储信息管理.本文介绍了仓库管理的概念,商品与仓库的联系,商品发货的调度中心以及其他附加功能,与大家分享! 仓库管理系统(Wa ...

  2. 电商扣减库存_电商系统秒杀架构设计

    作者:曹林华 https://blog.51cto.com/13527416/2085258 前言 最近在部门内部分享了原来在电商业务做秒杀活动的整体思路,大家对这次分享反馈还不错,所以我就简单整理了 ...

  3. 电商扣减库存_电商仓库管理的难点与解决方案

    在我国,目前有很多小型电商企业,其仓库面积都在1000平以内,由于前期对营销的专注,对仓库的忽视,包括对设施设备的投入,导致了今天仓库工作效率低下,库存混乱,运作成本高等诸多问题,以下我们来细细诉说. ...

  4. 电商扣减库存_电商库存体系设计

    库存是什么? 百度百科:库存(inventory)是以支持生产,维护,操作和客户服务为目的而存储的各种物料,包括原材料和在制品,维修件和生产消耗品,成品和备件等: 狭义:"仓库里存放东西&q ...

  5. 电商扣减库存_电商新零售库存分层模型介绍

    01 电商新零售库存分层 梳理完中央库存的逻辑以后,下一步需要整理上下游的库存交互.在整个电商体系中,库存会存在于供应链的多个业务环节中,按照系统的分工不同,小Q将库存抽象为两类三层: 1.两类库存: ...

  6. 电商扣减库存_电商后台:商品库存管理之批次管理

    本文主要对电商平台的库存系统中的批次管理进行了详细的阐述,一起来看看~ 一.批次管理 库存,是电商企业不能回避的问题,如何让仓库商品能够有序的流转,是电商供应链管理后台的重中之重,也是电商企业的命门. ...

  7. 电商扣减库存_竞争激烈的电商市场,小型仓储外包服务解决了中小电商的后顾之忧...

    随着网购消费者要求的提高,以及各大电商巨头向各个领域.品类的扩张,越来越多的中小电商感叹利润微薄,电商生意不好做.但这些并不是中小电商最担心的问题,它们面临的最大问题如何解决符合自身需求的仓储问题? ...

  8. 电商扣减库存_经验分享:电商库存体系设计笔记

    最近在做仓库库存管理相关的项目,清晰地了解了仓库是如何管理库存的,并且整清楚了各个系统的库存是如何交互的,整理了下分享给大家. 库存是什么 这里是百度百科给出的解释: "库存(invento ...

  9. 电商扣减库存_库存管理:看懂库存扣减方式,至少不会卖错货

    在电商后台库存管理系统中,看懂库存扣减方式,是很重要的,最起码可以避免不要卖错货. 在电商后台库存管理系统中,影响库存的行为,主要是入库和出库,出入库的主要内容可分为货位.调拨业务.盘点业务. 1)货 ...

最新文章

  1. 利用openssh实现chroot监牢
  2. 6. ZigZag Conversion
  3. python getattr函数_[转]Python中的getattr()函数详解
  4. Spring MVC found on classpath, which is incompatible with Spring Cloud Gateway.
  5. Apache Flink 在实时金融数据湖的应用
  6. mysql时间戳在某天内_mysql根据时间戳查询指定日期内数据
  7. TinyURL生成器
  8. 对C#开发两个基本原则的深入讨论
  9. 位居中国机器学习公有云市场份额第一,华为云 ModelArts 的进阶之路
  10. HAProxy的安装和部署
  11. 用PROTUES来演示80C51的的16MHZ晶振的示波器演示
  12. unity学习笔记-相对位置和绝对位置
  13. STM32内部ADC基准电压计算方法
  14. 利用 Python 爬取58同城品牌公寓(附带租房指南)
  15. win7网络上计算机进不去,win7系统电脑红色警戒2点击网络进不去的解决方法
  16. 虚拟机克隆不能互ping的问题
  17. Unity Monetization 3.0 部分接入文档内容
  18. 内存泄露方式有哪些和如何查询内存泄露?
  19. PyCharm中集成Arcpy环境
  20. 我也说说Emacs吧(1) - Emacs和Vi我们都学

热门文章

  1. 121. 买卖股票的最佳时机 JavaScript实现
  2. javascript做游戏_我用JavaScript构建了一个角色扮演游戏。 你也可以 这是如何做。...
  3. 【C++期末大作业】数据结构课设 | 智能公交车查询系统
  4. 财务费用分析怎么分析
  5. dokuwiki使用教程--创建页面和命名空间
  6. DFX 安全测试-- 告诉你什么是XSS、sql注入?POST和GET的区别....
  7. 完成一个预测建模项目一般需要多长时间?
  8. 锁相放大器的应用介绍1
  9. objdump 指令使用
  10. 人工智能基础学习之知识图谱