diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomService.kt index 5661830..3695418 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomService.kt @@ -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,