From 46a2fbc256cc50c5e5c32feccbf120594eaaadc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=86=90=EC=B0=BD=ED=98=84?= Date: Fri, 15 Jul 2022 04:02:23 +0900 Subject: [PATCH] add: findValidTickets(Long movieTimeId) in ticket repository --- .../java/com/ticketing/server/movie/domain/Ticket.java | 2 +- .../server/movie/domain/repository/TicketRepository.java | 9 +++++++++ .../server/movie/service/TicketServiceImpl.java | 4 +++- .../server/movie/service/dto/TicketListDTO.java | 1 + .../server/movie/service/interfaces/TicketService.java | 3 +++ 5 files changed, 17 insertions(+), 2 deletions(-) diff --git a/server/src/main/java/com/ticketing/server/movie/domain/Ticket.java b/server/src/main/java/com/ticketing/server/movie/domain/Ticket.java index 94c72e6..e41eed1 100644 --- a/server/src/main/java/com/ticketing/server/movie/domain/Ticket.java +++ b/server/src/main/java/com/ticketing/server/movie/domain/Ticket.java @@ -26,7 +26,7 @@ public class Ticket extends AbstractEntity { @NotNull @ManyToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "movie_times_id", referencedColumnName = "id", updatable = false) + @JoinColumn(name = "movie_time_id", referencedColumnName = "id", updatable = false) private MovieTime movieTime; private Long paymentId; diff --git a/server/src/main/java/com/ticketing/server/movie/domain/repository/TicketRepository.java b/server/src/main/java/com/ticketing/server/movie/domain/repository/TicketRepository.java index 4298b6f..dfe67ea 100644 --- a/server/src/main/java/com/ticketing/server/movie/domain/repository/TicketRepository.java +++ b/server/src/main/java/com/ticketing/server/movie/domain/repository/TicketRepository.java @@ -10,6 +10,15 @@ import org.springframework.stereotype.Repository; @Repository public interface TicketRepository extends JpaRepository { + @Query( + value = "SELECT t " + + "FROM Ticket t " + + "JOIN FETCH t.seat s " + + "WHERE t.movieTimeId = :movieTimeId " + + "AND t.deletedAt IS NULL" + ) + List findValidTickets(@Param("movieTimesId") Long movieTimeId); + @Query( value = "SELECT t " diff --git a/server/src/main/java/com/ticketing/server/movie/service/TicketServiceImpl.java b/server/src/main/java/com/ticketing/server/movie/service/TicketServiceImpl.java index fd1b620..a0245a2 100644 --- a/server/src/main/java/com/ticketing/server/movie/service/TicketServiceImpl.java +++ b/server/src/main/java/com/ticketing/server/movie/service/TicketServiceImpl.java @@ -1,8 +1,10 @@ package com.ticketing.server.movie.service; import com.ticketing.server.global.exception.ErrorCode; +import com.ticketing.server.movie.domain.Ticket; import com.ticketing.server.movie.domain.repository.TicketRepository; import com.ticketing.server.movie.service.dto.TicketDetailsDTO; +import com.ticketing.server.movie.service.dto.TicketListDTO; import com.ticketing.server.movie.service.interfaces.TicketService; import com.ticketing.server.payment.service.dto.TicketDetailDTO; import java.util.List; @@ -25,7 +27,7 @@ public class TicketServiceImpl implements TicketService { @Override public TicketListDTO getTickets(Long movieTimeId) { - + List tickets = ticketRepository.findValidTickets(movieTimeId); } @Override diff --git a/server/src/main/java/com/ticketing/server/movie/service/dto/TicketListDTO.java b/server/src/main/java/com/ticketing/server/movie/service/dto/TicketListDTO.java index 1673f8b..ab8bdaa 100644 --- a/server/src/main/java/com/ticketing/server/movie/service/dto/TicketListDTO.java +++ b/server/src/main/java/com/ticketing/server/movie/service/dto/TicketListDTO.java @@ -1,5 +1,6 @@ package com.ticketing.server.movie.service.dto; +import com.ticketing.server.movie.application.response.TicketListResponse; import java.util.List; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/server/src/main/java/com/ticketing/server/movie/service/interfaces/TicketService.java b/server/src/main/java/com/ticketing/server/movie/service/interfaces/TicketService.java index 46a3151..4b68e54 100644 --- a/server/src/main/java/com/ticketing/server/movie/service/interfaces/TicketService.java +++ b/server/src/main/java/com/ticketing/server/movie/service/interfaces/TicketService.java @@ -1,10 +1,13 @@ package com.ticketing.server.movie.service.interfaces; import com.ticketing.server.movie.service.dto.TicketDetailsDTO; +import com.ticketing.server.movie.service.dto.TicketListDTO; import javax.validation.constraints.NotNull; public interface TicketService { + TicketListDTO getTickets(Long movieTimeId) + TicketDetailsDTO findTicketsByPaymentId(@NotNull Long paymentId); }