diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/product/service/impl/ShopProductBaseServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/product/service/impl/ShopProductBaseServiceImpl.java index 842d9492..1a181369 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/product/service/impl/ShopProductBaseServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/product/service/impl/ShopProductBaseServiceImpl.java @@ -2060,7 +2060,11 @@ public class ShopProductBaseServiceImpl extends BaseServiceImpl productIndexList = shopProductIndexService.gets(product_id_row); + //List productIndexList = shopProductIndexService.gets(product_id_row); + //过滤过期的活动商品 start + List productIndexList = filterEndActivity(product_id_row); + //过滤过期的活动商品 end + List product_index_rows = Convert.toList(Map.class, productIndexList); List product_info_rows = Convert.toList(Map.class, shopProductInfoService.gets(product_id_row)); @@ -6572,5 +6576,37 @@ public class ShopProductBaseServiceImpl extends BaseServiceImpl filterEndActivity(List product_id_row){ + List productIndexList = shopProductIndexService.gets(product_id_row); + List hasActivityProductIds=productIndexList.stream(). + filter(shopProductIndex -> com.suisung.mall.common.utils.StringUtils.isNotEmpty(shopProductIndex.getActivity_type_ids())) + .map(ShopProductIndex::getProduct_id ) + .collect(Collectors.toList()); + if(hasActivityProductIds.isEmpty()){ + return productIndexList; + } + //过滤过期的活动商品 start + QueryWrapper queryWrapper = new QueryWrapper<>(); + List productIds=productIndexList.stream().map(ShopProductIndex::getProduct_id).collect(Collectors.toList()); + queryWrapper.in("product_id", productIds); + queryWrapper.eq("activity_item_state",StateCode.ACTIVITY_STATE_NORMAL); + List shopStoreActivityItems= shopStoreActivityItemService.list(queryWrapper); + Map activityNomalMap=new HashMap<>(); + shopStoreActivityItems.forEach(shopStoreActivityItem -> { + activityNomalMap.put(shopStoreActivityItem.getProduct_id(),shopStoreActivityItem.getActivity_id()); + }); + productIndexList=productIndexList.stream().peek(shopProductIndex -> { + if(null==activityNomalMap.get(shopProductIndex.getProduct_id())){ + shopProductIndex.setActivity_type_ids(""); + } + }).collect(Collectors.toList()); + //过滤过期的活动商品 end + return productIndexList; + } }