From 511aafaf6b951640f4ed164a4dd5ad41ba3efb2e Mon Sep 17 00:00:00 2001 From: sunninz Date: Sat, 13 Sep 2025 10:42:34 +0900 Subject: [PATCH] =?UTF-8?q?:sparkles:=20(#307)=20lectureId=20=EA=B8=B0?= =?UTF-8?q?=EB=B0=98=20className=20=EC=A1=B0=ED=9A=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lecture/controller/LectureController.java | 8 +++++++- .../dto/response/ClassNameResponseDTO.java | 15 +++++++++++++++ .../domain/lecture/service/LectureService.java | 3 +++ .../lecture/service/LectureServiceImpl.java | 13 +++++++++++++ 4 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 backend/src/main/java/org/example/backend/domain/lecture/dto/response/ClassNameResponseDTO.java diff --git a/backend/src/main/java/org/example/backend/domain/lecture/controller/LectureController.java b/backend/src/main/java/org/example/backend/domain/lecture/controller/LectureController.java index 76a1e231..cf53df4c 100644 --- a/backend/src/main/java/org/example/backend/domain/lecture/controller/LectureController.java +++ b/backend/src/main/java/org/example/backend/domain/lecture/controller/LectureController.java @@ -101,4 +101,10 @@ public ApiResponse getStudentLectures(@RequestPa return ApiResponse.onSuccess(result); } -} + // lecture id로 class id 조회 + @GetMapping("/classes/{lectureId}") + public ApiResponse getClassId(@PathVariable("lectureId") UUID lectureId) { + ClassNameResponseDTO result = lectureService.getClassId(lectureId); + return ApiResponse.onSuccess(result); + } +} \ No newline at end of file diff --git a/backend/src/main/java/org/example/backend/domain/lecture/dto/response/ClassNameResponseDTO.java b/backend/src/main/java/org/example/backend/domain/lecture/dto/response/ClassNameResponseDTO.java new file mode 100644 index 00000000..363bd7b3 --- /dev/null +++ b/backend/src/main/java/org/example/backend/domain/lecture/dto/response/ClassNameResponseDTO.java @@ -0,0 +1,15 @@ +package org.example.backend.domain.lecture.dto.response; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; + + +@Getter +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ClassNameResponseDTO { + private String className; +} diff --git a/backend/src/main/java/org/example/backend/domain/lecture/service/LectureService.java b/backend/src/main/java/org/example/backend/domain/lecture/service/LectureService.java index a513b30d..b5203a51 100644 --- a/backend/src/main/java/org/example/backend/domain/lecture/service/LectureService.java +++ b/backend/src/main/java/org/example/backend/domain/lecture/service/LectureService.java @@ -1,6 +1,7 @@ package org.example.backend.domain.lecture.service; import org.example.backend.domain.lecture.dto.request.LectureRequestDTO; +import org.example.backend.domain.lecture.dto.response.ClassNameResponseDTO; import org.example.backend.domain.lecture.dto.response.LectureRecordingResponseDTO; import org.example.backend.domain.lecture.dto.response.LectureResponseDTO; import org.example.backend.domain.lecture.dto.response.TodayLectureResponseDTO; @@ -27,4 +28,6 @@ public interface LectureService { List mapNotes(UUID lectureId, List lectureNoteIds); List getClassListByProfessor(LocalDate date); + + ClassNameResponseDTO getClassId(UUID lectureId); } diff --git a/backend/src/main/java/org/example/backend/domain/lecture/service/LectureServiceImpl.java b/backend/src/main/java/org/example/backend/domain/lecture/service/LectureServiceImpl.java index 84333b6b..341b33ed 100644 --- a/backend/src/main/java/org/example/backend/domain/lecture/service/LectureServiceImpl.java +++ b/backend/src/main/java/org/example/backend/domain/lecture/service/LectureServiceImpl.java @@ -6,6 +6,7 @@ import org.example.backend.domain.classroom.repository.ClassroomRepository; import org.example.backend.domain.lecture.converter.LectureConverter; import org.example.backend.domain.lecture.dto.request.LectureRequestDTO; +import org.example.backend.domain.lecture.dto.response.ClassNameResponseDTO; import org.example.backend.domain.lecture.dto.response.LectureRecordingResponseDTO; import org.example.backend.domain.lecture.dto.response.LectureResponseDTO; import org.example.backend.domain.lecture.dto.response.TodayLectureResponseDTO; @@ -303,5 +304,17 @@ public void updateLectureSessions(UUID classId) { lectureRepository.saveAll(lectures); } + // 강의 id 기반 클래스 id 조회 + @Override + public ClassNameResponseDTO getClassId(UUID lectureId) { + // 1. 강의 조회 + Lecture lecture = lectureRepository.findById(lectureId) + .orElseThrow(() -> new LectureException(LectureErrorCode.LECTURE_NOT_FOUND)); + // 2. 클래스 조회 + Classroom classroom = lecture.getClassroom(); + return ClassNameResponseDTO.builder() + .className(classroom.getClassName()) + .build(); + } }