Compare commits

..

No commits in common. "c097cb54f17c357e1442d38c9af3b8127a3c4c58" and "7328283b6b1b5ac957d83213a221655763563ea7" have entirely different histories.

2 changed files with 19 additions and 37 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.NewRouletteRepository import kr.co.vividnext.sodalive.live.roulette.RouletteRepository
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: NewRouletteRepository, private val rouletteRepository: RouletteRepository,
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,12 +1004,10 @@ class LiveRoomService(
kickOutService.deleteKickOutData(roomId = room.id!!) kickOutService.deleteKickOutData(roomId = room.id!!)
roomInfoRepository.deleteById(roomInfo.roomId) roomInfoRepository.deleteById(roomInfo.roomId)
val rouletteList = rouletteRepository.findByCreatorId(creatorId = member.id!!) val roulette = rouletteRepository.findByIdOrNull(member.id!!)
if (rouletteList.isNotEmpty()) { if (roulette != null) {
rouletteList.forEach { roulette.isActive = false
it.isActive = false rouletteRepository.save(roulette)
rouletteRepository.save(it)
}
} }
} else { } else {
roomInfo.removeSpeaker(member) roomInfo.removeSpeaker(member)

View File

@ -37,8 +37,10 @@ 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(
@ -55,6 +57,8 @@ class NewRouletteService(
} }
} }
rouletteList.sortedBy { it.id } rouletteList.sortedBy { it.id }
println(rouletteList)
println(oldRepository.findByIdOrNull(creatorId))
return rouletteList.asSequence() return rouletteList.asSequence()
.map { .map {
@ -86,38 +90,18 @@ 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)
if (request.isActive) { val roulette = repository.findByIdOrNull(request.id)
val rouletteList = repository.findByCreatorId(creatorId = memberId) ?: throw SodaException("잘못된 요청입니다.")
if (rouletteList.isEmpty()) { if (roulette.creatorId != memberId) {
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
} }