From 6f8dd543f12b4b70a6f58a11907aa5c2ca45fe48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=B0=95=EC=84=B8=EC=A4=80?= <74056843+sejoon00@users.noreply.github.com> Date: Wed, 2 Apr 2025 23:29:33 +0900 Subject: [PATCH] =?UTF-8?q?[feat]=20=ED=99=88=ED=94=BC=EB=93=9C=20?= =?UTF-8?q?=EC=BD=94=EB=93=9C=20=EB=A7=88=EB=8B=A4=20=EB=A1=9C=EA=B7=B8?= =?UTF-8?q?=EB=A5=BC=20=EB=AA=A8=EB=91=90=20=EC=B0=8D=EC=96=B4=EC=9A=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/HomeFeedFacadeService.java | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/moplus/moplus_server/client/homefeed/service/HomeFeedFacadeService.java b/src/main/java/com/moplus/moplus_server/client/homefeed/service/HomeFeedFacadeService.java index ca31d72..41a6d70 100644 --- a/src/main/java/com/moplus/moplus_server/client/homefeed/service/HomeFeedFacadeService.java +++ b/src/main/java/com/moplus/moplus_server/client/homefeed/service/HomeFeedFacadeService.java @@ -38,23 +38,33 @@ public class HomeFeedFacadeService { @Transactional(readOnly = true) public HomeFeedResponse getHomeFeed(Member member) { + log.info("홈피드 조회 시작 - memberId: {}, 조회 기간: {} ~ {}", member.getId(), monday, friday); Long memberId = member.getId(); List publishes = publishGetService.getPublishesBetweenDates(monday, friday); + log.info("조회된 발행 개수: {}", publishes.size()); List dailyProgresses = getDailyProgresses(memberId, publishes); + log.info("일일 진행 현황 생성 완료 - 개수: {}", dailyProgresses.size()); + List problemSets = getWeekdayProblemSets(publishes); + log.info("문제 세트 응답 생성 완료 - 개수: {}", problemSets.size()); return HomeFeedResponse.of(dailyProgresses, problemSets); } private List getDailyProgresses(Long memberId, List publishes) { - Map progressStatuses = problemSubmitGetService.getProgressStatuses(memberId, - publishes); + log.info("일일 진행 현황 조회 시작 - memberId: {}", memberId); + + Map progressStatuses = problemSubmitGetService.getProgressStatuses(memberId, publishes); + log.info("진행 상태 조회 완료 - 상태 개수: {}", progressStatuses.size()); + progressStatuses.forEach((date, status) -> + log.info("진행 상태 - 날짜: {}, 상태: {}", date, status)); List responses = new ArrayList<>(); for (LocalDate date = monday; !date.isAfter(friday); date = date.plusDays(1)) { ProgressStatus status = progressStatuses.getOrDefault(date, ProgressStatus.NOT_STARTED); + log.info("일일 진행 현황 생성 - 날짜: {}, 상태: {}", date, status); responses.add(DailyProgressResponse.of(date, status)); } @@ -62,28 +72,36 @@ private List getDailyProgresses(Long memberId, List getWeekdayProblemSets(List publishes) { + log.info("주간 문제 세트 조회 시작 - 발행 개수: {}", publishes.size()); + Map publishByDate = publishes.stream() .collect(Collectors.toMap(Publish::getPublishedDate, publish -> publish)); + log.info("날짜별 발행 매핑 완료 - 매핑 개수: {}", publishByDate.size()); - // 발행된 문제 세트 정보 로깅 publishByDate.forEach((date, publish) -> - log.info("날짜: {}, 발행 ID: {}, 문제 세트 ID: {}", + log.info("발행 정보 - 날짜: {}, 발행 ID: {}, 문제 세트 ID: {}", date, publish.getId(), publish.getProblemSetId())); List problemSetIds = publishes.stream() .map(Publish::getProblemSetId) .toList(); + log.info("문제 세트 ID 추출 완료 - ID 목록: {}", problemSetIds); + Map problemSetMap = problemSetGetService.getProblemSets(problemSetIds).stream() .collect(Collectors.toMap(ProblemSetGetResponse::id, response -> response)); + log.info("문제 세트 정보 조회 완료 - 조회된 세트 개수: {}", problemSetMap.size()); List responses = new ArrayList<>(); for (LocalDate date = monday; !date.isAfter(friday); date = date.plusDays(1)) { + log.info("날짜별 응답 생성 시작 - 날짜: {}", date); + Publish publish = publishByDate.get(date); if (publish != null) { ProblemSetGetResponse problemSet = problemSetMap.get(publish.getProblemSetId()); Long submitCount = problemSetStatisticRepository.findById(problemSet.id()) .map(ProblemSetStatistic::getSubmitCount) .orElse(0L); + log.info("응답 생성 - 날짜: {}, 발행 ID: {}, 문제 세트 ID: {}, 제출 수: {}", date, publish.getId(), problemSet.id(), submitCount); responses.add(ProblemSetHomeFeedResponse.of(date, publish.getId(), problemSet, submitCount)); @@ -93,6 +111,7 @@ private List getWeekdayProblemSets(List pub } } + log.info("주간 문제 세트 응답 생성 완료 - 총 응답 개수: {}", responses.size()); return responses; } } \ No newline at end of file