购物车的设计
程序员文章站
2024-02-05 11:40:22
...
购物车模块文档
1 前言
购物车设计与功能模块文档笔记
总体流程图
2 加减购物车
-
添加购物车作用是:
暂时存储用户下单之前想要购买的商品,对数据的可靠性并不是很高;
-
购物车简单的展示商品信息:
所以我们的购物车需要商品Id,价格,商品规格数量;
-
存储
购物车存储,目前我们系统存储在redis中,期限是14天
也可以存储在本地localstore中或者cookie中,用户登录后将数据存储在redis中;存储key规则是:
商户号:用户id:购物车类型
可以自行设计key
商品详情可以通过"商品Id"查询,不需要购物车保存;
对应到系统中
增加了
全选
,选中
以及第一次加入相比购物车的价格差
,规则参数
,区分普通或者优惠的商品类型
参数
加减购物车类
public class CartShoppingDto {
//商品ID
private int goodsId;
//是否选中
private boolean selectedFlag;
//批量全选
private boolean selectAll;
//数量
private int selectedNum;
//商品类型
private int prom_type;
/**
* 加入购物车时候的价格
*/
private BigDecimal addCartPrice;
}
- 加减购物车逻辑
1 先从redis中根据指定key获取购物车内容
2 如为空,则新建添加 ( 并且记录第一次添加时的价格 )
3 如不为空 则根据新添加进来的goodId进行更新
4 全选 : 如单个更新则全选为false,则表示单个更新;如更新全部全选为true,则更新购物车;
请求json规格
{
"goodsId": 9747,
"selectedFlag": false,
"selectedNum": 5,
}
全选
全选按钮表示下单的时候需要下单的购物车中购买的商品
{"selectAll":true,"selectedFlag":true}
全不选
{"selectAll":true,"selectedFlag":false}
- 删除购物车(单个删除)
删除购物车时候,我们只需要商品id,以及设置数量为0即可;
注
: 可以新增批量删除购物车商品接口
3 获取购物车
加减购物车之后,我们需要获取购物车列表返回给客户端
用来展示相应图片信息
,活动信息
,相比刚加入购物车时的价格变化
,库存是否紧张
,商品是否失效下架
等;
4 清空失效商品
购物车中某些商品由于下架或者出售完导致商品失效,可以进行清除操作;
{"goodsIdList":[1,2,3]}
上一篇: 开发类 - IDEA 打包成可执行jar
下一篇: vue自定义组件之触屏轮播