Skip to content

Commit 3c00df1

Browse files
committed
Inquiry monitoring history count by time
1 parent 00c8e9a commit 3c00df1

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

src/main/java/root/core/usecase/constracts/ReportUsecase.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,7 @@ <T extends MonitoringResult> List<T> getMonitoringReportData(Class<T> clazz, Str
1212

1313
<T extends MonitoringResult> Map<String, List<T>> getMonitoringReportDataByTime(Class<T> clazz, String alias,
1414
FileSize unit, int round, String inquiryDate);
15+
16+
<T extends MonitoringResult> Map<Integer, Long> getMonitoringReportCountByTime(Class<T> clazz, String alias,
17+
FileSize unit, int round, String inquiryDate);
1518
}

src/main/java/root/core/usecase/implement/ReportUsecaseImpl.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package root.core.usecase.implement;
22

33
import java.util.List;
4+
import java.util.Locale;
45
import java.util.Map;
56
import java.util.stream.Collectors;
67

@@ -9,6 +10,7 @@
910
import root.core.repository.constracts.ReportRepository;
1011
import root.core.usecase.constracts.ReportUsecase;
1112
import root.utils.CsvUtils;
13+
import root.utils.DateUtils;
1214
import root.utils.UnitUtils.FileSize;
1315

1416
@Slf4j
@@ -52,4 +54,23 @@ public <T extends MonitoringResult> Map<String, List<T>> getMonitoringReportData
5254
Collectors.mapping(m -> m, Collectors.toList())));
5355
}
5456

57+
@Override
58+
public <T extends MonitoringResult> Map<Integer, Long> getMonitoringReportCountByTime(Class<T> clazz,
59+
String alias, FileSize unit, int round, String inquiryDate) {
60+
61+
Map<Integer, Long> result = getMonitoringReportDataByTime(clazz, alias, unit, round, inquiryDate)
62+
.keySet()
63+
.stream()
64+
.collect(Collectors.groupingBy(
65+
m -> Integer.parseInt(DateUtils.convertDateFormat("yyyyMMddHHmmss", "HH", m, Locale.KOREA)),
66+
Collectors.counting()));
67+
68+
for (int i = 0; i < 24; i++) {
69+
if (!result.containsKey(i)) {
70+
result.put(i, 0L);
71+
}
72+
}
73+
74+
return result;
75+
}
5576
}

0 commit comments

Comments
 (0)