|
7 | 7 | import com.back.web7_9_codecrete_be.domain.concerts.repository.*; |
8 | 8 | import com.back.web7_9_codecrete_be.domain.users.entity.User; |
9 | 9 | import com.back.web7_9_codecrete_be.global.error.code.ConcertErrorCode; |
| 10 | +import com.back.web7_9_codecrete_be.global.error.code.ErrorCode; |
10 | 11 | import com.back.web7_9_codecrete_be.global.error.exception.BusinessException; |
11 | 12 | import lombok.RequiredArgsConstructor; |
12 | 13 | import lombok.extern.slf4j.Slf4j; |
@@ -121,14 +122,14 @@ public Long getTotalConcertsCount() { |
121 | 122 | return result; |
122 | 123 | } |
123 | 124 |
|
124 | | - // todo : 티켓팅 공연 개수 조회 |
| 125 | + // 티켓팅 공연 개수 조회 |
125 | 126 | public Long getTotalTicketingConcertsCount() { |
126 | 127 | Long result = concertRedisRepository.getTotalConcertsCount(ListSort.TICKETING); |
127 | 128 | if(result == -1) result = concertRedisRepository.saveTotalConcertsCount(concertRepository.countTicketingConcertsFromLocalDateTime(LocalDateTime.of(LocalDate.now(), LocalTime.MIN)), ListSort.TICKETING); |
128 | 129 | return result; |
129 | 130 | } |
130 | 131 |
|
131 | | - // todo : 좋아요한 공연 개수 조회 |
| 132 | + // 좋아요한 공연 개수 조회 |
132 | 133 | public Long getTotalLikedConcertsCount(User user) { |
133 | 134 | Long result = concertRedisRepository.getUserLikedCount(user); |
134 | 135 | if(result == -1) result = concertRedisRepository.saveUserLikedCount(user,concertLikeRepository.countByUser(user)); |
@@ -208,10 +209,15 @@ public ConcertItem updateConcert(long concertId, ConcertUpdateRequest concertUpd |
208 | 209 | return new ConcertItem(updatedConcert); |
209 | 210 | } |
210 | 211 |
|
211 | | - // 공연 시간 설정 |
| 212 | + // 공연 예매 시간 설정 |
212 | 213 | public ConcertDetailResponse setConcertTicketingTime(ConcertTicketTimeSetRequest concertTicketTimeSetRequest) { |
213 | 214 | Concert concert = findConcertByConcertId(concertTicketTimeSetRequest.getConcertId()); |
214 | | - concert.ticketTimeSet(concertTicketTimeSetRequest.getTicketTime(), concertTicketTimeSetRequest.getTicketEndTime()); |
| 215 | + LocalDateTime ticketTime = concertTicketTimeSetRequest.getTicketTime(); |
| 216 | + LocalDateTime ticketEndTime = concertTicketTimeSetRequest.getTicketEndTime(); |
| 217 | + if(ticketTime.isAfter(ticketEndTime)) throw new BusinessException(ConcertErrorCode.NOT_VALID_TICKETING_TIME); |
| 218 | + if(ticketTime.isBefore(LocalDateTime.now())) throw new BusinessException(ConcertErrorCode.NOT_VALID_TICKETING_TIME); |
| 219 | + |
| 220 | + concert.ticketTimeSet(ticketTime, ticketEndTime); |
215 | 221 | Concert savedConcert = concertRepository.save(concert); |
216 | 222 | return concertRepository.getConcertDetailById(savedConcert.getConcertId()); |
217 | 223 | } |
|
0 commit comments