From 9f3a25bd7defdc9e2b9e8a59da7b1283255e73bc Mon Sep 17 00:00:00 2001 From: Klaus Date: Fri, 23 Feb 2024 17:47:09 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A3=B0=EB=A0=9B=20=EC=97=85=EB=8D=B0?= =?UTF-8?q?=EC=9D=B4=ED=8A=B8=20-=20=EB=A3=B0=EB=A0=9B=20=ED=94=84?= =?UTF-8?q?=EB=A6=AC=EC=85=8B=20=EC=A4=91=20=ED=95=98=EB=82=98=EB=9D=BC?= =?UTF-8?q?=EB=8F=84=20=ED=99=9C=EC=84=B1=ED=99=94=20=EB=90=98=EC=96=B4=20?= =?UTF-8?q?=EC=9E=88=EC=9C=BC=EB=A9=B4=20=EA=B2=B0=EA=B3=BC=EA=B0=92?= =?UTF-8?q?=EC=9D=84=20=ED=99=9C=EC=84=B1=ED=99=94=EB=A1=9C=20=EB=A6=AC?= =?UTF-8?q?=ED=84=B4=ED=95=98=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../live/roulette/NewRouletteService.kt | 51 ++++++++----------- 1 file changed, 21 insertions(+), 30 deletions(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/live/roulette/NewRouletteService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/live/roulette/NewRouletteService.kt index e457872..c12ae55 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/live/roulette/NewRouletteService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/live/roulette/NewRouletteService.kt @@ -86,39 +86,30 @@ class NewRouletteService( fun updateRoulette(memberId: Long, request: UpdateNewRouletteRequest): Boolean { rouletteValidate(can = request.can, items = request.items) - if (request.isActive) { - val rouletteList = repository.findByCreatorId(creatorId = memberId) + val rouletteList = repository.findByCreatorId(creatorId = memberId) - if (rouletteList.isEmpty()) { - 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) + if (rouletteList.isEmpty()) { + throw SodaException("잘못된 요청입니다.") } - return request.isActive + var isActive = false + rouletteList.forEach { + if (request.isActive || it.isActive) { + isActive = true + } + + if (it.id == request.id) { + it.can = request.can + it.items = request.items + it.isActive = request.isActive + repository.save(it) + } else if (request.isActive) { + it.isActive = false + repository.save(it) + } + } + + return isActive } fun getRoulette(creatorId: Long, memberId: Long): GetRouletteResponse {