From 9f2b43ea0cbde1bf7df91dfd44dc5f8e36b160ab Mon Sep 17 00:00:00 2001 From: Klaus Date: Wed, 25 Sep 2024 14:16:16 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=EB=9D=BC=EC=9D=B4=EB=B8=8C=20-=20=EC=98=88?= =?UTF-8?q?=EC=95=BD=20=EA=B0=9C=EC=88=98=20=EC=B5=9C=EB=8C=80=203?= =?UTF-8?q?=EA=B0=9C=EA=B9=8C=EC=A7=80=EB=A1=9C=20=ED=95=9C=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sodalive/live/room/LiveRoomRepository.kt | 13 +++++++++++++ .../vividnext/sodalive/live/room/LiveRoomService.kt | 4 ++++ 2 files changed, 17 insertions(+) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomRepository.kt index 5964b99..ed147f8 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomRepository.kt @@ -52,6 +52,7 @@ interface LiveRoomQueryRepository { fun getDonationTotal(roomId: Long, isLiveCreator: Boolean): Int? fun getDonationList(roomId: Long, isLiveCreator: Boolean): List fun getRoomActiveAndChannelNameIsNotNull(memberId: Long): List + fun getActiveRoomIdList(memberId: Long): Int } class LiveRoomQueryRepositoryImpl( @@ -283,4 +284,16 @@ class LiveRoomQueryRepositoryImpl( ) .fetch() } + + override fun getActiveRoomIdList(memberId: Long): Int { + return queryFactory + .select(liveRoom.id) + .from(liveRoom) + .where( + liveRoom.isActive.isTrue + .and(liveRoom.member.id.eq(memberId)) + ) + .fetch() + .size + } } 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 a3e682b..215143d 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 @@ -247,6 +247,10 @@ class LiveRoomService( @Transactional fun createLiveRoom(coverImage: MultipartFile?, requestString: String, member: Member): CreateLiveRoomResponse { + if (repository.getActiveRoomIdList(memberId = member.id!!) >= 3) { + throw SodaException("라이브 예약은 최대 3개까지 가능합니다.") + } + val request = objectMapper.readValue(requestString, CreateLiveRoomRequest::class.java) if (request.coverImageUrl == null && coverImage == null) { throw SodaException("커버이미지를 선택해 주세요.") -- 2.40.1 From f1611efe7cf087f285b3bc3e06a7d1fbc1eb9089 Mon Sep 17 00:00:00 2001 From: Klaus Date: Wed, 25 Sep 2024 14:29:35 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=EB=9D=BC=EC=9D=B4=EB=B8=8C=20=EC=98=88?= =?UTF-8?q?=EC=95=BD=20-=203=EA=B0=9C=EB=A5=BC=20=EC=B4=88=EA=B3=BC?= =?UTF-8?q?=ED=95=A0=20=EB=95=8C=20=EC=95=88=EB=82=B4=20=EB=AC=B8=EA=B5=AC?= =?UTF-8?q?=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kr/co/vividnext/sodalive/live/room/LiveRoomRepository.kt | 1 + .../kr/co/vividnext/sodalive/live/room/LiveRoomService.kt | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomRepository.kt index ed147f8..6d2eb3d 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomRepository.kt @@ -291,6 +291,7 @@ class LiveRoomQueryRepositoryImpl( .from(liveRoom) .where( liveRoom.isActive.isTrue + .and(liveRoom.channelName.isNull) .and(liveRoom.member.id.eq(memberId)) ) .fetch() 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 215143d..2de3e07 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 @@ -248,7 +248,7 @@ class LiveRoomService( @Transactional fun createLiveRoom(coverImage: MultipartFile?, requestString: String, member: Member): CreateLiveRoomResponse { if (repository.getActiveRoomIdList(memberId = member.id!!) >= 3) { - throw SodaException("라이브 예약은 최대 3개까지 가능합니다.") + throw SodaException("예약 라이브는 최대 3개까지 가능합니다.") } val request = objectMapper.readValue(requestString, CreateLiveRoomRequest::class.java) -- 2.40.1