Compare commits
No commits in common. "e96d8f7469809021421e37625732c0ecc9f70d71" and "2acffd8afcc7b145828ecf7ba7ad149b9f19bf9d" have entirely different histories.
e96d8f7469
...
2acffd8afc
|
@ -57,7 +57,6 @@ import java.time.LocalDateTime
|
||||||
import java.time.ZoneId
|
import java.time.ZoneId
|
||||||
import java.time.format.DateTimeFormatter
|
import java.time.format.DateTimeFormatter
|
||||||
import java.util.Date
|
import java.util.Date
|
||||||
import java.util.Locale
|
|
||||||
import java.util.concurrent.locks.ReentrantReadWriteLock
|
import java.util.concurrent.locks.ReentrantReadWriteLock
|
||||||
import kotlin.concurrent.write
|
import kotlin.concurrent.write
|
||||||
|
|
||||||
|
@ -126,13 +125,14 @@ class LiveRoomService(
|
||||||
val beginDateTime = it.beginDateTime
|
val beginDateTime = it.beginDateTime
|
||||||
.atZone(ZoneId.of("UTC"))
|
.atZone(ZoneId.of("UTC"))
|
||||||
.withZoneSameInstant(ZoneId.of(timezone))
|
.withZoneSameInstant(ZoneId.of(timezone))
|
||||||
.format(DateTimeFormatter.ofPattern("yyyy년 MM월 dd일 (E) a HH시 mm분").withLocale(Locale.KOREAN))
|
|
||||||
|
|
||||||
GetRoomListResponse(
|
GetRoomListResponse(
|
||||||
roomId = it.id!!,
|
roomId = it.id!!,
|
||||||
title = it.title,
|
title = it.title,
|
||||||
content = it.notice,
|
content = it.notice,
|
||||||
beginDateTime = beginDateTime,
|
beginDateTime = beginDateTime.format(
|
||||||
|
DateTimeFormatter.ofPattern("yyyy.MM.dd E hh:mm a")
|
||||||
|
),
|
||||||
numberOfParticipate = (roomInfo?.listenerCount ?: 0) +
|
numberOfParticipate = (roomInfo?.listenerCount ?: 0) +
|
||||||
(roomInfo?.speakerCount ?: 0) +
|
(roomInfo?.speakerCount ?: 0) +
|
||||||
(roomInfo?.managerCount ?: 0),
|
(roomInfo?.managerCount ?: 0),
|
||||||
|
@ -297,7 +297,6 @@ class LiveRoomService(
|
||||||
val beginDateTime = room.beginDateTime
|
val beginDateTime = room.beginDateTime
|
||||||
.atZone(ZoneId.of("UTC"))
|
.atZone(ZoneId.of("UTC"))
|
||||||
.withZoneSameInstant(ZoneId.of(timezone))
|
.withZoneSameInstant(ZoneId.of(timezone))
|
||||||
.format(DateTimeFormatter.ofPattern("yyyy년 MM월 dd일 (E) a HH시 mm분").withLocale(Locale.KOREAN))
|
|
||||||
|
|
||||||
val response = GetRoomDetailResponse(
|
val response = GetRoomDetailResponse(
|
||||||
roomId = roomId,
|
roomId = roomId,
|
||||||
|
@ -308,7 +307,7 @@ class LiveRoomService(
|
||||||
numberOfParticipantsTotal = room.numberOfPeople,
|
numberOfParticipantsTotal = room.numberOfPeople,
|
||||||
numberOfParticipants = 0,
|
numberOfParticipants = 0,
|
||||||
channelName = room.channelName,
|
channelName = room.channelName,
|
||||||
beginDateTime = beginDateTime,
|
beginDateTime = beginDateTime.format(DateTimeFormatter.ofPattern("yyyy.MM.dd E hh:mm a")),
|
||||||
isPaid = false,
|
isPaid = false,
|
||||||
isAdult = room.isAdult,
|
isAdult = room.isAdult,
|
||||||
isPrivateRoom = room.type == LiveRoomType.PRIVATE,
|
isPrivateRoom = room.type == LiveRoomType.PRIVATE,
|
||||||
|
@ -385,29 +384,27 @@ class LiveRoomService(
|
||||||
val room = repository.getLiveRoomAndAccountId(request.roomId, member.id!!)
|
val room = repository.getLiveRoomAndAccountId(request.roomId, member.id!!)
|
||||||
?: throw SodaException("해당하는 라이브가 없습니다.")
|
?: throw SodaException("해당하는 라이브가 없습니다.")
|
||||||
|
|
||||||
val nowDateTime = LocalDateTime.now()
|
val dateTime = LocalDateTime.now()
|
||||||
|
|
||||||
if (nowDateTime.plusMinutes(10).isBefore(room.beginDateTime)) {
|
|
||||||
val startAvailableDateTimeString = room.beginDateTime
|
|
||||||
.minusMinutes(10)
|
|
||||||
.atZone(ZoneId.of("UTC"))
|
|
||||||
.withZoneSameInstant(ZoneId.of("Asia/Seoul"))
|
|
||||||
.format(DateTimeFormatter.ofPattern("yyyy년 MM월 dd일 (E) a HH시 mm분").withLocale(Locale.KOREAN))
|
|
||||||
|
|
||||||
throw SodaException("$startAvailableDateTimeString 이후에 시작할 수 있습니다.")
|
|
||||||
}
|
|
||||||
|
|
||||||
val dateTime = nowDateTime
|
|
||||||
.atZone(ZoneId.of("UTC"))
|
.atZone(ZoneId.of("UTC"))
|
||||||
.withZoneSameInstant(ZoneId.of(request.timezone))
|
.withZoneSameInstant(ZoneId.of(request.timezone))
|
||||||
.toLocalDateTime()
|
.toLocalDateTime()
|
||||||
|
|
||||||
|
val beginDateTime = room.beginDateTime
|
||||||
|
.atZone(ZoneId.of("UTC"))
|
||||||
|
.withZoneSameInstant(ZoneId.of(request.timezone))
|
||||||
|
.toLocalDateTime()
|
||||||
|
|
||||||
|
if (dateTime.plusMinutes(10).isBefore(beginDateTime)) {
|
||||||
|
val startAvailableDateTimeString = beginDateTime.minusMinutes(10).format(
|
||||||
|
DateTimeFormatter.ofPattern("yyyy.MM.dd E hh:mm a")
|
||||||
|
)
|
||||||
|
throw SodaException("$startAvailableDateTimeString 이후에 시작할 수 있습니다.")
|
||||||
|
}
|
||||||
|
|
||||||
room.channelName = "SODA_LIVE_CHANNEL_" +
|
room.channelName = "SODA_LIVE_CHANNEL_" +
|
||||||
"${member.id}_${dateTime.year}_${dateTime.month}_${dateTime.dayOfMonth}_" +
|
"${member.id}_${dateTime.year}_${dateTime.month}_${dateTime.dayOfMonth}_" +
|
||||||
"${dateTime.hour}_${dateTime.minute}"
|
"${dateTime.hour}_${dateTime.minute}"
|
||||||
|
|
||||||
room.beginDateTime = nowDateTime
|
|
||||||
|
|
||||||
applicationEventPublisher.publishEvent(
|
applicationEventPublisher.publishEvent(
|
||||||
FcmEvent(
|
FcmEvent(
|
||||||
type = FcmEventType.START_LIVE,
|
type = FcmEventType.START_LIVE,
|
||||||
|
|
Loading…
Reference in New Issue