diff --git a/src/main/java/clap/server/adapter/inbound/web/task/TeamStatusController.java b/src/main/java/clap/server/adapter/inbound/web/task/TeamStatusController.java index 7781eff2..1296af47 100644 --- a/src/main/java/clap/server/adapter/inbound/web/task/TeamStatusController.java +++ b/src/main/java/clap/server/adapter/inbound/web/task/TeamStatusController.java @@ -15,7 +15,6 @@ import java.util.List; @Tag(name = "02. Task [담당자]") -@RestController @RequestMapping("/api/team-status") @RequiredArgsConstructor @WebAdapter diff --git a/src/main/java/clap/server/application/service/task/TeamStatusService.java b/src/main/java/clap/server/application/service/task/TeamStatusService.java index 6fc2be25..28c2b4d2 100644 --- a/src/main/java/clap/server/application/service/task/TeamStatusService.java +++ b/src/main/java/clap/server/application/service/task/TeamStatusService.java @@ -6,12 +6,12 @@ import clap.server.application.port.inbound.task.FilterTeamStatusUsecase; import clap.server.application.port.inbound.task.LoadTeamStatusUsecase; import clap.server.application.port.outbound.task.LoadTaskPort; -import org.springframework.stereotype.Service; +import clap.server.common.annotation.architecture.ApplicationService; import org.springframework.transaction.annotation.Transactional; import java.util.List; -@Service +@ApplicationService public class TeamStatusService implements LoadTeamStatusUsecase, FilterTeamStatusUsecase { private final LoadTaskPort loadTaskPort; @@ -33,10 +33,17 @@ public TeamStatusResponse getTeamStatus(Long memberId, FilterTeamStatusRequest f @Transactional(readOnly = true) public TeamStatusResponse filterTeamStatus(FilterTeamStatusRequest filter) { List members = loadTaskPort.findTeamStatus(null, filter); + if (members == null) { members = List.of(); } - return new TeamStatusResponse(members); + + // 전체 팀의 진행 중 & 검토 중 작업 수 계산 + int totalInProgressTaskCount = members.stream().mapToInt(TeamTaskResponse::inProgressTaskCount).sum(); + int totalInReviewingTaskCount = members.stream().mapToInt(TeamTaskResponse::inReviewingTaskCount).sum(); + + return new TeamStatusResponse(members, totalInProgressTaskCount, totalInReviewingTaskCount); } + }