From e54351e14a444df431c2a64894fac1bfa622d6a6 Mon Sep 17 00:00:00 2001 From: wonee1 Date: Wed, 3 Jun 2026 22:03:30 +0900 Subject: [PATCH] =?UTF-8?q?refactor=20:=20=EC=99=84=EC=88=98=EC=9C=A8=20?= =?UTF-8?q?=EB=A1=9C=EC=A7=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/MypageProjectHistoryService.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/capstone/pickIt/api/user/service/MypageProjectHistoryService.java b/src/main/java/com/capstone/pickIt/api/user/service/MypageProjectHistoryService.java index 45881097..b1775ecc 100644 --- a/src/main/java/com/capstone/pickIt/api/user/service/MypageProjectHistoryService.java +++ b/src/main/java/com/capstone/pickIt/api/user/service/MypageProjectHistoryService.java @@ -24,21 +24,21 @@ public class MypageProjectHistoryService { @Transactional(readOnly = true) public ProjectHistorySummaryResponseDTO getProjectHistorySummary(Long userId) { - long totalProjectCount = projectTeamMemberRepository.countConfirmedByUserId(userId); - - double averageScore = 0.0; - long doneProjectCount = projectTeamMemberRepository.countDoneConfirmedByUserId(userId); + List members = projectTeamMemberRepository + .findActiveConfirmedMembershipsWithTeamAndCourse(userId, ProjectTeamStatus.DONE); - if (totalProjectCount > 0) { - averageScore = (double) doneProjectCount / totalProjectCount * 100; - } + double averageScore = members.stream() + .mapToDouble(m -> m.getProjectTeam().getProgressRate() != null + ? m.getProjectTeam().getProgressRate().doubleValue() : 0.0) + .average() + .orElse(0.0); double averageContribution = peerReviewRepository .findAverageScoreByRevieweeId(userId) .doubleValue(); return ProjectHistorySummaryResponseDTO.builder() - .projectCount((int) doneProjectCount) // DONE 프로젝트만 반환 + .projectCount(members.size()) .averageScore(averageScore) .averageContribution(averageContribution) .build();