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

- 비밀 후원 메시지 추가
This commit is contained in:
Klaus 2024-11-11 12:29:29 +09:00
parent 5820117c1a
commit 6111409d66
4 changed files with 16 additions and 4 deletions

View File

@ -889,6 +889,7 @@ class LiveRoomService(
?: throw SodaException("해당하는 라이브의 정보가 없습니다.")
return roomInfo.donationMessageList
.filter { !it.isSecret || it.memberId == member.id!! }
}
fun deleteDonationMessage(request: DeleteLiveRoomDonationMessage, member: Member) {
@ -1068,14 +1069,16 @@ class LiveRoomService(
container = request.container
)
if (!request.isSecret && request.message.isNotBlank()) {
if (request.message.isNotBlank()) {
val lock = getOrCreateLock(memberId = member.id!!)
lock.write {
val roomInfo = roomInfoRepository.findByIdOrNull(room.id!!)
?: throw SodaException("해당하는 라이브의 정보가 없습니다.")
roomInfo.addDonationMessage(
memberId = member.id!!,
nickname = member.nickname,
isSecret = request.isSecret,
can = request.can,
donationMessage = request.message
)
@ -1112,14 +1115,16 @@ class LiveRoomService(
container = request.container
)
if (!request.isSecret && request.message.isNotBlank()) {
if (request.message.isNotBlank()) {
val lock = getOrCreateLock(memberId = member.id!!)
lock.write {
val roomInfo = roomInfoRepository.findByIdOrNull(room.id!!)
?: throw SodaException("해당하는 라이브의 정보가 없습니다.")
roomInfo.addDonationMessage(
memberId = member.id!!,
nickname = member.nickname,
isSecret = request.isSecret,
can = request.can,
donationMessage = request.message
)

View File

@ -4,7 +4,9 @@ import java.util.UUID
data class LiveRoomDonationMessage(
val uuid: String = UUID.randomUUID().toString(),
val memberId: Long,
val nickname: String,
val isSecret: Boolean,
val canMessage: String,
val donationMessage: String
)

View File

@ -83,11 +83,13 @@ data class LiveRoomInfo(
managerCount = managerList.size
}
fun addDonationMessage(nickname: String, can: Int, donationMessage: String) {
fun addDonationMessage(memberId: Long, nickname: String, isSecret: Boolean, can: Int, donationMessage: String) {
val donationMessageSet = donationMessageList.toMutableSet()
donationMessageSet.add(
LiveRoomDonationMessage(
memberId = memberId,
nickname = nickname,
isSecret = isSecret,
canMessage = "${can}캔을 후원하셨습니다.",
donationMessage = donationMessage
)
@ -95,11 +97,13 @@ data class LiveRoomInfo(
donationMessageList = donationMessageSet.toList()
}
fun addRouletteMessage(nickname: String, donationMessage: String) {
fun addRouletteMessage(memberId: Long, nickname: String, donationMessage: String) {
val donationMessageSet = donationMessageList.toMutableSet()
donationMessageSet.add(
LiveRoomDonationMessage(
memberId = memberId,
nickname = nickname,
isSecret = false,
canMessage = "",
donationMessage = donationMessage
)

View File

@ -162,6 +162,7 @@ class RouletteService(
?: throw SodaException("해당하는 라이브의 정보가 없습니다.")
roomInfo.addRouletteMessage(
memberId = member.id!!,
nickname = member.nickname,
donationMessage = "[$result] 당첨!"
)