From cad14cc3b3004a2e776052efb5dd1308b75c3189 Mon Sep 17 00:00:00 2001 From: Jiwoo Date: Thu, 26 Jun 2025 05:46:00 +0900 Subject: [PATCH] feat: --- --- src/main/java/com/example/enjoy/dto/TrackProgressDto.java | 2 ++ .../example/enjoy/repository/StudentCourseRepository.java | 1 + .../com/example/enjoy/service/StudentDataService.java | 4 ++++ src/main/java/com/example/enjoy/service/TrackService.java | 8 +++++--- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/example/enjoy/dto/TrackProgressDto.java b/src/main/java/com/example/enjoy/dto/TrackProgressDto.java index 7b46b8b..c64ecb8 100644 --- a/src/main/java/com/example/enjoy/dto/TrackProgressDto.java +++ b/src/main/java/com/example/enjoy/dto/TrackProgressDto.java @@ -21,4 +21,6 @@ public class TrackProgressDto { private List completedCourses; // 이수한 과목 목록 private List remainingCourses; // 이수해야 할 남은 과목 목록 + + private boolean hasUploadedHistory; // 트랙 업로드 여부 } diff --git a/src/main/java/com/example/enjoy/repository/StudentCourseRepository.java b/src/main/java/com/example/enjoy/repository/StudentCourseRepository.java index 1154894..4bb727a 100644 --- a/src/main/java/com/example/enjoy/repository/StudentCourseRepository.java +++ b/src/main/java/com/example/enjoy/repository/StudentCourseRepository.java @@ -24,4 +24,5 @@ public interface StudentCourseRepository extends JpaRepository findAllByStudentIdAndManualIsTrue(String studentId); + boolean existsByStudentId(String studentId); } \ No newline at end of file diff --git a/src/main/java/com/example/enjoy/service/StudentDataService.java b/src/main/java/com/example/enjoy/service/StudentDataService.java index 9fa4a07..ca7112c 100644 --- a/src/main/java/com/example/enjoy/service/StudentDataService.java +++ b/src/main/java/com/example/enjoy/service/StudentDataService.java @@ -79,4 +79,8 @@ private StudentCourseStatus mapGradeToStatus(String grade) { default -> throw new IllegalArgumentException("잘못된 등급값: " + grade); }; } + + public boolean hasUploadedHistory(String studentId) { + return studentCourseRepository.existsByStudentId(studentId); + } } diff --git a/src/main/java/com/example/enjoy/service/TrackService.java b/src/main/java/com/example/enjoy/service/TrackService.java index 149e802..025dead 100644 --- a/src/main/java/com/example/enjoy/service/TrackService.java +++ b/src/main/java/com/example/enjoy/service/TrackService.java @@ -23,11 +23,12 @@ public class TrackService { private final TrackRepository trackRepository; - private final StudentCourseRepository studentCourseRepository; // 기존 기능 + private final StudentCourseRepository studentCourseRepository; public List calculateTrackProgress(String studentId) { - Set completedCourseNames = getCompletedCourseNames(studentId); // 이수 과목명 목록 + boolean hasUploaded = studentCourseRepository.existsByStudentId(studentId); + Set completedCourseNames = getCompletedCourseNames(studentId); // 이수 과목명 목록 List allTracks = trackRepository.findAll(); return allTracks.stream().map(track -> { @@ -51,7 +52,8 @@ public List calculateTrackProgress(String studentId) { courses.size(), completed.size() == courses.size(), completed, - remaining + remaining, + hasUploaded ); }).toList(); }