苍穹外卖--删除购物车中一个商品
·
1.实现思路
产品原型:

接口设计:

2.实现代码
ShoppingCartController.java代码:
/**
* 删除购物车中一个商品
* @param shoppingCartDTO
* @return
*/
@PostMapping("/sub")
public Result sub(@RequestBody ShoppingCartDTO shoppingCartDTO){
log.info("删除购物车中一个商品,商品:{}",shoppingCartDTO);
shoppingCartService.subShoppingCart(shoppingCartDTO);
return Result.success();
}
ShoppingCartService.java代码:
/**
* 删除购物车中一个商品
* @param shoppingCartDTO
*/
void subShoppingCart(ShoppingCartDTO shoppingCartDTO);
ShoppingCartServiceImpl.java代码:
/**
* 删除购物车中一个商品
* @param shoppingCartDTO
*/
@Override
public void subShoppingCart(ShoppingCartDTO shoppingCartDTO) {
ShoppingCart shoppingCart = new ShoppingCart();
BeanUtils.copyProperties(shoppingCartDTO,shoppingCart);
shoppingCart.setUserId(BaseContext.getCurrentId());//获取当前用户的id
List<ShoppingCart> list = shoppingCartMapper.list(shoppingCart);//根据商品描述查询出商品出来
if (list != null && list.size() > 0){//判断集合不为空
shoppingCart = list.get(0);
if(shoppingCart.getNumber() == 1 ){//如果商品数量就是1,那就直接删除商品
shoppingCartMapper.deleteById(shoppingCart.getId());
}else {//如果商品数量不是1,那就将商品数量减1
shoppingCart.setNumber(shoppingCart.getNumber() - 1);
shoppingCartMapper.updateNumberById(shoppingCart);
}
}
}
ShoppingCartMapper.java代码:
/**
* 根据id删除购物车数据
* @param id
*/
@Delete("DELETE FROM shopping_cart WHERE id = #{id}")
void deleteById(Long id);
更多推荐



所有评论(0)