文章目录
代码开发
查看购物车信息
修改前端请求
此请求之前在开发订单功能时注释过,现在给他还原
编写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("清空购物车成功");
}
运行测试
当前用户购物车被清空