diff --git a/src/main/java/com/devkor/ifive/nadab/domain/stats/application/DailyStatsService.java b/src/main/java/com/devkor/ifive/nadab/domain/stats/application/DailyStatsService.java
index 307bf53c..f8f1b03a 100644
--- a/src/main/java/com/devkor/ifive/nadab/domain/stats/application/DailyStatsService.java
+++ b/src/main/java/com/devkor/ifive/nadab/domain/stats/application/DailyStatsService.java
@@ -74,15 +74,18 @@ public DailyStatsViewModel getDailyStats(LocalDate selectedDate) {
);
int selectedIndex = days.size() - 1;
- long sharedDailyReportCount = repo.countSharedDailyReports(selectedDate);
+ long selectedDateSharedDailyReportCount = repo.countSharedDailyReports(selectedDate);
DailyPeriodStatsViewModel selectedPeriod = new DailyPeriodStatsViewModel(
selectedDate.toString(),
selectedDate.toString(),
signupCounts.get(selectedIndex),
assignedCounts.get(selectedIndex),
completedCounts.get(selectedIndex),
- sharedDailyReportCount
+ selectedDateSharedDailyReportCount
);
+ long sharedDailyReportCount = selectedDate.equals(today)
+ ? selectedDateSharedDailyReportCount
+ : repo.countSharedDailyReports(today);
return new DailyStatsViewModel(
labels,
@@ -93,6 +96,7 @@ public DailyStatsViewModel getDailyStats(LocalDate selectedDate) {
signupPeak,
assignedQuestionPeak,
dauPeak,
+ sharedDailyReportCount,
OffsetDateTime.now(SEOUL).format(FMT)
);
}
diff --git a/src/main/java/com/devkor/ifive/nadab/domain/stats/core/dto/daily/DailyStatsViewModel.java b/src/main/java/com/devkor/ifive/nadab/domain/stats/core/dto/daily/DailyStatsViewModel.java
index 07f801f2..76c15a29 100644
--- a/src/main/java/com/devkor/ifive/nadab/domain/stats/core/dto/daily/DailyStatsViewModel.java
+++ b/src/main/java/com/devkor/ifive/nadab/domain/stats/core/dto/daily/DailyStatsViewModel.java
@@ -13,5 +13,6 @@ public record DailyStatsViewModel(
PeakStatViewModel signupPeak,
PeakStatViewModel assignedQuestionPeak,
PeakStatViewModel dauPeak,
+ long sharedDailyReportCount,
String refreshedAt // "2026-02-27 21:34:12"
) {}
diff --git a/src/main/resources/templates/stats/daily.html b/src/main/resources/templates/stats/daily.html
index e34109c6..59136b84 100644
--- a/src/main/resources/templates/stats/daily.html
+++ b/src/main/resources/templates/stats/daily.html
@@ -290,6 +290,14 @@
th:href="@{/stats/total}">전체
+
+
+
diff --git a/src/test/java/com/devkor/ifive/nadab/domain/stats/application/DailyStatsServiceTest.java b/src/test/java/com/devkor/ifive/nadab/domain/stats/application/DailyStatsServiceTest.java
index 75e178d5..60f100c9 100644
--- a/src/test/java/com/devkor/ifive/nadab/domain/stats/application/DailyStatsServiceTest.java
+++ b/src/test/java/com/devkor/ifive/nadab/domain/stats/application/DailyStatsServiceTest.java
@@ -37,6 +37,7 @@ void getDailyStats_anchors_chart_and_summary_to_selected_date() {
when(repo.findCompletedDailyReportCountsLast7Days(startDate, selectedDate))
.thenReturn(List.of(new DateCountDto(selectedDate, 9L)));
when(repo.countSharedDailyReports(selectedDate)).thenReturn(2L);
+ when(repo.countSharedDailyReports(today)).thenReturn(4L);
DailyStatsViewModel vm = service.getDailyStats(selectedDate);
@@ -51,9 +52,12 @@ void getDailyStats_anchors_chart_and_summary_to_selected_date() {
assertThat(vm.selectedPeriod().assignedQuestionCount()).isEqualTo(7L);
assertThat(vm.selectedPeriod().dauCount()).isEqualTo(9L);
assertThat(vm.selectedPeriod().sharedDailyReportCount()).isEqualTo(2L);
+ assertThat(vm.sharedDailyReportCount()).isEqualTo(4L);
verify(repo).findSignupCountsLast7Days(startDate, selectedDate);
verify(repo).findAssignedQuestionCountsLast7Days(startDate, selectedDate);
verify(repo).findCompletedDailyReportCountsLast7Days(startDate, selectedDate);
+ verify(repo).countSharedDailyReports(selectedDate);
+ verify(repo).countSharedDailyReports(today);
}
}
diff --git a/src/test/java/com/devkor/ifive/nadab/domain/stats/controller/StatsControllerTemplateTest.java b/src/test/java/com/devkor/ifive/nadab/domain/stats/controller/StatsControllerTemplateTest.java
index 432847d1..4a6a861e 100644
--- a/src/test/java/com/devkor/ifive/nadab/domain/stats/controller/StatsControllerTemplateTest.java
+++ b/src/test/java/com/devkor/ifive/nadab/domain/stats/controller/StatsControllerTemplateTest.java
@@ -73,6 +73,7 @@ void dailyStats_renders_peak_value_period_current_badge_and_empty_state() throws
currentPeak,
pastPeak,
PeakStatViewModel.empty(),
+ 4_321L,
"2026-08-13 12:00:00"
));
@@ -86,6 +87,8 @@ void dailyStats_renders_peak_value_period_current_badge_and_empty_state() throws
.andExpect(content().string(containsString("value=\"2026-08-13\"")))
.andExpect(content().string(containsString("할당된 질문 수")))
.andExpect(content().string(containsString("DAU · 일간 리포트 작성자")))
+ .andExpect(content().string(containsString("현재 공유 중인 일간 리포트")))
+ .andExpect(content().string(containsString("4,321")))
.andExpect(content().string(containsString("공유 중인 일간 리포트")))
.andExpect(content().string(containsString("역대 최고")))
.andExpect(content().string(containsString("1,234")))
@@ -94,6 +97,8 @@ void dailyStats_renders_peak_value_period_current_badge_and_empty_state() throws
.andExpect(content().string(containsString("기록 없음")))
.andReturn().getResponse().getContentAsString();
+ assertThat(html.indexOf("현재 공유 중인 일간 리포트"))
+ .isLessThan(html.indexOf("