Bootstrap

瑞吉外卖(27)-查看购物车信息、清空购物车功能开发

代码开发

查看购物车信息

修改前端请求

此请求之前在开发订单功能时注释过,现在给他还原

在这里插入图片描述

编写ShoppingCartController.java

    /**
     * 查看购物车
     * @return
     */
    @GetMapping("/list")
    public R<List<ShoppingCart>> list(){
        log.info("查看购物车...");

        LambdaQueryWrapper<ShoppingCart> queryWrapper = new LambdaQueryWrapper<>();

        queryWrapper.eq(ShoppingCart::getUserId,BaseContext.getCurrentId());

        //最近添加的菜品,最上面来展示
        queryWrapper.orderByAsc(ShoppingCart::getCreateTime);

        List<ShoppingCart> list = shoppingCartService.list(queryWrapper);

        return R.success(list);
    }

注意createtime字段

在这里插入图片描述

功能测试

在这里插入图片描述

这里面的加号也会使我们的购物车加一

在这里插入图片描述
在这里插入图片描述

清空购物车

自己的思路与代码

分析前端请求

清空请求发来了“clean”,我们直接写后端controller就行了

在这里插入图片描述

ShoppingCartController.java
    /**
     * 清空购物车
     * @return
     */
    @DeleteMapping("/clean")
    public R<List<ShoppingCart>> clean(){
        log.info("清空购物车...");

        List list = null;

        return R.success(list);
    }
运行测试

emm,看起来没问题,但是…

在这里插入图片描述

后端数据库完全没反应…还是用LamdaQueryMapper吧
在这里插入图片描述

课程代码

    /**
     * 清空购物车
     * @return
     */
    @DeleteMapping("/clean")
    public R<String> clean(){
        log.info("清空购物车...");

        //SQL:delete from shopping_cart where user_id = ?
        LambdaQueryWrapper<ShoppingCart> queryWrapper = new LambdaQueryWrapper<>();
        //获得当前用户登录id
        queryWrapper.eq(ShoppingCart::getUserId,BaseContext.getCurrentId());

        shoppingCartService.remove(queryWrapper);

        return R.success("清空购物车成功");
    }
运行测试

在这里插入图片描述

当前用户购物车被清空

在这里插入图片描述

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;