test #98
|
@ -69,6 +69,7 @@ class ExplorerQueryRepository(
|
||||||
useCanCalculate.status.eq(UseCanCalculateStatus.RECEIVED)
|
useCanCalculate.status.eq(UseCanCalculateStatus.RECEIVED)
|
||||||
.and(
|
.and(
|
||||||
useCan.canUsage.eq(CanUsage.DONATION)
|
useCan.canUsage.eq(CanUsage.DONATION)
|
||||||
|
.or(useCan.canUsage.eq(CanUsage.SPIN_ROULETTE))
|
||||||
.or(useCan.canUsage.eq(CanUsage.LIVE))
|
.or(useCan.canUsage.eq(CanUsage.LIVE))
|
||||||
)
|
)
|
||||||
.and(useCan.isRefund.isFalse)
|
.and(useCan.isRefund.isFalse)
|
||||||
|
@ -107,6 +108,7 @@ class ExplorerQueryRepository(
|
||||||
.and(useCanCalculate.recipientCreatorId.eq(creatorId))
|
.and(useCanCalculate.recipientCreatorId.eq(creatorId))
|
||||||
.and(
|
.and(
|
||||||
useCan.canUsage.eq(CanUsage.DONATION)
|
useCan.canUsage.eq(CanUsage.DONATION)
|
||||||
|
.or(useCan.canUsage.eq(CanUsage.SPIN_ROULETTE))
|
||||||
.or(useCan.canUsage.eq(CanUsage.LIVE))
|
.or(useCan.canUsage.eq(CanUsage.LIVE))
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
@ -137,6 +139,7 @@ class ExplorerQueryRepository(
|
||||||
.and(useCanCalculate.recipientCreatorId.eq(creatorId))
|
.and(useCanCalculate.recipientCreatorId.eq(creatorId))
|
||||||
.and(
|
.and(
|
||||||
useCan.canUsage.eq(CanUsage.DONATION)
|
useCan.canUsage.eq(CanUsage.DONATION)
|
||||||
|
.or(useCan.canUsage.eq(CanUsage.SPIN_ROULETTE))
|
||||||
.or(useCan.canUsage.eq(CanUsage.LIVE))
|
.or(useCan.canUsage.eq(CanUsage.LIVE))
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
|
@ -41,6 +41,7 @@ interface LiveRoomQueryRepository {
|
||||||
fun getRecentRoomInfo(memberId: Long, cloudFrontHost: String): GetRecentRoomInfoResponse?
|
fun getRecentRoomInfo(memberId: Long, cloudFrontHost: String): GetRecentRoomInfoResponse?
|
||||||
fun getDonationTotal(roomId: Long): Int?
|
fun getDonationTotal(roomId: Long): Int?
|
||||||
fun getDonationList(roomId: Long, cloudFrontHost: String): List<GetLiveRoomDonationItem>
|
fun getDonationList(roomId: Long, cloudFrontHost: String): List<GetLiveRoomDonationItem>
|
||||||
|
fun getRoomActiveAndChannelNameIsNotNull(): List<LiveRoom>
|
||||||
}
|
}
|
||||||
|
|
||||||
class LiveRoomQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : LiveRoomQueryRepository {
|
class LiveRoomQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : LiveRoomQueryRepository {
|
||||||
|
@ -190,6 +191,16 @@ class LiveRoomQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : L
|
||||||
.fetch()
|
.fetch()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun getRoomActiveAndChannelNameIsNotNull(): List<LiveRoom> {
|
||||||
|
return queryFactory
|
||||||
|
.selectFrom(liveRoom)
|
||||||
|
.where(
|
||||||
|
liveRoom.isActive.isTrue
|
||||||
|
.and(liveRoom.channelName.isNotNull)
|
||||||
|
)
|
||||||
|
.fetch()
|
||||||
|
}
|
||||||
|
|
||||||
private fun orderByFieldAccountId(
|
private fun orderByFieldAccountId(
|
||||||
memberId: Long,
|
memberId: Long,
|
||||||
status: LiveRoomStatus,
|
status: LiveRoomStatus,
|
||||||
|
|
|
@ -182,6 +182,13 @@ class LiveRoomService(
|
||||||
now
|
now
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (now == beginDateTime) {
|
||||||
|
val activeRooms = repository.getRoomActiveAndChannelNameIsNotNull()
|
||||||
|
for (activeRoom in activeRooms) {
|
||||||
|
activeRoom.isActive = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
request.beginDateTimeString != null &&
|
request.beginDateTimeString != null &&
|
||||||
beginDateTime < now.plusMinutes(30)
|
beginDateTime < now.plusMinutes(30)
|
||||||
|
@ -403,6 +410,11 @@ class LiveRoomService(
|
||||||
throw SodaException("$startAvailableDateTimeString 이후에 시작할 수 있습니다.")
|
throw SodaException("$startAvailableDateTimeString 이후에 시작할 수 있습니다.")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val activeRooms = repository.getRoomActiveAndChannelNameIsNotNull()
|
||||||
|
for (activeRoom in activeRooms) {
|
||||||
|
activeRoom.isActive = false
|
||||||
|
}
|
||||||
|
|
||||||
val dateTime = nowDateTime
|
val dateTime = nowDateTime
|
||||||
.atZone(ZoneId.of("UTC"))
|
.atZone(ZoneId.of("UTC"))
|
||||||
.withZoneSameInstant(ZoneId.of(request.timezone))
|
.withZoneSameInstant(ZoneId.of(request.timezone))
|
||||||
|
|
Loading…
Reference in New Issue