refactor: changed MovieTitleResponse -> MovieInfoResponse
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
package com.ticketing.server.movie.application;
|
||||
|
||||
import static com.ticketing.server.user.domain.UserGrade.ROLES.STAFF;
|
||||
|
||||
import com.ticketing.server.movie.application.request.MovieRegisterRequest;
|
||||
import com.ticketing.server.movie.application.response.MovieListResponse;
|
||||
import com.ticketing.server.movie.application.response.MovieTitleResponse;
|
||||
import com.ticketing.server.movie.application.response.MovieInfoResponse;
|
||||
import com.ticketing.server.movie.service.interfaces.MovieService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@@ -29,12 +31,12 @@ public class MovieController {
|
||||
|
||||
@PostMapping()
|
||||
@ApiOperation(value = "영화 정보 등록")
|
||||
@Secured("ROLE_STAFF")
|
||||
public ResponseEntity<MovieTitleResponse> registerMovie(@RequestBody @Valid MovieRegisterRequest request) {
|
||||
@Secured(STAFF)
|
||||
public ResponseEntity<MovieInfoResponse> registerMovie(@RequestBody @Valid MovieRegisterRequest request) {
|
||||
return ResponseEntity.status(HttpStatus.OK)
|
||||
.body(
|
||||
MovieTitleResponse.from(
|
||||
movieService.registerMovie(request.toMovieRegisterDTO())
|
||||
MovieInfoResponse.from(
|
||||
movieService.registerMovie(request.getTitle(), request.getRunningTime())
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -8,13 +8,16 @@ import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor(access = AccessLevel.PRIVATE)
|
||||
public class MovieTitleResponse {
|
||||
public class MovieInfoResponse {
|
||||
|
||||
@ApiModelProperty(value = "영화 ID")
|
||||
private Long movieId;
|
||||
|
||||
@ApiModelProperty(value = "영화 제목")
|
||||
private String title;
|
||||
|
||||
public static MovieTitleResponse from(MovieDTO movieDto) {
|
||||
return new MovieTitleResponse(movieDto.getTitle());
|
||||
public static MovieInfoResponse from(MovieDTO movieDto) {
|
||||
return new MovieInfoResponse(movieDto.getMovieId(), movieDto.getTitle());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -21,11 +21,15 @@ public class MovieServiceImpl implements MovieService {
|
||||
private final MovieRepository movieRepository;
|
||||
|
||||
@Override
|
||||
public MovieDTO registerMovie(MovieRegisterDTO movieRegisterDto) {
|
||||
Optional<Movie> movie = movieRepository.findByTitle(movieRegisterDto.getTitle());
|
||||
public MovieDTO registerMovie(String title, Long runningTime) {
|
||||
Optional<Movie> movie = movieRepository.findValidMovieWithTitle(title);
|
||||
|
||||
if(movie.isEmpty()) {
|
||||
return MovieDTO.from(movieRepository.save(movieRegisterDto.toMovie()));
|
||||
Movie newMovie = movieRepository.save(
|
||||
new Movie(title, runningTime)
|
||||
);
|
||||
|
||||
return new MovieDTO(newMovie.getId(), newMovie.getTitle());
|
||||
}
|
||||
|
||||
throw ErrorCode.throwDuplicateMovie();
|
||||
|
||||
@@ -1,18 +1,14 @@
|
||||
package com.ticketing.server.movie.service.dto;
|
||||
|
||||
import com.ticketing.server.movie.domain.Movie;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor(access = AccessLevel.PRIVATE)
|
||||
@AllArgsConstructor
|
||||
public class MovieDTO {
|
||||
|
||||
private Long movieId;
|
||||
|
||||
private String title;
|
||||
|
||||
public static MovieDTO from(Movie movie) {
|
||||
return new MovieDTO(movie.getTitle());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
package com.ticketing.server.movie.service.interfaces;
|
||||
|
||||
import com.ticketing.server.movie.domain.Movie;
|
||||
import com.ticketing.server.movie.service.dto.MovieDTO;
|
||||
import com.ticketing.server.movie.service.dto.MovieRegisterDTO;
|
||||
import java.util.List;
|
||||
|
||||
public interface MovieService {
|
||||
|
||||
MovieDTO registerMovie(MovieRegisterDTO movieRegisterDto);
|
||||
MovieDTO registerMovie(String title, Long runningTime);
|
||||
|
||||
List<MovieDTO> getMovies();
|
||||
|
||||
Movie findValidMovieWithTitle(String title);
|
||||
}
|
||||
|
||||
@@ -13,7 +13,6 @@ import com.ticketing.server.user.application.response.UserChangePasswordResponse
|
||||
import com.ticketing.server.user.application.response.UserDeleteResponse;
|
||||
import com.ticketing.server.user.application.response.UserDetailResponse;
|
||||
import com.ticketing.server.user.domain.ChangeGradeDTO;
|
||||
import com.ticketing.server.user.domain.UserGrade;
|
||||
import com.ticketing.server.user.service.dto.ChangedPasswordUserDTO;
|
||||
import com.ticketing.server.user.service.dto.DeletedUserDTO;
|
||||
import com.ticketing.server.user.service.dto.PaymentsDTO;
|
||||
|
||||
Reference in New Issue
Block a user