라이브 방 - 후원 메시지 리스트

- 방장은 모든 후원 메시지를 볼 수 있도록 수정
This commit is contained in:
Klaus 2024-11-11 12:37:14 +09:00
parent 6111409d66
commit 297f6555f3
2 changed files with 21 additions and 2 deletions

View File

@ -56,6 +56,7 @@ interface LiveRoomQueryRepository {
fun getRoomActiveAndChannelNameIsNotNull(memberId: Long): List<LiveRoom>
fun getActiveRoomIdList(memberId: Long): Int
fun getTotalHeartCount(roomId: Long): Int?
fun getLiveRoomCreatorId(roomId: Long): Long?
}
class LiveRoomQueryRepositoryImpl(
@ -334,4 +335,15 @@ class LiveRoomQueryRepositoryImpl(
.where(where)
.fetchOne()
}
override fun getLiveRoomCreatorId(roomId: Long): Long? {
return queryFactory
.select(liveRoom.member.id)
.from(liveRoom)
.where(
liveRoom.isActive.isTrue
.and(liveRoom.id.eq(roomId))
)
.fetchFirst()
}
}

View File

@ -885,11 +885,18 @@ class LiveRoomService(
}
fun getDonationMessageList(roomId: Long, member: Member): List<LiveRoomDonationMessage> {
val liveRoomCreatorId = repository.getLiveRoomCreatorId(roomId)
?: throw SodaException("해당하는 라이브의 정보가 없습니다.")
val roomInfo = roomInfoRepository.findByIdOrNull(roomId)
?: throw SodaException("해당하는 라이브의 정보가 없습니다.")
return roomInfo.donationMessageList
.filter { !it.isSecret || it.memberId == member.id!! }
return if (liveRoomCreatorId != member.id!!) {
roomInfo.donationMessageList
.filter { !it.isSecret || it.memberId == member.id!! }
} else {
roomInfo.donationMessageList
}
}
fun deleteDonationMessage(request: DeleteLiveRoomDonationMessage, member: Member) {