예약된 라이브 시작
- 예약된 라이브 시작시 라이브 시작시간을 현재시간으로 변경 - 예약한 시간 - 10분 보다 더 먼저 시작하는 경우 알림 메시지의 dateformat 변경
This commit is contained in:
		| @@ -56,7 +56,9 @@ import org.springframework.web.multipart.MultipartFile | ||||
| import java.time.LocalDateTime | ||||
| import java.time.ZoneId | ||||
| import java.time.format.DateTimeFormatter | ||||
| import java.time.format.FormatStyle | ||||
| import java.util.Date | ||||
| import java.util.Locale | ||||
| import java.util.concurrent.locks.ReentrantReadWriteLock | ||||
| import kotlin.concurrent.write | ||||
|  | ||||
| @@ -384,27 +386,30 @@ class LiveRoomService( | ||||
|         val room = repository.getLiveRoomAndAccountId(request.roomId, member.id!!) | ||||
|             ?: throw SodaException("해당하는 라이브가 없습니다.") | ||||
|  | ||||
|         val dateTime = LocalDateTime.now() | ||||
|             .atZone(ZoneId.of("UTC")) | ||||
|             .withZoneSameInstant(ZoneId.of(request.timezone)) | ||||
|             .toLocalDateTime() | ||||
|         val nowDateTime = LocalDateTime.now() | ||||
|  | ||||
|         val beginDateTime = room.beginDateTime | ||||
|             .atZone(ZoneId.of("UTC")) | ||||
|             .withZoneSameInstant(ZoneId.of(request.timezone)) | ||||
|             .toLocalDateTime() | ||||
|         if (nowDateTime.plusMinutes(10).isBefore(room.beginDateTime)) { | ||||
|             val startAvailableDateTimeString = room.beginDateTime | ||||
|                 .minusMinutes(10) | ||||
|                 .atZone(ZoneId.of("UTC")) | ||||
|                 .withZoneSameInstant(ZoneId.of(request.timezone)) | ||||
|                 .toLocalDateTime() | ||||
|                 .format(DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL).withLocale(Locale.KOREAN)) | ||||
|  | ||||
|         if (dateTime.plusMinutes(10).isBefore(beginDateTime)) { | ||||
|             val startAvailableDateTimeString = beginDateTime.minusMinutes(10).format( | ||||
|                 DateTimeFormatter.ofPattern("yyyy.MM.dd E hh:mm a") | ||||
|             ) | ||||
|             throw SodaException("$startAvailableDateTimeString 이후에 시작할 수 있습니다.") | ||||
|         } | ||||
|  | ||||
|         val dateTime = nowDateTime | ||||
|             .atZone(ZoneId.of("UTC")) | ||||
|             .withZoneSameInstant(ZoneId.of(request.timezone)) | ||||
|             .toLocalDateTime() | ||||
|  | ||||
|         room.channelName = "SODA_LIVE_CHANNEL_" + | ||||
|             "${member.id}_${dateTime.year}_${dateTime.month}_${dateTime.dayOfMonth}_" + | ||||
|             "${dateTime.hour}_${dateTime.minute}" | ||||
|  | ||||
|         room.beginDateTime = nowDateTime | ||||
|  | ||||
|         applicationEventPublisher.publishEvent( | ||||
|             FcmEvent( | ||||
|                 type = FcmEventType.START_LIVE, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user