Compare commits

..

3 Commits

Author SHA1 Message Date
Klaus c097cb54f1 룰렛 업데이트
- 업데이트 하는 룰렛이 활성화 되는 경우 다른 룰렛 모두 비활성화
2024-02-23 14:20:02 +09:00
Klaus 01aeb8e759 라이브 종료
- 모든 룰렛 비활성화
2024-02-23 14:12:30 +09:00
Klaus b163427514 디버깅용 print 제거 2024-02-23 14:04:23 +09:00
2 changed files with 37 additions and 19 deletions

View File

@ -39,7 +39,7 @@ import kr.co.vividnext.sodalive.live.room.info.LiveRoomInfoRedisRepository
import kr.co.vividnext.sodalive.live.room.info.LiveRoomMember import kr.co.vividnext.sodalive.live.room.info.LiveRoomMember
import kr.co.vividnext.sodalive.live.room.kickout.LiveRoomKickOutService import kr.co.vividnext.sodalive.live.room.kickout.LiveRoomKickOutService
import kr.co.vividnext.sodalive.live.room.visit.LiveRoomVisitService import kr.co.vividnext.sodalive.live.room.visit.LiveRoomVisitService
import kr.co.vividnext.sodalive.live.roulette.RouletteRepository import kr.co.vividnext.sodalive.live.roulette.NewRouletteRepository
import kr.co.vividnext.sodalive.live.tag.LiveTagRepository import kr.co.vividnext.sodalive.live.tag.LiveTagRepository
import kr.co.vividnext.sodalive.member.Gender import kr.co.vividnext.sodalive.member.Gender
import kr.co.vividnext.sodalive.member.Member import kr.co.vividnext.sodalive.member.Member
@ -66,7 +66,7 @@ import kotlin.concurrent.write
@Transactional(readOnly = true) @Transactional(readOnly = true)
class LiveRoomService( class LiveRoomService(
private val repository: LiveRoomRepository, private val repository: LiveRoomRepository,
private val rouletteRepository: RouletteRepository, private val rouletteRepository: NewRouletteRepository,
private val roomInfoRepository: LiveRoomInfoRedisRepository, private val roomInfoRepository: LiveRoomInfoRedisRepository,
private val roomCancelRepository: LiveRoomCancelRepository, private val roomCancelRepository: LiveRoomCancelRepository,
private val kickOutService: LiveRoomKickOutService, private val kickOutService: LiveRoomKickOutService,
@ -1004,10 +1004,12 @@ class LiveRoomService(
kickOutService.deleteKickOutData(roomId = room.id!!) kickOutService.deleteKickOutData(roomId = room.id!!)
roomInfoRepository.deleteById(roomInfo.roomId) roomInfoRepository.deleteById(roomInfo.roomId)
val roulette = rouletteRepository.findByIdOrNull(member.id!!) val rouletteList = rouletteRepository.findByCreatorId(creatorId = member.id!!)
if (roulette != null) { if (rouletteList.isNotEmpty()) {
roulette.isActive = false rouletteList.forEach {
rouletteRepository.save(roulette) it.isActive = false
rouletteRepository.save(it)
}
} }
} else { } else {
roomInfo.removeSpeaker(member) roomInfo.removeSpeaker(member)

View File

@ -37,10 +37,8 @@ class NewRouletteService(
if (creatorId != memberId) throw SodaException("잘못된 요청입니다.") if (creatorId != memberId) throw SodaException("잘못된 요청입니다.")
var rouletteList = repository.findByCreatorId(creatorId) var rouletteList = repository.findByCreatorId(creatorId)
println(rouletteList)
if (rouletteList.isEmpty()) { if (rouletteList.isEmpty()) {
val roulette = oldRepository.findByIdOrNull(creatorId) val roulette = oldRepository.findByIdOrNull(creatorId)
println(roulette)
if (roulette != null) { if (roulette != null) {
repository.save( repository.save(
NewRoulette( NewRoulette(
@ -57,8 +55,6 @@ class NewRouletteService(
} }
} }
rouletteList.sortedBy { it.id } rouletteList.sortedBy { it.id }
println(rouletteList)
println(oldRepository.findByIdOrNull(creatorId))
return rouletteList.asSequence() return rouletteList.asSequence()
.map { .map {
@ -90,18 +86,38 @@ class NewRouletteService(
fun updateRoulette(memberId: Long, request: UpdateNewRouletteRequest): Boolean { fun updateRoulette(memberId: Long, request: UpdateNewRouletteRequest): Boolean {
rouletteValidate(can = request.can, items = request.items) rouletteValidate(can = request.can, items = request.items)
val roulette = repository.findByIdOrNull(request.id) if (request.isActive) {
?: throw SodaException("잘못된 요청입니다.") val rouletteList = repository.findByCreatorId(creatorId = memberId)
if (roulette.creatorId != memberId) { if (rouletteList.isEmpty()) {
throw SodaException("잘못된 요청입니다.") throw SodaException("잘못된 요청입니다.")
}
rouletteList.forEach {
if (it.id == request.id) {
it.can = request.can
it.items = request.items
it.isActive = true
} else {
it.isActive = false
}
repository.save(it)
}
} else {
val roulette = repository.findByIdOrNull(request.id)
?: throw SodaException("잘못된 요청입니다.")
if (roulette.creatorId != memberId) {
throw SodaException("잘못된 요청입니다.")
}
roulette.can = request.can
roulette.items = request.items
roulette.isActive = false
repository.save(roulette)
} }
roulette.can = request.can
roulette.items = request.items
roulette.isActive = request.isActive
repository.save(roulette)
return request.isActive return request.isActive
} }