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