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 ec31388..9e7776e 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 @@ -35,6 +35,20 @@ public class ShoppingCartController { return Result.success(); } + /** + * 删除购物车一个商品 + * + * @param shoppingCartDTO ShoppingCartDTO + * @return Result + */ + @ApiOperation("删除购物车一个商品") + @PostMapping("/sub") + public Result sub(@RequestBody ShoppingCartDTO shoppingCartDTO) { + log.info("删除购物车一个商品:{}", shoppingCartDTO); + shoppingCartService.subShoppingCart(shoppingCartDTO); + return Result.success(); + } + /** * 查看购物车 * @@ -43,6 +57,7 @@ public class ShoppingCartController { @ApiOperation("查看购物车") @GetMapping("/list") public Result> list() { + log.info("查看购物车"); List list = shoppingCartService.showShoppingCart(); return Result.success(list); } @@ -55,6 +70,7 @@ public class ShoppingCartController { @ApiOperation("清空购物车") @DeleteMapping("/clean") public Result clean() { + log.info("清空购物车"); shoppingCartService.clean(); 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 1311f58..8df3347 100644 --- a/sky-server/src/main/java/com/sky/mapper/ShoppingCartMapper.java +++ b/sky-server/src/main/java/com/sky/mapper/ShoppingCartMapper.java @@ -8,7 +8,7 @@ import java.util.List; @Mapper public interface ShoppingCartMapper { /** - * 添加购物车 + * 查看购物车商品 * * @param shoppingCart ShoppingCart * @return List @@ -35,4 +35,11 @@ public interface ShoppingCartMapper { * @param userId 用户id */ void deleteByUserId(Long userId); + + /** + * 根据id删除购物车内容 + * + * @param 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 d6af803..f3eeddb 100644 --- a/sky-server/src/main/java/com/sky/service/ShoppingCartService.java +++ b/sky-server/src/main/java/com/sky/service/ShoppingCartService.java @@ -25,4 +25,11 @@ public interface ShoppingCartService { * 清空购物车 */ void clean(); + + /** + * 删除购物车一个商品 + * + * @param shoppingCartDTO 当前购物车信息 + */ + void subShoppingCart(ShoppingCartDTO shoppingCartDTO); } diff --git a/sky-server/src/main/java/com/sky/service/impl/ShoppingCartServiceImplImpl.java b/sky-server/src/main/java/com/sky/service/impl/ShoppingCartServiceImplImpl.java index 62bd024..df58b30 100644 --- a/sky-server/src/main/java/com/sky/service/impl/ShoppingCartServiceImplImpl.java +++ b/sky-server/src/main/java/com/sky/service/impl/ShoppingCartServiceImplImpl.java @@ -91,4 +91,33 @@ public class ShoppingCartServiceImplImpl implements ShoppingCartService { Long currentId = BaseContext.getCurrentId(); shoppingCartMapper.deleteByUserId(currentId); } + + /** + * 删除购物车一个商品 + * + * @param shoppingCartDTO 当前购物车信息 + */ + @Override + public void subShoppingCart(ShoppingCartDTO shoppingCartDTO) { + ShoppingCart shoppingCart = new ShoppingCart(); + BeanUtils.copyProperties(shoppingCartDTO, shoppingCart); + // 设置当前用户id + shoppingCart.setUserId(BaseContext.getCurrentId()); + List shoppingCartList = shoppingCartMapper.list(shoppingCart); + + if (shoppingCartList != null && !shoppingCartList.isEmpty()) { + // // 当前购物车 + shoppingCart = shoppingCartList.get(0); + Integer number = shoppingCart.getNumber(); + Long id = shoppingCart.getId(); + // 如果当前值为1直接删除 + if (number == 1) { + shoppingCartMapper.deleteById(id); + } else { + // 如果当前值不为1需要将数量减一 + shoppingCart.setNumber(shoppingCart.getNumber() - 1); + shoppingCartMapper.updateNumberById(shoppingCart); + } + } + } } diff --git a/sky-server/src/main/resources/mapper/ShoppingCart.xml b/sky-server/src/main/resources/mapper/ShoppingCart.xml index 0226996..42e9c65 100644 --- a/sky-server/src/main/resources/mapper/ShoppingCart.xml +++ b/sky-server/src/main/resources/mapper/ShoppingCart.xml @@ -23,7 +23,14 @@ where user_id = #{userId}; - + + + delete + from shopping_cart + where id = #{id}; + + +