Skip to content

Commit 9c00ceb

Browse files
committed
refactor: 중복된 날짜 계산 개선
1 parent 9ee243f commit 9c00ceb

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/repositories/leaderboard.repository.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ export class LeaderboardRepository {
1010
async getUserLeaderboard(sort: UserLeaderboardSortType, dateRange: number, limit: number) {
1111
try {
1212
const pastDateKST = getKSTDateStringWithOffset(-dateRange * 24 * 60);
13-
const cteQuery = this.buildLeaderboardCteQuery(dateRange);
13+
const cteQuery = this.buildLeaderboardCteQuery(dateRange, pastDateKST);
1414

1515
const query = `
1616
${cteQuery}
@@ -46,7 +46,7 @@ export class LeaderboardRepository {
4646
async getPostLeaderboard(sort: PostLeaderboardSortType, dateRange: number, limit: number) {
4747
try {
4848
const pastDateKST = getKSTDateStringWithOffset(-dateRange * 24 * 60);
49-
const cteQuery = this.buildLeaderboardCteQuery(dateRange);
49+
const cteQuery = this.buildLeaderboardCteQuery(dateRange, pastDateKST);
5050

5151
const query = `
5252
${cteQuery}
@@ -83,10 +83,11 @@ export class LeaderboardRepository {
8383
}
8484

8585
// 오늘 날짜와 기준 날짜의 통계를 가져오는 CTE(임시 결과 집합) 쿼리 빌드
86-
private buildLeaderboardCteQuery(dateRange: number) {
86+
private buildLeaderboardCteQuery(dateRange: number, pastDateKST?: string) {
8787
const nowDateKST = getCurrentKSTDateString();
88-
// 과거 날짜 계산 (dateRange일 전)
89-
const pastDateKST = getKSTDateStringWithOffset(-dateRange * 24 * 60);
88+
if (!pastDateKST) {
89+
pastDateKST = getKSTDateStringWithOffset(-dateRange * 24 * 60);
90+
}
9091

9192
return `
9293
WITH

0 commit comments

Comments
 (0)