青橙14-购物车模块(详细) 2.6利用stream

1. 购物车列表

1.1 需求分析

(1)实现购物车列表的显示。购物车必须登录后才可以访问。
(2)从商品详细页点击“加入购物车按钮”,将商品添加到购物车。
(3)点击购物车列表项中数量的加减按钮实现对数量的修改。
(4)删除购物车中某条记录。

使用 redis(hash类型数据) 实现购物车的存储。大key为 CacheKey.CART_LIST ,当 前登录名作为小key。购物车存储结构如下图:(购物车是个list,每一行(不同商品)作为一个map

在这里插入图片描述item是OrderItem类型
在这里插入图片描述
购物车实体是存在order表的

2.后端代码:

2.1根据用户名小key,返回该用户的购物车

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
同个工程用@Autowired,不同工程用远程调用@Reference

2.2 对购物车进行增删改(代码逻辑比较复杂)

在这里插入图片描述CartServiceImpl实现此方法(有点多,但不难):

    @Override
    public void addItem(String username, String skuId, Integer num) {
   
        //实现思路: 遍历购物车,如果购物车中存在该商品则累加数量,如果不存在则添加购物车项
        //获取购物车
        List<Map<String, Object>> cartList = findCartList(username);

        boolean flag=false;//是否在购物车中存在
        for( Map map:cartList  ){
   
            OrderItem orderItem= (OrderItem)map.get("item");
            if(orderItem.getSkuId().equals(skuId)){
     //购物车存在该商品
                if( orderItem.getNum()<=0){
   
                    cartList.remove(map);
                    flag=true;
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值