Compare commits
3 Commits
feature/do
...
refactor/L
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
76e77fe35a | ||
|
|
5afce2c730 | ||
|
|
75661c1dcd |
@@ -8,11 +8,12 @@ import com.ticketing.server.movie.application.response.MovieDeleteResponse;
|
|||||||
import com.ticketing.server.movie.application.response.MovieListResponse;
|
import com.ticketing.server.movie.application.response.MovieListResponse;
|
||||||
import com.ticketing.server.movie.application.response.MovieInfoResponse;
|
import com.ticketing.server.movie.application.response.MovieInfoResponse;
|
||||||
import com.ticketing.server.movie.service.dto.DeletedMovieDTO;
|
import com.ticketing.server.movie.service.dto.DeletedMovieDTO;
|
||||||
import com.ticketing.server.movie.service.dto.MovieListDTO;
|
import com.ticketing.server.movie.service.dto.MovieDTO;
|
||||||
import com.ticketing.server.movie.service.dto.RegisteredMovieDTO;
|
import com.ticketing.server.movie.service.dto.RegisteredMovieDTO;
|
||||||
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;
|
||||||
|
import java.util.List;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -51,11 +52,11 @@ public class MovieController {
|
|||||||
@GetMapping()
|
@GetMapping()
|
||||||
@ApiOperation(value = "영화 목록 조회")
|
@ApiOperation(value = "영화 목록 조회")
|
||||||
public ResponseEntity<MovieListResponse> getMovies() {
|
public ResponseEntity<MovieListResponse> getMovies() {
|
||||||
MovieListDTO movieListDto = movieService.getMovies();
|
List<MovieDTO> movieDtos = movieService.getMovies();
|
||||||
|
|
||||||
return ResponseEntity.status(HttpStatus.OK)
|
return ResponseEntity.status(HttpStatus.OK)
|
||||||
.body(
|
.body(
|
||||||
movieListDto.toResponse()
|
new MovieListResponse(movieDtos)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,13 +5,14 @@ import static com.ticketing.server.user.domain.UserGrade.ROLES.STAFF;
|
|||||||
import com.ticketing.server.movie.application.request.MovieTimeRegisterRequest;
|
import com.ticketing.server.movie.application.request.MovieTimeRegisterRequest;
|
||||||
import com.ticketing.server.movie.application.response.MovieTimeInfoResponse;
|
import com.ticketing.server.movie.application.response.MovieTimeInfoResponse;
|
||||||
import com.ticketing.server.movie.application.response.MovieTimeListResponse;
|
import com.ticketing.server.movie.application.response.MovieTimeListResponse;
|
||||||
import com.ticketing.server.movie.service.dto.MovieTimeListDTO;
|
import com.ticketing.server.movie.service.dto.MovieTimeDTO;
|
||||||
import com.ticketing.server.movie.service.dto.RegisteredMovieTimeDTO;
|
import com.ticketing.server.movie.service.dto.RegisteredMovieTimeDTO;
|
||||||
import com.ticketing.server.movie.service.interfaces.MovieTimeService;
|
import com.ticketing.server.movie.service.interfaces.MovieTimeService;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import io.swagger.annotations.ApiParam;
|
import io.swagger.annotations.ApiParam;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.util.List;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
@@ -58,11 +59,11 @@ public class MovieTimeController {
|
|||||||
public ResponseEntity<MovieTimeListResponse> getMovieTimes(
|
public ResponseEntity<MovieTimeListResponse> getMovieTimes(
|
||||||
@ApiParam(value = "영화 ID", required = true) @RequestParam @NotNull Long movieId,
|
@ApiParam(value = "영화 ID", required = true) @RequestParam @NotNull Long movieId,
|
||||||
@ApiParam(value = "상영 날짜", required = true) @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate runningDate) {
|
@ApiParam(value = "상영 날짜", required = true) @RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate runningDate) {
|
||||||
MovieTimeListDTO movieTimeListDto = movieTimeService.getMovieTimes(movieId, runningDate);
|
List<MovieTimeDTO> movieTimeDtos = movieTimeService.getMovieTimes(movieId, runningDate);
|
||||||
|
|
||||||
return ResponseEntity.status(HttpStatus.OK)
|
return ResponseEntity.status(HttpStatus.OK)
|
||||||
.body(
|
.body(
|
||||||
movieTimeListDto.toResponse()
|
new MovieTimeListResponse(movieTimeDtos)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ import com.ticketing.server.movie.domain.Movie;
|
|||||||
import com.ticketing.server.movie.domain.repository.MovieRepository;
|
import com.ticketing.server.movie.domain.repository.MovieRepository;
|
||||||
import com.ticketing.server.movie.service.dto.DeletedMovieDTO;
|
import com.ticketing.server.movie.service.dto.DeletedMovieDTO;
|
||||||
import com.ticketing.server.movie.service.dto.MovieDTO;
|
import com.ticketing.server.movie.service.dto.MovieDTO;
|
||||||
import com.ticketing.server.movie.service.dto.MovieListDTO;
|
|
||||||
import com.ticketing.server.movie.service.dto.RegisteredMovieDTO;
|
import com.ticketing.server.movie.service.dto.RegisteredMovieDTO;
|
||||||
import com.ticketing.server.movie.service.interfaces.MovieService;
|
import com.ticketing.server.movie.service.interfaces.MovieService;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -39,14 +38,12 @@ public class MovieServiceImpl implements MovieService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MovieListDTO getMovies() {
|
public List<MovieDTO> getMovies() {
|
||||||
List<Movie> movies = movieRepository.findValidMovies();
|
List<Movie> movies = movieRepository.findValidMovies();
|
||||||
|
|
||||||
List<MovieDTO> movieDtos = movies.stream()
|
return movies.stream()
|
||||||
.map(movie -> movie.toMovieDTO())
|
.map(movie -> movie.toMovieDTO())
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
return new MovieListDTO(movieDtos);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -8,9 +8,7 @@ import com.ticketing.server.movie.domain.repository.MovieRepository;
|
|||||||
import com.ticketing.server.movie.domain.repository.MovieTimeRepository;
|
import com.ticketing.server.movie.domain.repository.MovieTimeRepository;
|
||||||
import com.ticketing.server.movie.domain.repository.TheaterRepository;
|
import com.ticketing.server.movie.domain.repository.TheaterRepository;
|
||||||
import com.ticketing.server.movie.service.dto.MovieTimeDTO;
|
import com.ticketing.server.movie.service.dto.MovieTimeDTO;
|
||||||
import com.ticketing.server.movie.service.dto.MovieTimeListDTO;
|
|
||||||
import com.ticketing.server.movie.service.dto.MovieTimeRegisterDTO;
|
import com.ticketing.server.movie.service.dto.MovieTimeRegisterDTO;
|
||||||
import com.ticketing.server.movie.service.dto.RegisteredMovieDTO;
|
|
||||||
import com.ticketing.server.movie.service.dto.RegisteredMovieTimeDTO;
|
import com.ticketing.server.movie.service.dto.RegisteredMovieTimeDTO;
|
||||||
import com.ticketing.server.movie.service.interfaces.MovieTimeService;
|
import com.ticketing.server.movie.service.interfaces.MovieTimeService;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
@@ -56,7 +54,7 @@ public class MovieTimeServiceImpl implements MovieTimeService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public MovieTimeListDTO getMovieTimes(Long movieId, LocalDate runningDate) {
|
public List<MovieTimeDTO> getMovieTimes(Long movieId, LocalDate runningDate) {
|
||||||
Movie movie = findMovieById(movieId);
|
Movie movie = findMovieById(movieId);
|
||||||
|
|
||||||
LocalDateTime startOfDay = runningDate.atStartOfDay().plusHours(6);
|
LocalDateTime startOfDay = runningDate.atStartOfDay().plusHours(6);
|
||||||
@@ -64,11 +62,9 @@ public class MovieTimeServiceImpl implements MovieTimeService {
|
|||||||
|
|
||||||
List<MovieTime> movieTimes = movieTimeRepository.findValidMovieTimes(movie, startOfDay, endOfDay);
|
List<MovieTime> movieTimes = movieTimeRepository.findValidMovieTimes(movie, startOfDay, endOfDay);
|
||||||
|
|
||||||
List<MovieTimeDTO> movieTimeDtos = movieTimes.stream()
|
return movieTimes.stream()
|
||||||
.map(movieTime -> movieTime.toMovieTimeDTO())
|
.map(movieTime -> movieTime.toMovieTimeDTO())
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
|
|
||||||
return new MovieTimeListDTO(movieTimeDtos);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,18 +0,0 @@
|
|||||||
package com.ticketing.server.movie.service.dto;
|
|
||||||
|
|
||||||
import com.ticketing.server.movie.application.response.MovieListResponse;
|
|
||||||
import java.util.List;
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Getter;
|
|
||||||
|
|
||||||
@Getter
|
|
||||||
@AllArgsConstructor
|
|
||||||
public class MovieListDTO {
|
|
||||||
|
|
||||||
private final List<MovieDTO> movieDtos;
|
|
||||||
|
|
||||||
public MovieListResponse toResponse() {
|
|
||||||
return new MovieListResponse(movieDtos);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
package com.ticketing.server.movie.service.dto;
|
|
||||||
|
|
||||||
import com.ticketing.server.movie.application.response.MovieTimeListResponse;
|
|
||||||
import java.util.List;
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Getter;
|
|
||||||
|
|
||||||
@Getter
|
|
||||||
@AllArgsConstructor
|
|
||||||
public class MovieTimeListDTO {
|
|
||||||
|
|
||||||
private final List<MovieTimeDTO> movieTimeDtos;
|
|
||||||
|
|
||||||
public MovieTimeListResponse toResponse() {
|
|
||||||
return new MovieTimeListResponse(movieTimeDtos);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,14 +1,15 @@
|
|||||||
package com.ticketing.server.movie.service.interfaces;
|
package com.ticketing.server.movie.service.interfaces;
|
||||||
|
|
||||||
import com.ticketing.server.movie.service.dto.DeletedMovieDTO;
|
import com.ticketing.server.movie.service.dto.DeletedMovieDTO;
|
||||||
import com.ticketing.server.movie.service.dto.MovieListDTO;
|
import com.ticketing.server.movie.service.dto.MovieDTO;
|
||||||
import com.ticketing.server.movie.service.dto.RegisteredMovieDTO;
|
import com.ticketing.server.movie.service.dto.RegisteredMovieDTO;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public interface MovieService {
|
public interface MovieService {
|
||||||
|
|
||||||
RegisteredMovieDTO registerMovie(String title, Long runningTime);
|
RegisteredMovieDTO registerMovie(String title, Long runningTime);
|
||||||
|
|
||||||
MovieListDTO getMovies();
|
List<MovieDTO> getMovies();
|
||||||
|
|
||||||
DeletedMovieDTO deleteMovie(Long id);
|
DeletedMovieDTO deleteMovie(Long id);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,17 +2,18 @@ package com.ticketing.server.movie.service.interfaces;
|
|||||||
|
|
||||||
import com.ticketing.server.movie.domain.Movie;
|
import com.ticketing.server.movie.domain.Movie;
|
||||||
import com.ticketing.server.movie.domain.Theater;
|
import com.ticketing.server.movie.domain.Theater;
|
||||||
import com.ticketing.server.movie.service.dto.MovieTimeListDTO;
|
import com.ticketing.server.movie.service.dto.MovieTimeDTO;
|
||||||
import com.ticketing.server.movie.service.dto.MovieTimeRegisterDTO;
|
import com.ticketing.server.movie.service.dto.MovieTimeRegisterDTO;
|
||||||
import com.ticketing.server.movie.service.dto.RegisteredMovieTimeDTO;
|
import com.ticketing.server.movie.service.dto.RegisteredMovieTimeDTO;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
|
import java.util.List;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
|
||||||
public interface MovieTimeService {
|
public interface MovieTimeService {
|
||||||
|
|
||||||
RegisteredMovieTimeDTO registerMovieTime(@Valid MovieTimeRegisterDTO movieTimeRegisterDto);
|
RegisteredMovieTimeDTO registerMovieTime(@Valid MovieTimeRegisterDTO movieTimeRegisterDto);
|
||||||
|
|
||||||
MovieTimeListDTO getMovieTimes(Long movieId, LocalDate runningDate);
|
List<MovieTimeDTO> getMovieTimes(Long movieId, LocalDate runningDate);
|
||||||
|
|
||||||
Movie findMovieById(Long movieId);
|
Movie findMovieById(Long movieId);
|
||||||
|
|
||||||
|
|||||||
@@ -39,10 +39,10 @@ public class MovieServiceImplTest {
|
|||||||
.thenReturn(Collections.emptyList());
|
.thenReturn(Collections.emptyList());
|
||||||
|
|
||||||
// when
|
// when
|
||||||
MovieListDTO movieListDto = movieService.getMovies();
|
List<MovieDTO> movieDtos = movieService.getMovies();
|
||||||
|
|
||||||
// then
|
// then
|
||||||
assertTrue(movieListDto.getMovieDtos().isEmpty());
|
assertTrue(movieDtos.isEmpty());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -56,10 +56,10 @@ public class MovieServiceImplTest {
|
|||||||
.thenReturn(movies);
|
.thenReturn(movies);
|
||||||
|
|
||||||
// when
|
// when
|
||||||
MovieListDTO movieListDto = movieService.getMovies();
|
List<MovieDTO> movieDtos = movieService.getMovies();
|
||||||
|
|
||||||
// then
|
// then
|
||||||
assertTrue(!movieListDto.getMovieDtos().isEmpty());
|
assertTrue(movieDtos.isEmpty());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import com.ticketing.server.movie.domain.MovieTime;
|
|||||||
import com.ticketing.server.movie.domain.Theater;
|
import com.ticketing.server.movie.domain.Theater;
|
||||||
import com.ticketing.server.movie.domain.repository.MovieRepository;
|
import com.ticketing.server.movie.domain.repository.MovieRepository;
|
||||||
import com.ticketing.server.movie.domain.repository.MovieTimeRepository;
|
import com.ticketing.server.movie.domain.repository.MovieTimeRepository;
|
||||||
import com.ticketing.server.movie.service.dto.MovieTimeListDTO;
|
import com.ticketing.server.movie.service.dto.MovieTimeDTO;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -51,10 +51,10 @@ public class MovieTimeServiceImplTest {
|
|||||||
.thenReturn(Collections.emptyList());
|
.thenReturn(Collections.emptyList());
|
||||||
|
|
||||||
// when
|
// when
|
||||||
MovieTimeListDTO movieTimeListDto = movieTimeService.getMovieTimes(any(), LocalDate.now());
|
List<MovieTimeDTO> movieTimeDtos = movieTimeService.getMovieTimes(any(), LocalDate.now());
|
||||||
|
|
||||||
// then
|
// then
|
||||||
assertTrue(movieTimeListDto.getMovieTimeDtos().isEmpty());
|
assertTrue(movieTimeDtos.isEmpty());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -76,10 +76,10 @@ public class MovieTimeServiceImplTest {
|
|||||||
.thenReturn(movieTimes);
|
.thenReturn(movieTimes);
|
||||||
|
|
||||||
// when
|
// when
|
||||||
MovieTimeListDTO movieTimeListDto = movieTimeService.getMovieTimes(any(), LocalDate.of(2022, 07, 01));
|
List<MovieTimeDTO> movieTimeDtos = movieTimeService.getMovieTimes(any(), LocalDate.of(2022, 07, 01));
|
||||||
|
|
||||||
// then
|
// then
|
||||||
assertTrue(!movieTimeListDto.getMovieTimeDtos().isEmpty());
|
assertTrue(!movieTimeDtos.isEmpty());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user