From 62797eb3f53698c65154f979b22a4d012763457a Mon Sep 17 00:00:00 2001 From: Klaus Date: Wed, 8 Nov 2023 00:16:41 +0900 Subject: [PATCH] =?UTF-8?q?=EC=98=88=EC=95=BD=EB=90=9C=20=EB=9D=BC?= =?UTF-8?q?=EC=9D=B4=EB=B8=8C=20=EC=8B=9C=EC=9E=91=20-=20=EC=98=88?= =?UTF-8?q?=EC=95=BD=EB=90=9C=20=EB=9D=BC=EC=9D=B4=EB=B8=8C=20=EC=8B=9C?= =?UTF-8?q?=EC=9E=91=EC=8B=9C=20=EB=9D=BC=EC=9D=B4=EB=B8=8C=20=EC=8B=9C?= =?UTF-8?q?=EC=9E=91=EC=8B=9C=EA=B0=84=EC=9D=84=20=ED=98=84=EC=9E=AC?= =?UTF-8?q?=EC=8B=9C=EA=B0=84=EC=9C=BC=EB=A1=9C=20=EB=B3=80=EA=B2=BD=20-?= =?UTF-8?q?=20=EC=98=88=EC=95=BD=ED=95=9C=20=EC=8B=9C=EA=B0=84=20-=2010?= =?UTF-8?q?=EB=B6=84=20=EB=B3=B4=EB=8B=A4=20=EB=8D=94=20=EB=A8=BC=EC=A0=80?= =?UTF-8?q?=20=EC=8B=9C=EC=9E=91=ED=95=98=EB=8A=94=20=EA=B2=BD=EC=9A=B0=20?= =?UTF-8?q?=EC=95=8C=EB=A6=BC=20=EB=A9=94=EC=8B=9C=EC=A7=80=EC=9D=98=20dat?= =?UTF-8?q?eformat=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sodalive/live/room/LiveRoomService.kt | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) 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,