diff --git a/sky-server/src/main/java/com/sky/controller/user/ShoppingCartController.java b/sky-server/src/main/java/com/sky/controller/user/ShoppingCartController.java index d57c0fc..b263ddf 100644 --- a/sky-server/src/main/java/com/sky/controller/user/ShoppingCartController.java +++ b/sky-server/src/main/java/com/sky/controller/user/ShoppingCartController.java @@ -45,4 +45,13 @@ public class ShoppingCartController { shoppingCartService.cleanShoppingCart(); return Result.success(); } + + + @PostMapping("/sub") + @ApiOperation("删除购物车中一个商品") + public Result subShoppingCart(@RequestBody ShoppingCartDTO shoppingCartDTO){ + log.info("删除购物车中一个商品"); + shoppingCartService.subShoppingCart(shoppingCartDTO); + return Result.success(); + } } diff --git a/sky-server/src/main/java/com/sky/mapper/ShoppingCartMapper.java b/sky-server/src/main/java/com/sky/mapper/ShoppingCartMapper.java index 41e56e2..a13c6ab 100644 --- a/sky-server/src/main/java/com/sky/mapper/ShoppingCartMapper.java +++ b/sky-server/src/main/java/com/sky/mapper/ShoppingCartMapper.java @@ -26,4 +26,7 @@ public interface ShoppingCartMapper { @Delete("delete from shopping_cart where user_id = #{userId}") void deleteByUserId(Long userId); + + @Delete("delete from shopping_cart where id = #{id}") + void deleteById(Long id); } diff --git a/sky-server/src/main/java/com/sky/service/ShoppingCartService.java b/sky-server/src/main/java/com/sky/service/ShoppingCartService.java index 25bdf92..e5d8197 100644 --- a/sky-server/src/main/java/com/sky/service/ShoppingCartService.java +++ b/sky-server/src/main/java/com/sky/service/ShoppingCartService.java @@ -20,4 +20,7 @@ public interface ShoppingCartService { 清空购物车 */ void cleanShoppingCart(); + + void subShoppingCart(ShoppingCartDTO shoppingCartDTO); + } diff --git a/sky-server/src/main/java/com/sky/service/impl/ShoppingCartServiceImpl.java b/sky-server/src/main/java/com/sky/service/impl/ShoppingCartServiceImpl.java index ec3a08b..f4d6c7a 100644 --- a/sky-server/src/main/java/com/sky/service/impl/ShoppingCartServiceImpl.java +++ b/sky-server/src/main/java/com/sky/service/impl/ShoppingCartServiceImpl.java @@ -113,4 +113,25 @@ public class ShoppingCartServiceImpl implements ShoppingCartService { shoppingCartMapper.deleteByUserId(BaseContext.getCurrentId()); } + + /* + 删除购物车中一个商品 + */ + @Override + public void subShoppingCart(ShoppingCartDTO shoppingCartDTO) { + ShoppingCart cart = new ShoppingCart(); + BeanUtils.copyProperties(shoppingCartDTO,cart); + cart.setUserId(BaseContext.getCurrentId()); + List cartList = shoppingCartMapper.list(cart); + if (cartList != null && cartList.size() > 0) { + cart = cartList.get(0); + + if (cart.getNumber() > 1) { + cart.setNumber(cart.getNumber() - 1); + shoppingCartMapper.updateNumberById(cart); + } else { + shoppingCartMapper.deleteById(cart.getId()); + } + } + } }