Skip to content

Commit 1855942

Browse files
committed
feat: 랭킹 API 기간 파라미터 지원
1 parent d824c55 commit 1855942

2 files changed

Lines changed: 8 additions & 3 deletions

File tree

apps/commerce-api/src/main/java/com/loopers/interfaces/api/ranking/RankingV1ApiSpec.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ ApiResponse<RankingV1Dto.RankingResponse> getRankings(
1717
@Schema(description = "조회할 날짜(yyyyMMdd). 미입력 시 오늘 기준", example = "20251226")
1818
@RequestParam(required = false) String date,
1919

20+
@Schema(description = "조회 주기(daily, weekly, monthly)", example = "weekly")
21+
@RequestParam(defaultValue = "daily") String period,
22+
2023
@Schema(description = "페이지 번호", example = "0")
2124
@RequestParam(defaultValue = "0") int page,
2225

apps/commerce-api/src/main/java/com/loopers/interfaces/api/ranking/RankingV1Controller.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.loopers.interfaces.api.ranking;
22

33
import com.loopers.application.ranking.RankingFacade;
4+
import com.loopers.application.ranking.RankingPeriod;
45
import com.loopers.interfaces.api.ApiResponse;
56
import lombok.RequiredArgsConstructor;
67
import org.springframework.web.bind.annotation.GetMapping;
@@ -16,12 +17,13 @@ public class RankingV1Controller implements RankingV1ApiSpec {
1617

1718
@Override
1819
@GetMapping
19-
public ApiResponse<RankingV1Dto.RankingResponse> getRankings(String date, int page, int size) {
20+
public ApiResponse<RankingV1Dto.RankingResponse> getRankings(String date, String period, int page, int size) {
2021
int safePage = Math.max(page, 0);
2122
int safeSize = Math.max(size, 1);
22-
long total = rankingFacade.count(date);
23+
RankingPeriod rankingPeriod = RankingPeriod.from(period);
24+
long total = rankingFacade.count(date, rankingPeriod);
2325
return ApiResponse.success(RankingV1Dto.RankingResponse.from(
24-
rankingFacade.getRankingItems(date, safePage, safeSize),
26+
rankingFacade.getRankingItems(date, rankingPeriod, safePage, safeSize),
2527
safePage,
2628
safeSize,
2729
total

0 commit comments

Comments
 (0)