From 068e7f116de3df883ab28ec40fd82795703e6e5f Mon Sep 17 00:00:00 2001 From: bunny <1319900154@qq.com> Date: Thu, 28 Mar 2024 21:20:34 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=96=B0=E5=A2=9E):=20=E9=80=89=E4=B8=AD?= =?UTF-8?q?=E7=9A=84=E8=B4=AD=E7=89=A9=E8=BD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: bunny <1319900154@qq.com> --- .../cart/controller/CartController.java | 7 ++++++ .../com/atguigu/cart/service/CartService.java | 7 ++++++ .../cart/service/impl/CartServiceImpl.java | 23 +++++++++++++++++++ 3 files changed, 37 insertions(+) diff --git a/spzx-service/service-cart/src/main/java/com/atguigu/cart/controller/CartController.java b/spzx-service/service-cart/src/main/java/com/atguigu/cart/controller/CartController.java index fc84453..d08e0ad 100644 --- a/spzx-service/service-cart/src/main/java/com/atguigu/cart/controller/CartController.java +++ b/spzx-service/service-cart/src/main/java/com/atguigu/cart/controller/CartController.java @@ -62,4 +62,11 @@ public class CartController { cartService.clearCart(); return Result.success(); } + + @Operation(summary = "选中的购物车") + @GetMapping(value = "/auth/getAllCkecked") + public Result> getAllChecked() { + List cartInfoList = cartService.getAllChecked(); + return Result.success(cartInfoList); + } } \ No newline at end of file diff --git a/spzx-service/service-cart/src/main/java/com/atguigu/cart/service/CartService.java b/spzx-service/service-cart/src/main/java/com/atguigu/cart/service/CartService.java index a49cefc..f0e2d4c 100644 --- a/spzx-service/service-cart/src/main/java/com/atguigu/cart/service/CartService.java +++ b/spzx-service/service-cart/src/main/java/com/atguigu/cart/service/CartService.java @@ -46,4 +46,11 @@ public interface CartService { * 清空购物车 */ void clearCart(); + + /** + * 选中的购物车 + * + * @return CartInfo列表 + */ + List getAllChecked(); } diff --git a/spzx-service/service-cart/src/main/java/com/atguigu/cart/service/impl/CartServiceImpl.java b/spzx-service/service-cart/src/main/java/com/atguigu/cart/service/impl/CartServiceImpl.java index 0be0ce0..8e4d39b 100644 --- a/spzx-service/service-cart/src/main/java/com/atguigu/cart/service/impl/CartServiceImpl.java +++ b/spzx-service/service-cart/src/main/java/com/atguigu/cart/service/impl/CartServiceImpl.java @@ -157,4 +157,27 @@ public class CartServiceImpl implements CartService { String cartKey = RedisUtils.getCartKey(userId); redisTemplate.delete(cartKey); } + + /** + * 选中的购物车 + * + * @return CartInfo列表 + */ + @Override + public List getAllChecked() { + // 获取用户id + Long userId = BaseContext.getUserInfo().getId(); + String cartKey = RedisUtils.getCartKey(userId); + + // 根据key获取购物车所有商品 + List objectList = redisTemplate.opsForHash().values(cartKey); + + if (!CollectionUtils.isEmpty(objectList)) { + return objectList.stream() + .map(object -> JSON.parseObject(object.toString(), CartInfo.class)) + .filter(cartInfo -> cartInfo.getIsChecked() == 1) + .collect(Collectors.toList()); + } + return new ArrayList<>(); + } }