Parcourir la source

购物车支持选择商品下单

macro il y a 4 ans
Parent
commit
e46a6f1aeb

+ 2 - 2
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<List<CartPromotionItem>> listPromotion() {
-        List<CartPromotionItem> cartPromotionItemList = cartItemService.listPromotion(memberService.getCurrentMember().getId());
+    public CommonResult<List<CartPromotionItem>> listPromotion(@RequestParam(required = false) List<Long> cartIds) {
+        List<CartPromotionItem> cartPromotionItemList = cartItemService.listPromotion(memberService.getCurrentMember().getId(), cartIds);
         return CommonResult.success(cartPromotionItemList);
     }
 

+ 1 - 1
mall-portal/src/main/java/com/macro/mall/portal/service/OmsCartItemService.java

@@ -26,7 +26,7 @@ public interface OmsCartItemService {
     /**
      * 获取包含促销活动信息的购物车列表
      */
-    List<CartPromotionItem> listPromotion(Long memberId);
+    List<CartPromotionItem> listPromotion(Long memberId, List<Long> cartIds);
 
     /**
      * 修改某个购物车商品的数量

+ 6 - 1
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<CartPromotionItem> listPromotion(Long memberId) {
+    public List<CartPromotionItem> listPromotion(Long memberId, List<Long> cartIds) {
         List<OmsCartItem> cartItemList = list(memberId);
+        if(CollUtil.isNotEmpty(cartIds)){
+            cartItemList = cartItemList.stream().filter(item->cartIds.contains(item.getId())).collect(Collectors.toList());
+        }
         List<CartPromotionItem> cartPromotionItemList = new ArrayList<>();
         if(!CollectionUtils.isEmpty(cartItemList)){
             cartPromotionItemList = promotionService.calcCartPromotion(cartItemList);