Skip to content

Commit 38bcbe7

Browse files
committed
fix : 해시태그 기반 상품 조회 시 매칭되는 상품 없을 때 에러 발생하는 상황 수정
1 parent 7e2ccee commit 38bcbe7

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

src/main/java/com/ftm/server/application/service/post/LoadProductsByHashTagService.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)