Compare commits

...

3 Commits

Author SHA1 Message Date
손창현
76e77fe35a refactor: MovieTimeServiceImplTest - removed MovieTimeListDto 2022-07-18 17:13:12 +09:00
손창현
5afce2c730 refactor: removed MovieTimeListDTO 2022-07-18 16:56:02 +09:00
손창현
75661c1dcd refactor: removed MovieListDTO: 2022-07-18 16:54:20 +09:00
10 changed files with 29 additions and 68 deletions

View File

@@ -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)
); );
} }

View File

@@ -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)
); );
} }

View File

@@ -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

View File

@@ -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

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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);
} }

View File

@@ -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);

View File

@@ -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
@@ -55,11 +55,11 @@ public class MovieServiceImplTest {
when(movieRepository.findValidMovies()) when(movieRepository.findValidMovies())
.thenReturn(movies); .thenReturn(movies);
// when // when
MovieListDTO movieListDto = movieService.getMovies(); List<MovieDTO> movieDtos = movieService.getMovies();
// then // then
assertTrue(!movieListDto.getMovieDtos().isEmpty()); assertTrue(movieDtos.isEmpty());
} }
} }

View File

@@ -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());
} }
} }