Skip to content

Commit ac5ffd4

Browse files
committed
fix: 랭킹 조회에서 rank 재부여 제거, ZSET 원본 rank 사용
rank를 필터링 후 재부여하면 상품 상세 API의 dailyRank(ZREVRANK)와 불일치 발생. ZSET 원본 rank를 그대로 사용하여 두 API 간 일관성 확보. 삭제 상품이 있으면 rank에 빈 번호가 생기지만 순위 의미는 정확.
1 parent b616d56 commit ac5ffd4

File tree

1 file changed

+1
-3
lines changed

1 file changed

+1
-3
lines changed

apps/commerce-api/src/main/java/com/loopers/application/ranking/RankingFacade.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
import java.util.List;
1818
import java.util.Map;
1919
import java.util.Set;
20-
import java.util.concurrent.atomic.AtomicInteger;
2120
import java.util.stream.Collectors;
2221

2322
@Slf4j
@@ -65,15 +64,14 @@ private RankingInfo loadRankings(RankingPeriod period, LocalDate date, int page,
6564
.collect(Collectors.toSet());
6665
Map<Long, Product> productMap = productService.getProductsMapByIds(productIds);
6766

68-
AtomicInteger rank = new AtomicInteger(page * size + 1);
6967
List<RankingItem> items = entries.stream()
7068
.filter(e -> productMap.containsKey(e.productId()))
7169
.filter(e -> !productMap.get(e.productId()).isDeleted())
7270
.limit(size)
7371
.map(e -> {
7472
Product product = productMap.get(e.productId());
7573
return new RankingItem(
76-
rank.getAndIncrement(),
74+
e.rank(),
7775
e.score(),
7876
toSimpleInfo(product)
7977
);

0 commit comments

Comments
 (0)