From 9a035a797ef360dc474c518861e23bd02af4cd34 Mon Sep 17 00:00:00 2001 From: joowojr Date: Mon, 27 Jan 2025 22:21:28 +0900 Subject: [PATCH 1/3] =?UTF-8?q?CLAP-158=20Docs:=20=EC=8A=A4=EC=9B=A8?= =?UTF-8?q?=EA=B1=B0=20=EC=BB=A8=ED=8A=B8=EB=A1=A4=EB=9F=AC=20=EB=AA=85?= =?UTF-8?q?=EC=84=B8=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adapter/inbound/web/admin/AddCategoryController.java | 2 +- .../adapter/inbound/web/admin/ManageMemberController.java | 4 ++-- .../adapter/inbound/web/admin/RegisterMemberController.java | 2 +- .../clap/server/adapter/inbound/web/auth/AuthController.java | 2 +- .../adapter/inbound/web/auth/ReissueTokenController.java | 2 +- .../adapter/inbound/web/member/MemberInfoController.java | 2 +- .../adapter/inbound/web/member/ResetPasswordController.java | 2 +- .../inbound/web/notification/FindNotificationController.java | 2 +- .../web/notification/ManagementNotificationController.java | 2 +- .../inbound/web/statistics/FindStatisticsController.java | 2 +- .../adapter/inbound/web/task/ManagementTaskController.java | 2 +- .../server/adapter/inbound/web/task/TaskBoardController.java | 2 +- 12 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/main/java/clap/server/adapter/inbound/web/admin/AddCategoryController.java b/src/main/java/clap/server/adapter/inbound/web/admin/AddCategoryController.java index 1384546e..79c30bf0 100644 --- a/src/main/java/clap/server/adapter/inbound/web/admin/AddCategoryController.java +++ b/src/main/java/clap/server/adapter/inbound/web/admin/AddCategoryController.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; -@Tag(name = "카테고리 추가") +@Tag(name = "05. Admin", description = "[관리자] 카테고리 - 등록 API") @WebAdapter @RequiredArgsConstructor @RequestMapping("/api/managements") diff --git a/src/main/java/clap/server/adapter/inbound/web/admin/ManageMemberController.java b/src/main/java/clap/server/adapter/inbound/web/admin/ManageMemberController.java index 90cfd609..3091ddc0 100644 --- a/src/main/java/clap/server/adapter/inbound/web/admin/ManageMemberController.java +++ b/src/main/java/clap/server/adapter/inbound/web/admin/ManageMemberController.java @@ -15,14 +15,14 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; -@Tag(name = "회원 관리 - 수정/ 삭제") +@Tag(name = "05. Admin", description = "[관리자] 회원 수정 및 삭제 API") @WebAdapter @RequiredArgsConstructor @RequestMapping("/api/managements/members") public class ManageMemberController { private final ManageMemberUsecase manageMemberUsecase; - @Operation(summary = "단일 회원 등록 API") + @Operation(summary = "회원 정보 수정 API") @PostMapping("/{memberId}") @Secured("ROLE_ADMIN") public void registerMember(@AuthenticationPrincipal SecurityUserDetails userInfo, diff --git a/src/main/java/clap/server/adapter/inbound/web/admin/RegisterMemberController.java b/src/main/java/clap/server/adapter/inbound/web/admin/RegisterMemberController.java index 68081709..1cca41b1 100644 --- a/src/main/java/clap/server/adapter/inbound/web/admin/RegisterMemberController.java +++ b/src/main/java/clap/server/adapter/inbound/web/admin/RegisterMemberController.java @@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; -@Tag(name = "회원 관리 - 등록") +@Tag(name = "05. Admin", description = "[관리자] 회원 - 등록 API") @WebAdapter @RequiredArgsConstructor @RequestMapping("/api/managements") diff --git a/src/main/java/clap/server/adapter/inbound/web/auth/AuthController.java b/src/main/java/clap/server/adapter/inbound/web/auth/AuthController.java index 7e189ceb..4fb72829 100644 --- a/src/main/java/clap/server/adapter/inbound/web/auth/AuthController.java +++ b/src/main/java/clap/server/adapter/inbound/web/auth/AuthController.java @@ -18,7 +18,7 @@ import static clap.server.common.utils.ClientIpParseUtil.getClientIp; @Slf4j -@Tag(name = "로그인 / 로그아웃") +@Tag(name = "00. Auth", description = "로그인, 로그아웃 API") @WebAdapter @RequiredArgsConstructor @RequestMapping("/api/auths") diff --git a/src/main/java/clap/server/adapter/inbound/web/auth/ReissueTokenController.java b/src/main/java/clap/server/adapter/inbound/web/auth/ReissueTokenController.java index 8deff65a..f54dd7c6 100644 --- a/src/main/java/clap/server/adapter/inbound/web/auth/ReissueTokenController.java +++ b/src/main/java/clap/server/adapter/inbound/web/auth/ReissueTokenController.java @@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestMapping; -@Tag(name = "토큰 재발급") +@Tag(name = "00. Auth", description = "토큰 재발급 API") @WebAdapter @RequiredArgsConstructor @RequestMapping("/api/auths") diff --git a/src/main/java/clap/server/adapter/inbound/web/member/MemberInfoController.java b/src/main/java/clap/server/adapter/inbound/web/member/MemberInfoController.java index 96c35221..3633bb76 100644 --- a/src/main/java/clap/server/adapter/inbound/web/member/MemberInfoController.java +++ b/src/main/java/clap/server/adapter/inbound/web/member/MemberInfoController.java @@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; -@Tag(name = "회원 정보 조회/수정") +@Tag(name = "01. Member", description = "회원 정보 조회 및 수정 API") @WebAdapter @RequiredArgsConstructor @RequestMapping("/api/members") diff --git a/src/main/java/clap/server/adapter/inbound/web/member/ResetPasswordController.java b/src/main/java/clap/server/adapter/inbound/web/member/ResetPasswordController.java index 21aeaf65..b0d798ea 100644 --- a/src/main/java/clap/server/adapter/inbound/web/member/ResetPasswordController.java +++ b/src/main/java/clap/server/adapter/inbound/web/member/ResetPasswordController.java @@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; -@Tag(name = "비밀번호 재설정") +@Tag(name = "01. Member", description = "비밀번호 재설정 API") @WebAdapter @RequiredArgsConstructor @RequestMapping("/api") diff --git a/src/main/java/clap/server/adapter/inbound/web/notification/FindNotificationController.java b/src/main/java/clap/server/adapter/inbound/web/notification/FindNotificationController.java index 245648ec..2b47fd8c 100644 --- a/src/main/java/clap/server/adapter/inbound/web/notification/FindNotificationController.java +++ b/src/main/java/clap/server/adapter/inbound/web/notification/FindNotificationController.java @@ -19,7 +19,7 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -@Tag(name = "알림 관리 - 조회") +@Tag(name = "04. Notification", description = "알림 조회 API") @WebAdapter @RestController @RequestMapping("/api/notifications") diff --git a/src/main/java/clap/server/adapter/inbound/web/notification/ManagementNotificationController.java b/src/main/java/clap/server/adapter/inbound/web/notification/ManagementNotificationController.java index 7e41862c..951b131f 100644 --- a/src/main/java/clap/server/adapter/inbound/web/notification/ManagementNotificationController.java +++ b/src/main/java/clap/server/adapter/inbound/web/notification/ManagementNotificationController.java @@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -@Tag(name = "알림 읽음 처리") +@Tag(name = "04. Notification", description = "알림 읽음 처리 API") @WebAdapter @RestController @RequestMapping("/api/notification") diff --git a/src/main/java/clap/server/adapter/inbound/web/statistics/FindStatisticsController.java b/src/main/java/clap/server/adapter/inbound/web/statistics/FindStatisticsController.java index 742acb6e..eb212753 100644 --- a/src/main/java/clap/server/adapter/inbound/web/statistics/FindStatisticsController.java +++ b/src/main/java/clap/server/adapter/inbound/web/statistics/FindStatisticsController.java @@ -20,7 +20,7 @@ import static clap.server.exception.code.StatisticsErrorCode.STATISTICS_BAD_REQUEST; import static io.swagger.v3.oas.annotations.enums.ParameterIn.QUERY; -@Tag(name = "작업 관련 통계") +@Tag(name = "02. Task", description = "[담당자] 작업 통게 API") @WebAdapter @RequiredArgsConstructor @RequestMapping("/api/tasks/statistics") diff --git a/src/main/java/clap/server/adapter/inbound/web/task/ManagementTaskController.java b/src/main/java/clap/server/adapter/inbound/web/task/ManagementTaskController.java index 7a4c0f19..f8103e69 100644 --- a/src/main/java/clap/server/adapter/inbound/web/task/ManagementTaskController.java +++ b/src/main/java/clap/server/adapter/inbound/web/task/ManagementTaskController.java @@ -21,7 +21,7 @@ import java.util.List; -@Tag(name = "작업 생성 및 수정") +@Tag(name = "02. Task", description = "작업 생성/수정 API") @WebAdapter @RestController @RequiredArgsConstructor diff --git a/src/main/java/clap/server/adapter/inbound/web/task/TaskBoardController.java b/src/main/java/clap/server/adapter/inbound/web/task/TaskBoardController.java index e8d62005..0a983b80 100644 --- a/src/main/java/clap/server/adapter/inbound/web/task/TaskBoardController.java +++ b/src/main/java/clap/server/adapter/inbound/web/task/TaskBoardController.java @@ -19,7 +19,7 @@ import java.time.LocalDate; -@Tag(name = "작업 보드 조회 및 순서 변경") +@Tag(name = "02. Task", description = "[담당자] 작업 보드 API") @WebAdapter @RestController @RequiredArgsConstructor From 9d5ac000f87fbdb374e46bd251dd4e56e8eccb5a Mon Sep 17 00:00:00 2001 From: joowojr Date: Mon, 27 Jan 2025 22:25:19 +0900 Subject: [PATCH 2/3] =?UTF-8?q?CLAP-158=20Docs:=20=EC=8A=A4=EC=9B=A8?= =?UTF-8?q?=EA=B1=B0=20=EC=BB=A8=ED=8A=B8=EB=A1=A4=EB=9F=AC=20=EB=AA=85?= =?UTF-8?q?=EC=84=B8=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/adapter/inbound/web/admin/AddCategoryController.java | 2 +- .../adapter/inbound/web/admin/ManageMemberController.java | 2 +- .../adapter/inbound/web/admin/RegisterMemberController.java | 2 +- .../clap/server/adapter/inbound/web/auth/AuthController.java | 2 +- .../server/adapter/inbound/web/auth/ReissueTokenController.java | 2 +- .../adapter/inbound/web/member/ResetPasswordController.java | 2 +- .../inbound/web/notification/FindNotificationController.java | 2 +- .../web/notification/ManagementNotificationController.java | 2 +- .../inbound/web/statistics/FindStatisticsController.java | 2 +- .../server/adapter/inbound/web/task/TaskBoardController.java | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/main/java/clap/server/adapter/inbound/web/admin/AddCategoryController.java b/src/main/java/clap/server/adapter/inbound/web/admin/AddCategoryController.java index 79c30bf0..cbc554fa 100644 --- a/src/main/java/clap/server/adapter/inbound/web/admin/AddCategoryController.java +++ b/src/main/java/clap/server/adapter/inbound/web/admin/AddCategoryController.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; -@Tag(name = "05. Admin", description = "[관리자] 카테고리 - 등록 API") +@Tag(name = "05. Admin") @WebAdapter @RequiredArgsConstructor @RequestMapping("/api/managements") diff --git a/src/main/java/clap/server/adapter/inbound/web/admin/ManageMemberController.java b/src/main/java/clap/server/adapter/inbound/web/admin/ManageMemberController.java index 3091ddc0..69d0e02b 100644 --- a/src/main/java/clap/server/adapter/inbound/web/admin/ManageMemberController.java +++ b/src/main/java/clap/server/adapter/inbound/web/admin/ManageMemberController.java @@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; -@Tag(name = "05. Admin", description = "[관리자] 회원 수정 및 삭제 API") +@Tag(name = "05. Admin") @WebAdapter @RequiredArgsConstructor @RequestMapping("/api/managements/members") diff --git a/src/main/java/clap/server/adapter/inbound/web/admin/RegisterMemberController.java b/src/main/java/clap/server/adapter/inbound/web/admin/RegisterMemberController.java index 1cca41b1..50ebe29f 100644 --- a/src/main/java/clap/server/adapter/inbound/web/admin/RegisterMemberController.java +++ b/src/main/java/clap/server/adapter/inbound/web/admin/RegisterMemberController.java @@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; -@Tag(name = "05. Admin", description = "[관리자] 회원 - 등록 API") +@Tag(name = "05. Admin") @WebAdapter @RequiredArgsConstructor @RequestMapping("/api/managements") diff --git a/src/main/java/clap/server/adapter/inbound/web/auth/AuthController.java b/src/main/java/clap/server/adapter/inbound/web/auth/AuthController.java index 4fb72829..c14f4722 100644 --- a/src/main/java/clap/server/adapter/inbound/web/auth/AuthController.java +++ b/src/main/java/clap/server/adapter/inbound/web/auth/AuthController.java @@ -18,7 +18,7 @@ import static clap.server.common.utils.ClientIpParseUtil.getClientIp; @Slf4j -@Tag(name = "00. Auth", description = "로그인, 로그아웃 API") +@Tag(name = "00. Auth", description = "로그인, 로그아웃, 토큰 재발급 API") @WebAdapter @RequiredArgsConstructor @RequestMapping("/api/auths") diff --git a/src/main/java/clap/server/adapter/inbound/web/auth/ReissueTokenController.java b/src/main/java/clap/server/adapter/inbound/web/auth/ReissueTokenController.java index f54dd7c6..b59880cb 100644 --- a/src/main/java/clap/server/adapter/inbound/web/auth/ReissueTokenController.java +++ b/src/main/java/clap/server/adapter/inbound/web/auth/ReissueTokenController.java @@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestMapping; -@Tag(name = "00. Auth", description = "토큰 재발급 API") +@Tag(name = "00. Auth") @WebAdapter @RequiredArgsConstructor @RequestMapping("/api/auths") diff --git a/src/main/java/clap/server/adapter/inbound/web/member/ResetPasswordController.java b/src/main/java/clap/server/adapter/inbound/web/member/ResetPasswordController.java index b0d798ea..f7d896b9 100644 --- a/src/main/java/clap/server/adapter/inbound/web/member/ResetPasswordController.java +++ b/src/main/java/clap/server/adapter/inbound/web/member/ResetPasswordController.java @@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; -@Tag(name = "01. Member", description = "비밀번호 재설정 API") +@Tag(name = "01. Member") @WebAdapter @RequiredArgsConstructor @RequestMapping("/api") diff --git a/src/main/java/clap/server/adapter/inbound/web/notification/FindNotificationController.java b/src/main/java/clap/server/adapter/inbound/web/notification/FindNotificationController.java index 2b47fd8c..5dfc9b59 100644 --- a/src/main/java/clap/server/adapter/inbound/web/notification/FindNotificationController.java +++ b/src/main/java/clap/server/adapter/inbound/web/notification/FindNotificationController.java @@ -19,7 +19,7 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; -@Tag(name = "04. Notification", description = "알림 조회 API") +@Tag(name = "04. Notification") @WebAdapter @RestController @RequestMapping("/api/notifications") diff --git a/src/main/java/clap/server/adapter/inbound/web/notification/ManagementNotificationController.java b/src/main/java/clap/server/adapter/inbound/web/notification/ManagementNotificationController.java index 951b131f..255bfb9e 100644 --- a/src/main/java/clap/server/adapter/inbound/web/notification/ManagementNotificationController.java +++ b/src/main/java/clap/server/adapter/inbound/web/notification/ManagementNotificationController.java @@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -@Tag(name = "04. Notification", description = "알림 읽음 처리 API") +@Tag(name = "04. Notification") @WebAdapter @RestController @RequestMapping("/api/notification") diff --git a/src/main/java/clap/server/adapter/inbound/web/statistics/FindStatisticsController.java b/src/main/java/clap/server/adapter/inbound/web/statistics/FindStatisticsController.java index eb212753..29e0ebbe 100644 --- a/src/main/java/clap/server/adapter/inbound/web/statistics/FindStatisticsController.java +++ b/src/main/java/clap/server/adapter/inbound/web/statistics/FindStatisticsController.java @@ -20,7 +20,7 @@ import static clap.server.exception.code.StatisticsErrorCode.STATISTICS_BAD_REQUEST; import static io.swagger.v3.oas.annotations.enums.ParameterIn.QUERY; -@Tag(name = "02. Task", description = "[담당자] 작업 통게 API") +@Tag(name = "02. Task [담당자]", description = "작업 통계 API") @WebAdapter @RequiredArgsConstructor @RequestMapping("/api/tasks/statistics") diff --git a/src/main/java/clap/server/adapter/inbound/web/task/TaskBoardController.java b/src/main/java/clap/server/adapter/inbound/web/task/TaskBoardController.java index 0a983b80..b2a5a6ea 100644 --- a/src/main/java/clap/server/adapter/inbound/web/task/TaskBoardController.java +++ b/src/main/java/clap/server/adapter/inbound/web/task/TaskBoardController.java @@ -19,7 +19,7 @@ import java.time.LocalDate; -@Tag(name = "02. Task", description = "[담당자] 작업 보드 API") +@Tag(name = "02. Task [담당자]", description = " 작업 보드 API") @WebAdapter @RestController @RequiredArgsConstructor From 207a8890c1101e5134cd4031a83947cde0dd862c Mon Sep 17 00:00:00 2001 From: joowojr Date: Mon, 27 Jan 2025 22:41:19 +0900 Subject: [PATCH 3/3] =?UTF-8?q?CLAP-158=20Refactor:=20=ED=86=B5=EA=B3=84?= =?UTF-8?q?=20usecase=20=ED=86=B5=ED=95=A9=20=EB=B0=8F=20=EB=A7=A4?= =?UTF-8?q?=ED=95=91=20=EB=A1=9C=EC=A7=81=20=EA=B5=AC=ED=98=84=20=ED=81=B4?= =?UTF-8?q?=EB=9E=98=EC=8A=A4=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/statistics/StatisticsResponse.java | 4 +- .../statistics/FindStatisticsController.java | 43 ++++------------- .../response/FindTaskStatisticsMapper.java | 19 ++++++++ .../FindCategoryTaskRequestUsecase.java | 7 --- .../FindManagerTaskProcessUsecase.java | 7 --- .../FindPeriodTaskProcessUsecase.java | 7 --- .../FindPeriodTaskRequestUsecase.java | 7 --- .../FindSubCategoryTaskRequestUsecase.java | 6 ++- .../statistics/FindTaskProcessUsecase.java | 12 +++++ .../FindCategoryTaskRequestService.java | 19 -------- .../FindManagerTaskProcessService.java | 19 -------- .../FindPeriodTaskProcessService.java | 23 ---------- .../FindPeriodTaskRequestService.java | 23 ---------- .../FindSubCategoryTaskRequestService.java | 7 ++- .../statistics/FindTaskProcessService.java | 46 +++++++++++++++++++ 15 files changed, 98 insertions(+), 151 deletions(-) create mode 100644 src/main/java/clap/server/application/mapper/response/FindTaskStatisticsMapper.java delete mode 100644 src/main/java/clap/server/application/port/inbound/statistics/FindCategoryTaskRequestUsecase.java delete mode 100644 src/main/java/clap/server/application/port/inbound/statistics/FindManagerTaskProcessUsecase.java delete mode 100644 src/main/java/clap/server/application/port/inbound/statistics/FindPeriodTaskProcessUsecase.java delete mode 100644 src/main/java/clap/server/application/port/inbound/statistics/FindPeriodTaskRequestUsecase.java create mode 100644 src/main/java/clap/server/application/port/inbound/statistics/FindTaskProcessUsecase.java delete mode 100644 src/main/java/clap/server/application/statistics/FindCategoryTaskRequestService.java delete mode 100644 src/main/java/clap/server/application/statistics/FindManagerTaskProcessService.java delete mode 100644 src/main/java/clap/server/application/statistics/FindPeriodTaskProcessService.java delete mode 100644 src/main/java/clap/server/application/statistics/FindPeriodTaskRequestService.java create mode 100644 src/main/java/clap/server/application/statistics/FindTaskProcessService.java diff --git a/src/main/java/clap/server/adapter/inbound/web/dto/statistics/StatisticsResponse.java b/src/main/java/clap/server/adapter/inbound/web/dto/statistics/StatisticsResponse.java index 200f09ab..2024935a 100644 --- a/src/main/java/clap/server/adapter/inbound/web/dto/statistics/StatisticsResponse.java +++ b/src/main/java/clap/server/adapter/inbound/web/dto/statistics/StatisticsResponse.java @@ -1,5 +1,7 @@ package clap.server.adapter.inbound.web.dto.statistics; -public record StatisticsResponse(String key, long count) { +public record StatisticsResponse( + String key, + long count) { } \ No newline at end of file diff --git a/src/main/java/clap/server/adapter/inbound/web/statistics/FindStatisticsController.java b/src/main/java/clap/server/adapter/inbound/web/statistics/FindStatisticsController.java index 29e0ebbe..e84c0c75 100644 --- a/src/main/java/clap/server/adapter/inbound/web/statistics/FindStatisticsController.java +++ b/src/main/java/clap/server/adapter/inbound/web/statistics/FindStatisticsController.java @@ -25,11 +25,9 @@ @RequiredArgsConstructor @RequestMapping("/api/tasks/statistics") public class FindStatisticsController { - private final FindPeriodTaskRequestUsecase findPeriodTaskRequestUsecase; - private final FindPeriodTaskProcessUsecase findPeriodTaskProcessUsecase; - private final FindCategoryTaskRequestUsecase findCategoryTaskRequestUsecase; + private final FindTaskProcessUsecase findTaskProcessUsecase; private final FindSubCategoryTaskRequestUsecase findSubCategoryTaskRequestUsecase; - private final FindManagerTaskProcessUsecase findManagerTaskProcessUsecase; + @Operation(summary = "기본 통계 API") @Parameter(name = "periodType", description = "day, week, month", required = true, in = QUERY) @@ -38,32 +36,13 @@ public class FindStatisticsController { public ResponseEntity> aggregateTaskStatistics(@RequestParam PeriodType periodType, @RequestParam StatisticsType statisticsType) { switch (statisticsType) { case REQUEST_BY_PERIOD -> - ResponseEntity.ok(findPeriodTaskRequestUsecase - .aggregatePeriodTaskRequest(periodType.getType()) - .entrySet() - .stream() - .map(result -> new StatisticsResponse(result.getKey(), result.getValue())) - .toList()); - case PROCESS_BY_PERIOD -> - ResponseEntity.ok(findPeriodTaskProcessUsecase - .aggregatePeriodTaskProcess(periodType.getType()) - .entrySet() - .stream() - .map(result -> new StatisticsResponse(result.getKey(), result.getValue())) - .toList()); + ResponseEntity.ok(findTaskProcessUsecase.aggregatePeriodTaskRequest(periodType.getType())); + case PROCESS_BY_PERIOD -> ResponseEntity.ok(findTaskProcessUsecase + .aggregatePeriodTaskProcess(periodType.getType())); case REQUEST_BY_CATEGORY -> - ResponseEntity.ok(findCategoryTaskRequestUsecase.aggregateCategoryTaskRequest(periodType.getType()) - .entrySet() - .stream() - .map(result -> new StatisticsResponse(result.getKey(), result.getValue())) - .toList()); - case PROCESS_BY_MANAGER -> - ResponseEntity.ok(findManagerTaskProcessUsecase - .aggregateManagerTaskProcess(periodType.getType()) - .entrySet() - .stream() - .map(result -> new StatisticsResponse(result.getKey(), result.getValue())) - .toList()); + ResponseEntity.ok(findTaskProcessUsecase.aggregateCategoryTaskRequest(periodType.getType())); + case PROCESS_BY_MANAGER -> ResponseEntity.ok(findTaskProcessUsecase + .aggregateManagerTaskProcess(periodType.getType())); } throw new StatisticsException(STATISTICS_BAD_REQUEST); } @@ -74,10 +53,6 @@ public ResponseEntity> aggregateTaskStatistics(@Request @GetMapping("/subcategory") public ResponseEntity> aggregateSubCategoryTaskRequest(@RequestParam PeriodType periodType, @RequestParam String mainCategory) { return ResponseEntity.ok(findSubCategoryTaskRequestUsecase - .aggregateSubCategoryTaskRequest(periodType.getType(), mainCategory) - .entrySet() - .stream() - .map(result -> new StatisticsResponse(result.getKey(), result.getValue())) - .toList()); + .aggregateSubCategoryTaskRequest(periodType.getType(), mainCategory)); } } \ No newline at end of file diff --git a/src/main/java/clap/server/application/mapper/response/FindTaskStatisticsMapper.java b/src/main/java/clap/server/application/mapper/response/FindTaskStatisticsMapper.java new file mode 100644 index 00000000..30bc60bf --- /dev/null +++ b/src/main/java/clap/server/application/mapper/response/FindTaskStatisticsMapper.java @@ -0,0 +1,19 @@ +package clap.server.application.mapper.response; + +import clap.server.adapter.inbound.web.dto.statistics.StatisticsResponse; + +import java.util.List; +import java.util.Map; + +public class FindTaskStatisticsMapper { + private FindTaskStatisticsMapper() { + throw new IllegalArgumentException(); + } + + public static List toStatisticsResponse(Map map){ + return map.entrySet() + .stream() + .map(result -> new StatisticsResponse(result.getKey(), result.getValue())) + .toList(); + } +} diff --git a/src/main/java/clap/server/application/port/inbound/statistics/FindCategoryTaskRequestUsecase.java b/src/main/java/clap/server/application/port/inbound/statistics/FindCategoryTaskRequestUsecase.java deleted file mode 100644 index 6971efca..00000000 --- a/src/main/java/clap/server/application/port/inbound/statistics/FindCategoryTaskRequestUsecase.java +++ /dev/null @@ -1,7 +0,0 @@ -package clap.server.application.port.inbound.statistics; - -import java.util.Map; - -public interface FindCategoryTaskRequestUsecase { - Map aggregateCategoryTaskRequest(String period); -} diff --git a/src/main/java/clap/server/application/port/inbound/statistics/FindManagerTaskProcessUsecase.java b/src/main/java/clap/server/application/port/inbound/statistics/FindManagerTaskProcessUsecase.java deleted file mode 100644 index 84e31050..00000000 --- a/src/main/java/clap/server/application/port/inbound/statistics/FindManagerTaskProcessUsecase.java +++ /dev/null @@ -1,7 +0,0 @@ -package clap.server.application.port.inbound.statistics; - -import java.util.Map; - -public interface FindManagerTaskProcessUsecase { - Map aggregateManagerTaskProcess(String period); -} diff --git a/src/main/java/clap/server/application/port/inbound/statistics/FindPeriodTaskProcessUsecase.java b/src/main/java/clap/server/application/port/inbound/statistics/FindPeriodTaskProcessUsecase.java deleted file mode 100644 index 98e12781..00000000 --- a/src/main/java/clap/server/application/port/inbound/statistics/FindPeriodTaskProcessUsecase.java +++ /dev/null @@ -1,7 +0,0 @@ -package clap.server.application.port.inbound.statistics; - -import java.util.Map; - -public interface FindPeriodTaskProcessUsecase { - Map aggregatePeriodTaskProcess(String period); -} diff --git a/src/main/java/clap/server/application/port/inbound/statistics/FindPeriodTaskRequestUsecase.java b/src/main/java/clap/server/application/port/inbound/statistics/FindPeriodTaskRequestUsecase.java deleted file mode 100644 index 6577b1d1..00000000 --- a/src/main/java/clap/server/application/port/inbound/statistics/FindPeriodTaskRequestUsecase.java +++ /dev/null @@ -1,7 +0,0 @@ -package clap.server.application.port.inbound.statistics; - -import java.util.Map; - -public interface FindPeriodTaskRequestUsecase { - Map aggregatePeriodTaskRequest(String period); -} diff --git a/src/main/java/clap/server/application/port/inbound/statistics/FindSubCategoryTaskRequestUsecase.java b/src/main/java/clap/server/application/port/inbound/statistics/FindSubCategoryTaskRequestUsecase.java index 077d9aaf..ba27d4e8 100644 --- a/src/main/java/clap/server/application/port/inbound/statistics/FindSubCategoryTaskRequestUsecase.java +++ b/src/main/java/clap/server/application/port/inbound/statistics/FindSubCategoryTaskRequestUsecase.java @@ -1,7 +1,9 @@ package clap.server.application.port.inbound.statistics; -import java.util.Map; +import clap.server.adapter.inbound.web.dto.statistics.StatisticsResponse; + +import java.util.List; public interface FindSubCategoryTaskRequestUsecase { - Map aggregateSubCategoryTaskRequest(String period, String mainCategory); + List aggregateSubCategoryTaskRequest(String period, String mainCategory); } diff --git a/src/main/java/clap/server/application/port/inbound/statistics/FindTaskProcessUsecase.java b/src/main/java/clap/server/application/port/inbound/statistics/FindTaskProcessUsecase.java new file mode 100644 index 00000000..f32197a1 --- /dev/null +++ b/src/main/java/clap/server/application/port/inbound/statistics/FindTaskProcessUsecase.java @@ -0,0 +1,12 @@ +package clap.server.application.port.inbound.statistics; + +import clap.server.adapter.inbound.web.dto.statistics.StatisticsResponse; + +import java.util.List; + +public interface FindTaskProcessUsecase { + List aggregateCategoryTaskRequest(String period); + List aggregateManagerTaskProcess(String period); + List aggregatePeriodTaskProcess(String period); + List aggregatePeriodTaskRequest(String period); +} diff --git a/src/main/java/clap/server/application/statistics/FindCategoryTaskRequestService.java b/src/main/java/clap/server/application/statistics/FindCategoryTaskRequestService.java deleted file mode 100644 index 5ac4d2d0..00000000 --- a/src/main/java/clap/server/application/statistics/FindCategoryTaskRequestService.java +++ /dev/null @@ -1,19 +0,0 @@ -package clap.server.application.statistics; - -import clap.server.application.port.inbound.statistics.FindCategoryTaskRequestUsecase; -import clap.server.application.port.outbound.task.TaskDocumentPort; -import clap.server.common.annotation.architecture.ApplicationService; -import lombok.RequiredArgsConstructor; - -import java.util.Map; - -@ApplicationService -@RequiredArgsConstructor -public class FindCategoryTaskRequestService implements FindCategoryTaskRequestUsecase { - private final TaskDocumentPort taskDocumentPort; - - @Override - public Map aggregateCategoryTaskRequest(String period) { - return taskDocumentPort.findCategoryTaskRequestByPeriod(period); - } -} diff --git a/src/main/java/clap/server/application/statistics/FindManagerTaskProcessService.java b/src/main/java/clap/server/application/statistics/FindManagerTaskProcessService.java deleted file mode 100644 index 0ae2ae46..00000000 --- a/src/main/java/clap/server/application/statistics/FindManagerTaskProcessService.java +++ /dev/null @@ -1,19 +0,0 @@ -package clap.server.application.statistics; - -import clap.server.application.port.inbound.statistics.FindManagerTaskProcessUsecase; -import clap.server.application.port.outbound.task.TaskDocumentPort; -import clap.server.common.annotation.architecture.ApplicationService; -import lombok.RequiredArgsConstructor; - -import java.util.Map; - -@ApplicationService -@RequiredArgsConstructor -public class FindManagerTaskProcessService implements FindManagerTaskProcessUsecase { - private final TaskDocumentPort taskDocumentPort; - - @Override - public Map aggregateManagerTaskProcess(String period) { - return taskDocumentPort.findManagerTaskProcessByPeriod(period); - } -} diff --git a/src/main/java/clap/server/application/statistics/FindPeriodTaskProcessService.java b/src/main/java/clap/server/application/statistics/FindPeriodTaskProcessService.java deleted file mode 100644 index 7b94469e..00000000 --- a/src/main/java/clap/server/application/statistics/FindPeriodTaskProcessService.java +++ /dev/null @@ -1,23 +0,0 @@ -package clap.server.application.statistics; - -import clap.server.application.port.inbound.statistics.FindPeriodTaskProcessUsecase; -import clap.server.application.port.outbound.task.TaskDocumentPort; -import clap.server.common.annotation.architecture.ApplicationService; -import clap.server.domain.statistics.Statistics; -import lombok.RequiredArgsConstructor; - -import java.util.Map; - -@ApplicationService -@RequiredArgsConstructor -public class FindPeriodTaskProcessService implements FindPeriodTaskProcessUsecase { - private final TaskDocumentPort taskDocumentPort; - - @Override - public Map aggregatePeriodTaskProcess(String period) { - if (period.equals("week") || period.equals("month")) { - return Statistics.transformToWeekdayStatistics(taskDocumentPort.findPeriodTaskProcessByPeriod(period)); - } - return taskDocumentPort.findPeriodTaskProcessByPeriod(period); - } -} diff --git a/src/main/java/clap/server/application/statistics/FindPeriodTaskRequestService.java b/src/main/java/clap/server/application/statistics/FindPeriodTaskRequestService.java deleted file mode 100644 index f003dffd..00000000 --- a/src/main/java/clap/server/application/statistics/FindPeriodTaskRequestService.java +++ /dev/null @@ -1,23 +0,0 @@ -package clap.server.application.statistics; - -import clap.server.application.port.inbound.statistics.FindPeriodTaskRequestUsecase; -import clap.server.application.port.outbound.task.TaskDocumentPort; -import clap.server.common.annotation.architecture.ApplicationService; -import clap.server.domain.statistics.Statistics; -import lombok.RequiredArgsConstructor; - -import java.util.Map; - -@ApplicationService -@RequiredArgsConstructor -public class FindPeriodTaskRequestService implements FindPeriodTaskRequestUsecase { - private final TaskDocumentPort taskDocumentPort; - - @Override - public Map aggregatePeriodTaskRequest(String period) { - if (period.equals("week") || period.equals("month")) { - return Statistics.transformToWeekdayStatistics(taskDocumentPort.findPeriodTaskRequestByPeriod(period)); - } - return taskDocumentPort.findPeriodTaskRequestByPeriod(period); - } -} diff --git a/src/main/java/clap/server/application/statistics/FindSubCategoryTaskRequestService.java b/src/main/java/clap/server/application/statistics/FindSubCategoryTaskRequestService.java index 8ff93a52..688de788 100644 --- a/src/main/java/clap/server/application/statistics/FindSubCategoryTaskRequestService.java +++ b/src/main/java/clap/server/application/statistics/FindSubCategoryTaskRequestService.java @@ -1,10 +1,13 @@ package clap.server.application.statistics; +import clap.server.adapter.inbound.web.dto.statistics.StatisticsResponse; +import clap.server.application.mapper.response.FindTaskStatisticsMapper; import clap.server.application.port.inbound.statistics.FindSubCategoryTaskRequestUsecase; import clap.server.application.port.outbound.task.TaskDocumentPort; import clap.server.common.annotation.architecture.ApplicationService; import lombok.RequiredArgsConstructor; +import java.util.List; import java.util.Map; @ApplicationService @@ -13,7 +16,7 @@ public class FindSubCategoryTaskRequestService implements FindSubCategoryTaskReq private final TaskDocumentPort taskDocumentPort; @Override - public Map aggregateSubCategoryTaskRequest(String period, String mainCategory) { - return taskDocumentPort.findSubCategoryTaskRequestByPeriod(period, mainCategory); + public List aggregateSubCategoryTaskRequest(String period, String mainCategory) { + return FindTaskStatisticsMapper.toStatisticsResponse(taskDocumentPort.findSubCategoryTaskRequestByPeriod(period, mainCategory)); } } diff --git a/src/main/java/clap/server/application/statistics/FindTaskProcessService.java b/src/main/java/clap/server/application/statistics/FindTaskProcessService.java new file mode 100644 index 00000000..03b89082 --- /dev/null +++ b/src/main/java/clap/server/application/statistics/FindTaskProcessService.java @@ -0,0 +1,46 @@ +package clap.server.application.statistics; + +import clap.server.adapter.inbound.web.dto.statistics.StatisticsResponse; +import clap.server.application.mapper.response.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.statistics.Statistics; +import lombok.RequiredArgsConstructor; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.Map; + +@ApplicationService +@RequiredArgsConstructor +@Transactional(readOnly = true) +class FindTaskProcessService implements FindTaskProcessUsecase { + private final TaskDocumentPort taskDocumentPort; + + @Override + public List aggregateCategoryTaskRequest(String period) { + return FindTaskStatisticsMapper.toStatisticsResponse(taskDocumentPort.findCategoryTaskRequestByPeriod(period)); + } + + @Override + public List aggregateManagerTaskProcess(String period) { + return FindTaskStatisticsMapper.toStatisticsResponse(taskDocumentPort.findManagerTaskProcessByPeriod(period)); + } + + @Override + public List aggregatePeriodTaskProcess(String period) { + if (period.equals("week") || period.equals("month")) { + return Statistics.transformToWeekdayStatistics(taskDocumentPort.findPeriodTaskProcessByPeriod(period)); + } + return FindTaskStatisticsMapper.toStatisticsResponse(taskDocumentPort.findPeriodTaskProcessByPeriod(period)); + } + + @Override + public List aggregatePeriodTaskRequest(String period) { + if (period.equals("week") || period.equals("month")) { + return Statistics.transformToWeekdayStatistics(taskDocumentPort.findPeriodTaskRequestByPeriod(period)); + } + return FindTaskStatisticsMapper.toStatisticsResponse(taskDocumentPort.findPeriodTaskRequestByPeriod(period)); + } +}