diff --git a/mall-portal/src/main/java/com/macro/mall/portal/controller/OmsCartItemController.java b/mall-portal/src/main/java/com/macro/mall/portal/controller/OmsCartItemController.java index 74af308..944e8a2 100644 --- a/mall-portal/src/main/java/com/macro/mall/portal/controller/OmsCartItemController.java +++ b/mall-portal/src/main/java/com/macro/mall/portal/controller/OmsCartItemController.java @@ -49,8 +49,8 @@ public class OmsCartItemController { @ApiOperation("获取某个会员的购物车列表,包括促销信息") @RequestMapping(value = "/list/promotion", method = RequestMethod.GET) @ResponseBody - public CommonResult> listPromotion() { - List cartPromotionItemList = cartItemService.listPromotion(memberService.getCurrentMember().getId()); + public CommonResult> listPromotion(@RequestParam(required = false) List cartIds) { + List cartPromotionItemList = cartItemService.listPromotion(memberService.getCurrentMember().getId(), cartIds); return CommonResult.success(cartPromotionItemList); } diff --git a/mall-portal/src/main/java/com/macro/mall/portal/service/OmsCartItemService.java b/mall-portal/src/main/java/com/macro/mall/portal/service/OmsCartItemService.java index ef401df..96da5dd 100644 --- a/mall-portal/src/main/java/com/macro/mall/portal/service/OmsCartItemService.java +++ b/mall-portal/src/main/java/com/macro/mall/portal/service/OmsCartItemService.java @@ -26,7 +26,7 @@ public interface OmsCartItemService { /** * 获取包含促销活动信息的购物车列表 */ - List listPromotion(Long memberId); + List listPromotion(Long memberId, List cartIds); /** * 修改某个购物车商品的数量 diff --git a/mall-portal/src/main/java/com/macro/mall/portal/service/impl/OmsCartItemServiceImpl.java b/mall-portal/src/main/java/com/macro/mall/portal/service/impl/OmsCartItemServiceImpl.java index 1f818e9..869678c 100644 --- a/mall-portal/src/main/java/com/macro/mall/portal/service/impl/OmsCartItemServiceImpl.java +++ b/mall-portal/src/main/java/com/macro/mall/portal/service/impl/OmsCartItemServiceImpl.java @@ -1,5 +1,6 @@ package com.macro.mall.portal.service.impl; +import cn.hutool.core.collection.CollUtil; import com.macro.mall.mapper.OmsCartItemMapper; import com.macro.mall.model.OmsCartItem; import com.macro.mall.model.OmsCartItemExample; @@ -18,6 +19,7 @@ import org.springframework.util.StringUtils; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.stream.Collectors; /** * 购物车管理Service实现类 @@ -78,8 +80,11 @@ public class OmsCartItemServiceImpl implements OmsCartItemService { } @Override - public List listPromotion(Long memberId) { + public List listPromotion(Long memberId, List cartIds) { List cartItemList = list(memberId); + if(CollUtil.isNotEmpty(cartIds)){ + cartItemList = cartItemList.stream().filter(item->cartIds.contains(item.getId())).collect(Collectors.toList()); + } List cartPromotionItemList = new ArrayList<>(); if(!CollectionUtils.isEmpty(cartItemList)){ cartPromotionItemList = promotionService.calcCartPromotion(cartItemList);