add: deleteMovie() in movieService

This commit is contained in:
손창현
2022-07-14 03:00:52 +09:00
parent 9fc7be9fb6
commit 2093a168c9
4 changed files with 11 additions and 1 deletions

View File

@@ -98,7 +98,7 @@ public enum ErrorCode {
public static TicketingException throwDeletedEmail() {
throw new TicketingException(DELETED_EMAIL);
}
public static TicketingException throwDeletedMovie() {
throw new TicketingException(DELETED_MOVIE);
}

View File

@@ -13,6 +13,8 @@ public interface MovieRepository extends JpaRepository<Movie, Long> {
Optional<Movie> findByTitle(String title);
Optional<Movie> findByIdAndDeletedAtNull(Long id);
@Query(value = "SELECT m "
+ "FROM movie m "
+ "WHERE title = :title "

View File

@@ -47,6 +47,11 @@ public class MovieServiceImpl implements MovieService {
@Override
public DeletedMovieDTO deleteMovie(Long id) {
Movie movie = movieRepository.findByIdAndDeletedAtNull(id)
.orElseThrow(ErrorCode::throwMovieNotFound);
Movie deletedMovie = movie.delete();
return new DeletedMovieDTO(deletedMovie);
}
}

View File

@@ -1,5 +1,6 @@
package com.ticketing.server.movie.service.interfaces;
import com.ticketing.server.movie.service.dto.DeletedMovieDTO;
import com.ticketing.server.movie.service.dto.MovieDTO;
import com.ticketing.server.movie.service.dto.RegisteredMovieDTO;
import java.util.List;
@@ -9,4 +10,6 @@ public interface MovieService {
RegisteredMovieDTO registerMovie(String title, Long runningTime);
List<MovieDTO> getMovies();
DeletedMovieDTO deleteMovie(Long id);
}