From b556219e3629a09b4a09e1bf4d9de4f0123ae17e Mon Sep 17 00:00:00 2001 From: Klaus Date: Mon, 7 Aug 2023 14:47:00 +0900 Subject: [PATCH] =?UTF-8?q?=EB=9D=BC=EC=9D=B4=EB=B8=8C=20=EC=9E=85?= =?UTF-8?q?=EC=9E=A5=20-=20=ED=87=B4=EC=9E=A5=20=ED=9A=9F=EC=88=98=20?= =?UTF-8?q?=EC=B2=B4=ED=81=AC,=20=EC=B0=A8=EB=8B=A8=EB=90=9C=20=EC=9C=A0?= =?UTF-8?q?=EC=A0=80=20=EC=B2=B4=ED=81=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kr/co/vividnext/sodalive/live/room/LiveRoomService.kt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomService.kt index 3244c86..171c8a3 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomService.kt @@ -42,6 +42,7 @@ import kr.co.vividnext.sodalive.member.Gender import kr.co.vividnext.sodalive.member.Member import kr.co.vividnext.sodalive.member.MemberRepository import kr.co.vividnext.sodalive.member.MemberRole +import kr.co.vividnext.sodalive.member.block.BlockMemberRepository import kr.co.vividnext.sodalive.utils.generateFileName import org.springframework.beans.factory.annotation.Value import org.springframework.data.domain.Pageable @@ -63,6 +64,7 @@ class LiveRoomService( private val roomInfoRepository: LiveRoomInfoRedisRepository, private val roomCancelRepository: LiveRoomCancelRepository, private val kickOutService: LiveRoomKickOutService, + private val blockMemberRepository: BlockMemberRepository, private val useCanCalculateRepository: UseCanCalculateRepository, private val reservationRepository: LiveReservationRepository, @@ -419,6 +421,12 @@ class LiveRoomService( throw SodaException("비밀번호가 일치하지 않습니다.\n다시 확인 후 입력해주세요.") } + val isBlocked = blockMemberRepository.isBlocked(blockedMemberId = member.id!!, memberId = room.member!!.id!!) + if (isBlocked) throw SodaException("${room.member!!.nickname}님의 요청으로 라이브에 입장할 수 없습니다.") + + val kickOutCount = kickOutService.getKickOutCount(roomId = room.id!!, userId = member.id!!) + if (kickOutCount >= 2) throw SodaException("${room.member!!.nickname}님의 요청으로 라이브에 참여할 수 없습니다.") + val lock = getOrCreateLock(memberId = member.id!!) lock.write { var roomInfo = roomInfoRepository.findByIdOrNull(request.roomId)