feat: delete movie API
This commit is contained in:
@@ -61,6 +61,7 @@ public class MovieController {
|
||||
|
||||
@DeleteMapping()
|
||||
@ApiOperation(value = "영화 정보 삭제")
|
||||
@Secured(STAFF)
|
||||
public ResponseEntity<MovieDeleteResponse> deleteMovie(@RequestBody @Valid MovieDeleteRequest request) {
|
||||
DeletedMovieDTO deletedMovieDto = movieService.deleteMovie(request.getId());
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.ticketing.server.movie.application.response;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
@@ -11,4 +12,6 @@ public class MovieDeleteResponse {
|
||||
|
||||
private final String title;
|
||||
|
||||
private final LocalDateTime deletedAt;
|
||||
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ import com.ticketing.server.movie.service.interfaces.MovieService;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.transaction.Transactional;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -49,6 +50,7 @@ public class MovieServiceImpl implements MovieService {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public DeletedMovieDTO deleteMovie(Long id) {
|
||||
Movie movie = movieRepository.findByIdAndDeletedAtNull(id)
|
||||
.orElseThrow(ErrorCode::throwMovieNotFound);
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.ticketing.server.movie.service.dto;
|
||||
|
||||
import com.ticketing.server.movie.application.response.MovieDeleteResponse;
|
||||
import com.ticketing.server.movie.domain.Movie;
|
||||
import java.time.LocalDateTime;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
@@ -14,15 +15,18 @@ public class DeletedMovieDTO {
|
||||
|
||||
private final String title;
|
||||
|
||||
private final LocalDateTime deletedAt;
|
||||
|
||||
public DeletedMovieDTO(Movie movie) {
|
||||
this(
|
||||
movie.getId(),
|
||||
movie.getTitle()
|
||||
movie.getTitle(),
|
||||
movie.getDeletedAt()
|
||||
);
|
||||
}
|
||||
|
||||
public MovieDeleteResponse toResponse() {
|
||||
return new MovieDeleteResponse(id, title);
|
||||
return new MovieDeleteResponse(id, title, deletedAt);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user