-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathFindTaskProcessService.java
More file actions
46 lines (39 loc) · 2.24 KB
/
FindTaskProcessService.java
File metadata and controls
46 lines (39 loc) · 2.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package clap.server.application.service.statistics;
import clap.server.adapter.inbound.web.dto.statistics.StatisticsResponse;
import clap.server.application.mapper.FindTaskStatisticsMapper;
import clap.server.application.port.inbound.statistics.FindTaskProcessUsecase;
import clap.server.application.port.outbound.task.TaskDocumentPort;
import clap.server.common.annotation.architecture.ApplicationService;
import clap.server.domain.policy.task.TaskStatisticsPolicy;
import lombok.RequiredArgsConstructor;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@ApplicationService
@RequiredArgsConstructor
@Transactional(readOnly = true)
public class FindTaskProcessService implements FindTaskProcessUsecase {
private final TaskDocumentPort taskDocumentPort;
private final TaskStatisticsPolicy taskStatisticsPolicy;
@Override
public List<StatisticsResponse> aggregateCategoryTaskRequest(String period) {
return FindTaskStatisticsMapper.toStatisticsResponse(taskDocumentPort.findCategoryTaskRequestByPeriod(period));
}
@Override
public List<StatisticsResponse> aggregateManagerTaskProcess(String period) {
return FindTaskStatisticsMapper.toStatisticsResponse(taskDocumentPort.findManagerTaskProcessByPeriod(period));
}
@Override
public List<StatisticsResponse> aggregatePeriodTaskProcess(String period) {
if (period.equals("week") || period.equals("month")) {
return FindTaskStatisticsMapper.toStatisticsResponse(taskStatisticsPolicy.formatStatistics(taskDocumentPort.findPeriodTaskProcessByPeriod(period)));
}
return FindTaskStatisticsMapper.toStatisticsResponse(taskStatisticsPolicy.formatDayStatistics(taskDocumentPort.findPeriodTaskProcessByPeriod(period)));
}
@Override
public List<StatisticsResponse> aggregatePeriodTaskRequest(String period) {
if (period.equals("week") || period.equals("month")) {
return FindTaskStatisticsMapper.toStatisticsResponse(taskStatisticsPolicy.formatStatistics(taskDocumentPort.findPeriodTaskRequestByPeriod(period)));
}
return FindTaskStatisticsMapper.toStatisticsResponse(taskStatisticsPolicy.formatDayStatistics(taskDocumentPort.findPeriodTaskRequestByPeriod(period)));
}
}