From c9a91675e04cac93cd66f68c3606849d7ae2bcce Mon Sep 17 00:00:00 2001 From: suhhyun524 <2835223@ewhain.net> Date: Tue, 12 Mar 2024 00:08:48 +0900 Subject: [PATCH 1/4] =?UTF-8?q?[feat]=20=EC=BD=94=EC=8A=A4=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1,=20=EC=82=AD=EC=A0=9C,=20=EC=A2=8B=EC=95=84=EC=9A=94?= =?UTF-8?q?=20=EB=8F=84=EB=A9=94=EC=9D=B8=20=EB=B0=8F=20=EB=A0=88=ED=8F=AC?= =?UTF-8?q?=EC=A7=80=ED=86=A0=EB=A6=AC=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/course/domain/Category.java | 14 +++ .../backend/domain/course/domain/Course.java | 50 +++++++++++ .../domain/course/domain/CourseLike.java | 33 +++++++ .../domain/course/domain/CoursePlace.java | 47 ++++++++++ .../repository/CourseLikeRepository.java | 13 +++ .../repository/CoursePlaceRepository.java | 11 +++ .../course/repository/CourseRepository.java | 7 ++ .../domain/course/service/CourseService.java | 90 +++++++++++++++++++ 8 files changed, 265 insertions(+) create mode 100644 src/main/java/sungdong29/backend/domain/course/domain/Category.java create mode 100644 src/main/java/sungdong29/backend/domain/course/domain/Course.java create mode 100644 src/main/java/sungdong29/backend/domain/course/domain/CourseLike.java create mode 100644 src/main/java/sungdong29/backend/domain/course/domain/CoursePlace.java create mode 100644 src/main/java/sungdong29/backend/domain/course/repository/CourseLikeRepository.java create mode 100644 src/main/java/sungdong29/backend/domain/course/repository/CoursePlaceRepository.java create mode 100644 src/main/java/sungdong29/backend/domain/course/repository/CourseRepository.java create mode 100644 src/main/java/sungdong29/backend/domain/course/service/CourseService.java diff --git a/src/main/java/sungdong29/backend/domain/course/domain/Category.java b/src/main/java/sungdong29/backend/domain/course/domain/Category.java new file mode 100644 index 0000000..5d31b0e --- /dev/null +++ b/src/main/java/sungdong29/backend/domain/course/domain/Category.java @@ -0,0 +1,14 @@ +package sungdong29.backend.domain.course.domain; + +import lombok.Getter; +import lombok.RequiredArgsConstructor; + +@Getter +@RequiredArgsConstructor +public enum Category { + + C1("카테고리1"), + C2("키테고리2"); + + private final String category; +} diff --git a/src/main/java/sungdong29/backend/domain/course/domain/Course.java b/src/main/java/sungdong29/backend/domain/course/domain/Course.java new file mode 100644 index 0000000..b3e8a85 --- /dev/null +++ b/src/main/java/sungdong29/backend/domain/course/domain/Course.java @@ -0,0 +1,50 @@ +package sungdong29.backend.domain.course.domain; + +import jakarta.persistence.*; +import lombok.AccessLevel; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import sungdong29.backend.domain.course.dto.request.CourseCreateRequestDTO; +import sungdong29.backend.domain.user.domain.User; + + +@Entity +@Getter +@NoArgsConstructor(access = AccessLevel.PROTECTED) +public class Course { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @ManyToOne + @JoinColumn(name = "user_id") + private User user; + + @Column + private String name; + + @Column + private Category category; + + @Column + private String description; + + @Builder + private Course(User user, String name, Category category, String description) { + this.user = user; + this.name = name; + this.category = category; + this.description = description; + } + + public static Course of(User user, CourseCreateRequestDTO courseCreateRequestDTO) { + return Course.builder() + .user(user) + .name(courseCreateRequestDTO.getTitle()) + .category(courseCreateRequestDTO.getCategory()) + .description(courseCreateRequestDTO.getDescription()) + .build(); + } +} diff --git a/src/main/java/sungdong29/backend/domain/course/domain/CourseLike.java b/src/main/java/sungdong29/backend/domain/course/domain/CourseLike.java new file mode 100644 index 0000000..c6a6fad --- /dev/null +++ b/src/main/java/sungdong29/backend/domain/course/domain/CourseLike.java @@ -0,0 +1,33 @@ +package sungdong29.backend.domain.course.domain; + +import jakarta.persistence.*; +import lombok.Builder; +import sungdong29.backend.domain.user.domain.User; + +public class CourseLike { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @ManyToOne + @JoinColumn(name = "course_id") + private Course course; + + @ManyToOne + @JoinColumn(name = "user_id") + private User user; + + @Builder + public CourseLike(Course course, User user) { + this.course = course; + this.user = user; + } + + public static CourseLike of(Course course, User user) { + return CourseLike.builder() + .course(course) + .user(user) + .build(); + } +} diff --git a/src/main/java/sungdong29/backend/domain/course/domain/CoursePlace.java b/src/main/java/sungdong29/backend/domain/course/domain/CoursePlace.java new file mode 100644 index 0000000..e672cf1 --- /dev/null +++ b/src/main/java/sungdong29/backend/domain/course/domain/CoursePlace.java @@ -0,0 +1,47 @@ +package sungdong29.backend.domain.course.domain; + +import jakarta.persistence.*; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import sungdong29.backend.domain.place.domain.Place; + +@Entity +@Getter +@NoArgsConstructor(access = lombok.AccessLevel.PROTECTED) +public class CoursePlace { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @ManyToOne(cascade = CascadeType.ALL) + @JoinColumn(name = "course_id") + private Course course; + + @ManyToOne + @JoinColumn(name = "place_id", nullable = true) + private Place place; + + @Column + private int orderNumber; + + @Builder + private CoursePlace(Course course, Place place, int orderNumber) { + this.course = course; + this.place = place; + this.orderNumber = orderNumber; + } + + public static CoursePlace of(Course course, Place place, int orderNumber) { + return CoursePlace.builder() + .course(course) + .place(place) + .orderNumber(orderNumber) + .build(); + } + + public void updateOrderNumber(int orderNumber) { + this.orderNumber = orderNumber; + } +} diff --git a/src/main/java/sungdong29/backend/domain/course/repository/CourseLikeRepository.java b/src/main/java/sungdong29/backend/domain/course/repository/CourseLikeRepository.java new file mode 100644 index 0000000..758e860 --- /dev/null +++ b/src/main/java/sungdong29/backend/domain/course/repository/CourseLikeRepository.java @@ -0,0 +1,13 @@ +package sungdong29.backend.domain.course.repository; + +import org.springframework.data.jpa.repository.JpaRepository; +import sungdong29.backend.domain.course.domain.Course; +import sungdong29.backend.domain.course.domain.CourseLike; +import sungdong29.backend.domain.user.domain.User; + +public interface CourseLikeRepository extends JpaRepository { + + boolean existsByCourseAndUser(Course course, User user); + + void deleteByCourseAndUser(Course course, User user); +} diff --git a/src/main/java/sungdong29/backend/domain/course/repository/CoursePlaceRepository.java b/src/main/java/sungdong29/backend/domain/course/repository/CoursePlaceRepository.java new file mode 100644 index 0000000..db3752c --- /dev/null +++ b/src/main/java/sungdong29/backend/domain/course/repository/CoursePlaceRepository.java @@ -0,0 +1,11 @@ +package sungdong29.backend.domain.course.repository; + +import org.springframework.data.jpa.repository.JpaRepository; +import sungdong29.backend.domain.course.domain.Course; +import sungdong29.backend.domain.course.domain.CoursePlace; + +import java.util.List; + +public interface CoursePlaceRepository extends JpaRepository { + List findByCourse(Course course); +} diff --git a/src/main/java/sungdong29/backend/domain/course/repository/CourseRepository.java b/src/main/java/sungdong29/backend/domain/course/repository/CourseRepository.java new file mode 100644 index 0000000..337db9e --- /dev/null +++ b/src/main/java/sungdong29/backend/domain/course/repository/CourseRepository.java @@ -0,0 +1,7 @@ +package sungdong29.backend.domain.course.repository; + +import org.springframework.data.jpa.repository.JpaRepository; +import sungdong29.backend.domain.course.domain.Course; + +public interface CourseRepository extends JpaRepository { +} diff --git a/src/main/java/sungdong29/backend/domain/course/service/CourseService.java b/src/main/java/sungdong29/backend/domain/course/service/CourseService.java new file mode 100644 index 0000000..ee2eb82 --- /dev/null +++ b/src/main/java/sungdong29/backend/domain/course/service/CourseService.java @@ -0,0 +1,90 @@ +package sungdong29.backend.domain.course.service; + +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import sungdong29.backend.domain.course.domain.Course; +import sungdong29.backend.domain.course.domain.CourseLike; +import sungdong29.backend.domain.course.domain.CoursePlace; +import sungdong29.backend.domain.course.dto.request.CourseCreateRequestDTO; +import sungdong29.backend.domain.course.dto.response.CourseIdResponseDTO; +import sungdong29.backend.domain.course.exception.CourseNotFound; +import sungdong29.backend.domain.course.repository.CourseLikeRepository; +import sungdong29.backend.domain.course.repository.CoursePlaceRepository; +import sungdong29.backend.domain.course.repository.CourseRepository; +import sungdong29.backend.domain.place.domain.Place; +import sungdong29.backend.domain.place.exception.PlaceNotFound; +import sungdong29.backend.domain.place.repository.PlaceRepository; +import sungdong29.backend.domain.user.domain.User; +import sungdong29.backend.global.config.user.UserDetails; + +import java.util.List; + +@Service +@RequiredArgsConstructor +public class CourseService { + + private final CourseRepository courseRepository; + private final PlaceRepository placeRepository; + private final CoursePlaceRepository coursePlaceRepository; + private final CourseLikeRepository courseLikeRepository; + + public CourseIdResponseDTO createCourse(UserDetails userDetails, CourseCreateRequestDTO courseCreateRequestDTO) { + User user = userDetails.getUser(); + + // Course 객체 생성 + Course course = Course.of(user, courseCreateRequestDTO); + + // CoursePlace 객체 생성 + int orderNum = 1; + for (Long placeId : courseCreateRequestDTO.getPlaceIds()) { + Place place = placeRepository.findById(placeId) + .orElseThrow(() -> PlaceNotFound.EXCEPTION); + CoursePlace coursePlace = CoursePlace.of(course, place, orderNum++); + coursePlaceRepository.save(coursePlace); + } + return CourseIdResponseDTO.from(course.getId()); + } + + public CourseIdResponseDTO updateCourse(UserDetails userDetails, Long courseId, CourseCreateRequestDTO courseInfoRequestDTO) { + User user = userDetails.getUser(); + Course course = courseRepository.findById(courseId) + .orElseThrow(() -> CourseNotFound.EXCEPTION); + List coursePlaces = coursePlaceRepository.findByCourse(course); + + for (int i = 0; i < courseInfoRequestDTO.getPlaceIds().size(); i++) { + Long placeId = courseInfoRequestDTO.getPlaceIds().get(i); + Place place = placeRepository.findById(placeId) + .orElseThrow(() -> PlaceNotFound.EXCEPTION); + + // 코스에 장소가 최대 5가지일때는 이 방법이 괜찮겠지만 장소가 더 많아질 경우에는 이 방법이 적합하지 않을 것 같음 + if (place != coursePlaces.get(i).getPlace()) { + CoursePlace coursePlace = CoursePlace.of(course, place, i + 1); + coursePlaceRepository.save(coursePlace); + } + + } + + // 수정중 + + return CourseIdResponseDTO.from(course.getId()); + } + + public void deleteCourse(UserDetails userDetails, Long courseId) { + User user = userDetails.getUser(); + Course course = courseRepository.findById(courseId) + .orElseThrow(() -> CourseNotFound.EXCEPTION); + courseRepository.delete(course); + } + + public void changeCourseLike(UserDetails userDetails, Long courseId) { + User user = userDetails.getUser(); + Course course = courseRepository.findById(courseId) + .orElseThrow(() -> CourseNotFound.EXCEPTION); + + if (courseLikeRepository.existsByCourseAndUser(course, user)) { + courseLikeRepository.deleteByCourseAndUser(course, user); + } else { + CourseLike.of(course, user); + } + } +} From 473a4738559d09b2509130cd162e2602c61a4194 Mon Sep 17 00:00:00 2001 From: suhhyun524 <2835223@ewhain.net> Date: Tue, 12 Mar 2024 00:09:08 +0900 Subject: [PATCH 2/4] =?UTF-8?q?[feat]=20=EC=BD=94=EC=8A=A4=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1,=20=EC=82=AD=EC=A0=9C,=20=EC=A2=8B=EC=95=84=EC=9A=94?= =?UTF-8?q?=20DTO=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/request/CourseCreateRequestDTO.java | 27 +++++++++++++++++++ .../dto/request/CourseInfoRequestDTO.java | 27 +++++++++++++++++++ .../dto/response/CourseIdResponseDTO.java | 21 +++++++++++++++ 3 files changed, 75 insertions(+) create mode 100644 src/main/java/sungdong29/backend/domain/course/dto/request/CourseCreateRequestDTO.java create mode 100644 src/main/java/sungdong29/backend/domain/course/dto/request/CourseInfoRequestDTO.java create mode 100644 src/main/java/sungdong29/backend/domain/course/dto/response/CourseIdResponseDTO.java diff --git a/src/main/java/sungdong29/backend/domain/course/dto/request/CourseCreateRequestDTO.java b/src/main/java/sungdong29/backend/domain/course/dto/request/CourseCreateRequestDTO.java new file mode 100644 index 0000000..fe76b6e --- /dev/null +++ b/src/main/java/sungdong29/backend/domain/course/dto/request/CourseCreateRequestDTO.java @@ -0,0 +1,27 @@ +package sungdong29.backend.domain.course.dto.request; + +import lombok.Builder; +import lombok.Getter; +import sungdong29.backend.domain.course.domain.Category; + +import java.util.List; + +@Getter +public class CourseCreateRequestDTO { + + private String title; + + private Category category; + + private String description; + + private List placeIds; + + @Builder + private CourseCreateRequestDTO(String title, Category category, String description, List placeIds) { + this.title = title; + this.category = category; + this.description = description; + this.placeIds = placeIds; + } +} \ No newline at end of file diff --git a/src/main/java/sungdong29/backend/domain/course/dto/request/CourseInfoRequestDTO.java b/src/main/java/sungdong29/backend/domain/course/dto/request/CourseInfoRequestDTO.java new file mode 100644 index 0000000..41837ea --- /dev/null +++ b/src/main/java/sungdong29/backend/domain/course/dto/request/CourseInfoRequestDTO.java @@ -0,0 +1,27 @@ +package sungdong29.backend.domain.course.dto.request; + +import lombok.Builder; +import lombok.Getter; +import sungdong29.backend.domain.course.domain.Category; + +import java.util.List; + +@Getter +public class CourseInfoRequestDTO { + + private String title; + + private Category category; + + private String description; + + private List coursePlaceIds; + + @Builder + private CourseInfoRequestDTO(String title, Category category, String description, List coursePlaceIds) { + this.title = title; + this.category = category; + this.description = description; + this.coursePlaceIds = coursePlaceIds; + } +} \ No newline at end of file diff --git a/src/main/java/sungdong29/backend/domain/course/dto/response/CourseIdResponseDTO.java b/src/main/java/sungdong29/backend/domain/course/dto/response/CourseIdResponseDTO.java new file mode 100644 index 0000000..cb01da4 --- /dev/null +++ b/src/main/java/sungdong29/backend/domain/course/dto/response/CourseIdResponseDTO.java @@ -0,0 +1,21 @@ +package sungdong29.backend.domain.course.dto.response; + +import lombok.Builder; +import lombok.Getter; + +@Getter +public class CourseIdResponseDTO { + + private Long id; + + @Builder + private CourseIdResponseDTO(Long id) { + this.id = id; + } + + public static CourseIdResponseDTO from(Long id) { + return CourseIdResponseDTO.builder() + .id(id) + .build(); + } +} From 338b7e711df980b39c6d2fceee7ad8bda135e2e4 Mon Sep 17 00:00:00 2001 From: suhhyun524 <2835223@ewhain.net> Date: Tue, 12 Mar 2024 00:10:29 +0900 Subject: [PATCH 3/4] =?UTF-8?q?[feat]=20=EC=BD=94=EC=8A=A4=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1,=20=EC=82=AD=EC=A0=9C,=20=EC=A2=8B=EC=95=84=EC=9A=94?= =?UTF-8?q?=20=EA=B8=B0=EB=8A=A5=20=EB=B0=8F=20=EC=97=90=EB=9F=AC=EC=BD=94?= =?UTF-8?q?=EB=93=9C=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/course/CourseController.java | 68 +++++++++++++++++++ .../course/exception/CourseErrorCode.java | 25 +++++++ .../course/exception/CourseNotFound.java | 12 ++++ .../course/exception/CoursePlaceNotFound.java | 12 ++++ 4 files changed, 117 insertions(+) create mode 100644 src/main/java/sungdong29/backend/domain/course/CourseController.java create mode 100644 src/main/java/sungdong29/backend/domain/course/exception/CourseErrorCode.java create mode 100644 src/main/java/sungdong29/backend/domain/course/exception/CourseNotFound.java create mode 100644 src/main/java/sungdong29/backend/domain/course/exception/CoursePlaceNotFound.java diff --git a/src/main/java/sungdong29/backend/domain/course/CourseController.java b/src/main/java/sungdong29/backend/domain/course/CourseController.java new file mode 100644 index 0000000..6de5181 --- /dev/null +++ b/src/main/java/sungdong29/backend/domain/course/CourseController.java @@ -0,0 +1,68 @@ +package sungdong29.backend.domain.course; + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.security.core.annotation.AuthenticationPrincipal; +import org.springframework.web.bind.annotation.*; +import sungdong29.backend.domain.course.dto.request.CourseCreateRequestDTO; +import sungdong29.backend.domain.course.dto.response.CourseIdResponseDTO; +import sungdong29.backend.domain.course.service.CourseService; +import sungdong29.backend.global.config.user.UserDetails; + +@Slf4j +@RestController +@RequiredArgsConstructor +@RequestMapping("/courses") +@Tag(name = "Course") +public class CourseController { + + private final CourseService courseService; + + @Operation(summary = "코스 생성") + @PostMapping() + public ResponseEntity createCourse( + @AuthenticationPrincipal UserDetails userDetails, + @RequestBody CourseCreateRequestDTO courseCreateRequestDTO) { + log.info("코스 생성"); + CourseIdResponseDTO courseIdResponseDTO = courseService.createCourse(userDetails, courseCreateRequestDTO); + return ResponseEntity.ok(courseIdResponseDTO); + } + + @Operation(summary = "내 코스 수정") + @PatchMapping("/{courseId}") + public ResponseEntity updateCourse( + @AuthenticationPrincipal UserDetails userDetails, + @PathVariable Long courseId, + @RequestBody CourseCreateRequestDTO courseInfoRequestDTO + ) { + log.info("코스 수정"); + CourseIdResponseDTO courseIdResponseDTO = courseService.updateCourse(userDetails, courseId, courseInfoRequestDTO); + return ResponseEntity.ok(courseIdResponseDTO); + } + + @Operation(summary = "내 코스 삭제") + @DeleteMapping("/{courseId}") + public ResponseEntity deleteCourse( + @AuthenticationPrincipal UserDetails userDetails, + @PathVariable Long courseId + ) { + log.info("코스 삭제"); + courseService.deleteCourse(userDetails, courseId); + return ResponseEntity.status(HttpStatus.NO_CONTENT).build(); + } + + @Operation(summary = "코스 좋아요 상태 변경") + @PostMapping("/{courseId}/like") + public ResponseEntity likeCourse( + @AuthenticationPrincipal UserDetails userDetails, + @PathVariable Long courseId + ) { + log.info("코스 좋아요 상태 변성"); + courseService.changeCourseLike(userDetails, courseId); + return ResponseEntity.status(HttpStatus.OK).build(); + } +} diff --git a/src/main/java/sungdong29/backend/domain/course/exception/CourseErrorCode.java b/src/main/java/sungdong29/backend/domain/course/exception/CourseErrorCode.java new file mode 100644 index 0000000..753e469 --- /dev/null +++ b/src/main/java/sungdong29/backend/domain/course/exception/CourseErrorCode.java @@ -0,0 +1,25 @@ +package sungdong29.backend.domain.course.exception; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import org.springframework.http.HttpStatus; +import sungdong29.backend.global.common.dto.ErrorReason; +import sungdong29.backend.global.error.BaseErrorCode; + +import static org.springframework.http.HttpStatus.NOT_FOUND; + +@Getter +@AllArgsConstructor +public enum CourseErrorCode implements BaseErrorCode { + + COURSE_NOT_FOUND(NOT_FOUND, "COURSE_404_1", "코스가 존재하지 않습니다."), + COURSE_PLACE_NOT_FOUND(NOT_FOUND, "COURSEPLACE_404_1", "코스장소가 존재하지 않습니다."); + private HttpStatus status; + private String code; + private String reason; + + @Override + public ErrorReason getErrorReason() { + return ErrorReason.of(status.value(), code, reason); + } +} diff --git a/src/main/java/sungdong29/backend/domain/course/exception/CourseNotFound.java b/src/main/java/sungdong29/backend/domain/course/exception/CourseNotFound.java new file mode 100644 index 0000000..4c34772 --- /dev/null +++ b/src/main/java/sungdong29/backend/domain/course/exception/CourseNotFound.java @@ -0,0 +1,12 @@ +package sungdong29.backend.domain.course.exception; + +import sungdong29.backend.global.error.BaseErrorException; + +public class CourseNotFound extends BaseErrorException { + + public static final CourseNotFound EXCEPTION = new CourseNotFound(); + + private CourseNotFound() { + super(CourseErrorCode.COURSE_NOT_FOUND); + } +} diff --git a/src/main/java/sungdong29/backend/domain/course/exception/CoursePlaceNotFound.java b/src/main/java/sungdong29/backend/domain/course/exception/CoursePlaceNotFound.java new file mode 100644 index 0000000..f06704c --- /dev/null +++ b/src/main/java/sungdong29/backend/domain/course/exception/CoursePlaceNotFound.java @@ -0,0 +1,12 @@ +package sungdong29.backend.domain.course.exception; + +import sungdong29.backend.global.error.BaseErrorException; + +public class CoursePlaceNotFound extends BaseErrorException { + + public static final CoursePlaceNotFound EXCEPTION = new CoursePlaceNotFound(); + + private CoursePlaceNotFound() { + super(CourseErrorCode.COURSE_PLACE_NOT_FOUND); + } +} From 57bd7d82901a76f6529fef9b99ee3c66686da525 Mon Sep 17 00:00:00 2001 From: suhhyun524 <2835223@ewhain.net> Date: Tue, 12 Mar 2024 00:11:29 +0900 Subject: [PATCH 4/4] =?UTF-8?q?[feat]=20=EC=BD=94=EC=8A=A4=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1,=20=EC=82=AD=EC=A0=9C,=20=EC=A2=8B=EC=95=84=EC=9A=94?= =?UTF-8?q?=20=EA=B8=B0=EB=8A=A5=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sungdong29/backend/domain/course/service/CourseService.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/sungdong29/backend/domain/course/service/CourseService.java b/src/main/java/sungdong29/backend/domain/course/service/CourseService.java index ee2eb82..3d20b43 100644 --- a/src/main/java/sungdong29/backend/domain/course/service/CourseService.java +++ b/src/main/java/sungdong29/backend/domain/course/service/CourseService.java @@ -65,7 +65,6 @@ public CourseIdResponseDTO updateCourse(UserDetails userDetails, Long courseId, } // 수정중 - return CourseIdResponseDTO.from(course.getId()); }