test #98

Merged
klaus merged 2 commits from test into main 2023-12-10 09:02:30 +00:00
3 changed files with 26 additions and 0 deletions

View File

@ -69,6 +69,7 @@ class ExplorerQueryRepository(
useCanCalculate.status.eq(UseCanCalculateStatus.RECEIVED)
.and(
useCan.canUsage.eq(CanUsage.DONATION)
.or(useCan.canUsage.eq(CanUsage.SPIN_ROULETTE))
.or(useCan.canUsage.eq(CanUsage.LIVE))
)
.and(useCan.isRefund.isFalse)
@ -107,6 +108,7 @@ class ExplorerQueryRepository(
.and(useCanCalculate.recipientCreatorId.eq(creatorId))
.and(
useCan.canUsage.eq(CanUsage.DONATION)
.or(useCan.canUsage.eq(CanUsage.SPIN_ROULETTE))
.or(useCan.canUsage.eq(CanUsage.LIVE))
)
)
@ -137,6 +139,7 @@ class ExplorerQueryRepository(
.and(useCanCalculate.recipientCreatorId.eq(creatorId))
.and(
useCan.canUsage.eq(CanUsage.DONATION)
.or(useCan.canUsage.eq(CanUsage.SPIN_ROULETTE))
.or(useCan.canUsage.eq(CanUsage.LIVE))
)
)

View File

@ -41,6 +41,7 @@ interface LiveRoomQueryRepository {
fun getRecentRoomInfo(memberId: Long, cloudFrontHost: String): GetRecentRoomInfoResponse?
fun getDonationTotal(roomId: Long): Int?
fun getDonationList(roomId: Long, cloudFrontHost: String): List<GetLiveRoomDonationItem>
fun getRoomActiveAndChannelNameIsNotNull(): List<LiveRoom>
}
class LiveRoomQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : LiveRoomQueryRepository {
@ -190,6 +191,16 @@ class LiveRoomQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : L
.fetch()
}
override fun getRoomActiveAndChannelNameIsNotNull(): List<LiveRoom> {
return queryFactory
.selectFrom(liveRoom)
.where(
liveRoom.isActive.isTrue
.and(liveRoom.channelName.isNotNull)
)
.fetch()
}
private fun orderByFieldAccountId(
memberId: Long,
status: LiveRoomStatus,

View File

@ -182,6 +182,13 @@ class LiveRoomService(
now
}
if (now == beginDateTime) {
val activeRooms = repository.getRoomActiveAndChannelNameIsNotNull()
for (activeRoom in activeRooms) {
activeRoom.isActive = false
}
}
if (
request.beginDateTimeString != null &&
beginDateTime < now.plusMinutes(30)
@ -403,6 +410,11 @@ class LiveRoomService(
throw SodaException("$startAvailableDateTimeString 이후에 시작할 수 있습니다.")
}
val activeRooms = repository.getRoomActiveAndChannelNameIsNotNull()
for (activeRoom in activeRooms) {
activeRoom.isActive = false
}
val dateTime = nowDateTime
.atZone(ZoneId.of("UTC"))
.withZoneSameInstant(ZoneId.of(request.timezone))