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<>(); + } }