Skip to content

Commit

Permalink
[#191] refactor(TicketService): findBookings 메서드 분리, 오래된 예매취소내역 삭제 시간 변경
Browse files Browse the repository at this point in the history
  • Loading branch information
hyerinhwang-sailin committed Aug 29, 2024
1 parent 68674c2 commit 16d1770
Showing 1 changed file with 14 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -52,17 +52,7 @@ public TicketRetrieveResponse getTickets(Long memberId, Long performanceId, Sche
Performance performance = performanceRepository.findById(performanceId)
.orElseThrow(() -> new NotFoundException(PerformanceErrorCode.PERFORMANCE_NOT_FOUND));

List<Booking> bookings;

if (scheduleNumber != null && bookingStatus != null) {
bookings = ticketRepository.findBySchedulePerformanceIdAndScheduleScheduleNumberAndBookingStatus(performanceId, scheduleNumber, bookingStatus);
} else if (scheduleNumber != null) {
bookings = ticketRepository.findBySchedulePerformanceIdAndScheduleScheduleNumber(performanceId, scheduleNumber);
} else if (bookingStatus != null) {
bookings = ticketRepository.findBySchedulePerformanceIdAndBookingStatus(performanceId, bookingStatus);
} else {
bookings = ticketRepository.findBySchedulePerformanceId(performanceId);
}
List<Booking> bookings = findBookings(performanceId, scheduleNumber, bookingStatus);

List<TicketDetail> bookingList = bookings.stream()
.map(booking -> TicketDetail.of(
Expand All @@ -84,6 +74,18 @@ public TicketRetrieveResponse getTickets(Long memberId, Long performanceId, Sche
);
}

private List<Booking> findBookings(Long performanceId, ScheduleNumber scheduleNumber, BookingStatus bookingStatus) {
if (scheduleNumber != null && bookingStatus != null) {
return ticketRepository.findBySchedulePerformanceIdAndScheduleScheduleNumberAndBookingStatus(performanceId, scheduleNumber, bookingStatus);
} else if (scheduleNumber != null) {
return ticketRepository.findBySchedulePerformanceIdAndScheduleScheduleNumber(performanceId, scheduleNumber);
} else if (bookingStatus != null) {
return ticketRepository.findBySchedulePerformanceIdAndBookingStatus(performanceId, bookingStatus);
} else {
return ticketRepository.findBySchedulePerformanceId(performanceId);
}
}

@Transactional
public void updateTickets(Long memberId, TicketUpdateRequest request) {
Member member = memberRepository.findById(memberId).orElseThrow(
Expand Down Expand Up @@ -144,7 +146,7 @@ public void cancelTickets(Long memberId, TicketCancelRequest ticketCancelRequest
}
}

@Scheduled(cron = "0 0 0 * * ?")
@Scheduled(cron = "0 0 4 * * ?")
@Transactional
public void deleteOldCancelledBookings() {
LocalDateTime oneYearAgo = LocalDateTime.now().minusYears(1);
Expand Down

0 comments on commit 16d1770

Please sign in to comment.