苍穹外卖day7作业-从购物车中减去商品

购物车其他功能代码

1. 删除购物车中一个商品
1.1 产品原型

1.2 接口设计

1.3 数据模型

shopping_cart表:

1.4 代码开发
1.4.1 ShoppingCartController
 /**
      * 删除购物车中一个商品
      * @param shoppingCartDTO
      * @return
 */
 @PostMapping("/sub")
 @ApiOperation("删除购物车中一个商品")
 public Result sub(@RequestBody ShoppingCartDTO shoppingCartDTO){
     log.info("删除购物车中一个商品,商品:{}", shoppingCartDTO);
     shoppingCartService.subShoppingCart(shoppingCartDTO);
     return Result.success();
 }

1.4.2 ShoppingCartService
 /**
      * 删除购物车中一个商品
      * @param shoppingCartDTO
 */
 void subShoppingCart(ShoppingCartDTO shoppingCartDTO);

1.4.3 ShoppingCartServiceImpl
 /**
      * 删除购物车中一个商品
      * @param shoppingCartDTO
 */
 public void subShoppingCart(ShoppingCartDTO shoppingCartDTO) {
     ShoppingCart shoppingCart = new ShoppingCart();
     BeanUtils.copyProperties(shoppingCartDTO,shoppingCart);
     //设置查询条件,查询当前登录用户的购物车数据
     shoppingCart.setUserId(BaseContext.getCurrentId());
 ​
     List<ShoppingCart> list = shoppingCartMapper.list(shoppingCart);
 ​
     if(list != null && list.size() > 0){
         shoppingCart = list.get(0);
 ​
         Integer number = shoppingCart.getNumber();
         if(number == 1){
             //当前商品在购物车中的份数为1,直接删除当前记录
             shoppingCartMapper.deleteById(shoppingCart.getId());
         }else {
             //当前商品在购物车中的份数不为1,修改份数即可
             shoppingCart.setNumber(shoppingCart.getNumber() - 1);
             shoppingCartMapper.updateNumberById(shoppingCart);
         }
     }
 }
1.4.4 ShoppingCartMapper
 /**
      * 根据id删除购物车数据
      * @param id
 */
 @Delete("delete from shopping_cart where id = #{id}")
 void deleteById(Long id);
  • 16
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值