@@ -44,7 +44,7 @@ public LoadProductsByHashTagVoWrapper execute(
4444 productIdAndScoreList .stream ().filter (a -> a .getScore () < score ).toList ();
4545 }
4646
47- if (productIdAndScoreList .size () == 0 ) {
47+ if (productIdAndScoreList .isEmpty () ) {
4848 return LoadProductsByHashTagVoWrapper .of (List .of (), false , 0.0 );
4949 }
5050
@@ -58,6 +58,10 @@ public LoadProductsByHashTagVoWrapper execute(
5858 new FindByProductHashTagsQuery (hashtagList ));
5959 }
6060
61+ if (postProducts .isEmpty ()) {
62+ return LoadProductsByHashTagVoWrapper .of (List .of (), false , 0.0 );
63+ }
64+
6165 Map <Long , PostProduct > postProductMap =
6266 postProducts .stream ()
6367 .collect (
@@ -70,6 +74,8 @@ public LoadProductsByHashTagVoWrapper execute(
7074 int beforeSize = productIdAndScoreList .size ();
7175 Set <Long > tempProductIds =
7276 postProducts .stream ().map (PostProduct ::getId ).collect (Collectors .toSet ());
77+
78+ // 캐시에 존재하는 상품 중(인기순으로 정렬되어 있음), 해시태그와 관련 있는 상품만 조회 + limit 만큼 자르기
7379 List <ProductIdAndScoreVo > productIdAndScoreVoList =
7480 productIdAndScoreList .stream ()
7581 .filter (vo -> tempProductIds .contains (vo .getProductId ())) // DB에 존재하는 상품만
@@ -96,7 +102,8 @@ public LoadProductsByHashTagVoWrapper execute(
96102 loadProductAndUserLikeVos .stream ()
97103 .collect (
98104 Collectors .toMap (
99- LoadProductAndUserLikeVo ::getProductId , // key: productId
105+ LoadProductAndUserLikeVo ::getProductId , // key:
106+ // productId
100107 Function .identity () // value: 해당 PostProduct 객체 자체
101108 ));
102109
0 commit comments