From 39b27b2a17d68f856b18d51c5338990db3a848b7 Mon Sep 17 00:00:00 2001 From: Klaus Date: Tue, 14 May 2024 17:13:36 +0900 Subject: [PATCH] =?UTF-8?q?=EB=9D=BC=EC=9D=B4=EB=B8=8C=20=EB=B0=A9=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1,=20=EC=8B=9C=EC=9E=91=20-=20=ED=81=AC?= =?UTF-8?q?=EB=A6=AC=EC=97=90=EC=9D=B4=ED=84=B0=EA=B0=80=20=EC=9E=85?= =?UTF-8?q?=EC=9E=A5=20=EB=B6=88=EA=B0=80=EB=8A=A5=ED=95=9C=20=EB=9D=BC?= =?UTF-8?q?=EC=9D=B4=EB=B8=8C=EC=9D=98=20=EA=B2=BD=EC=9A=B0=20=ED=81=AC?= =?UTF-8?q?=EB=A6=AC=EC=97=90=EC=9D=B4=ED=84=B0=EC=97=90=EA=B2=8C=EB=8A=94?= =?UTF-8?q?=20=ED=91=B8=EC=8B=9C=EB=B0=9C=EC=86=A1=EC=9D=B4=20=EB=90=98?= =?UTF-8?q?=EC=A7=80=20=EC=95=8A=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 --- .../kotlin/kr/co/vividnext/sodalive/fcm/FcmEvent.kt | 5 ++++- .../vividnext/sodalive/live/room/LiveRoomService.kt | 4 ++++ .../co/vividnext/sodalive/member/MemberRepository.kt | 12 ++++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/fcm/FcmEvent.kt b/src/main/kotlin/kr/co/vividnext/sodalive/fcm/FcmEvent.kt index 833a825..8330a24 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/fcm/FcmEvent.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/fcm/FcmEvent.kt @@ -26,7 +26,8 @@ class FcmEvent( val messageId: Long? = null, val creatorId: Long? = null, val commentParentId: Long? = null, - val myMemberId: Long? = null + val myMemberId: Long? = null, + val isAvailableJoinCreator: Boolean? = null ) @Component @@ -99,6 +100,7 @@ class FcmSendListener( val pushTokens = memberRepository.getCreateLiveRoomNotificationRecipientPushTokens( creatorId = fcmEvent.creatorId!!, isAuth = fcmEvent.isAuth ?: false, + isAvailableJoinCreator = fcmEvent.isAvailableJoinCreator ?: false, container = fcmEvent.container ) @@ -120,6 +122,7 @@ class FcmSendListener( creatorId = fcmEvent.creatorId!!, roomId = fcmEvent.roomId!!, isAuth = fcmEvent.isAuth ?: false, + isAvailableJoinCreator = fcmEvent.isAvailableJoinCreator ?: false, container = fcmEvent.container ) 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 66e9d38..3bb8df2 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 @@ -376,6 +376,7 @@ class LiveRoomService( "라이브를 예약했습니다. - ${createdRoom.title}" }, isAuth = createdRoom.isAdult, + isAvailableJoinCreator = createdRoom.isAvailableJoinCreator, roomId = createdRoom.id, creatorId = createdRoom.member!!.id, container = "ios" @@ -392,6 +393,7 @@ class LiveRoomService( "라이브를 예약했습니다. - ${createdRoom.title}" }, isAuth = createdRoom.isAdult, + isAvailableJoinCreator = createdRoom.isAvailableJoinCreator, roomId = createdRoom.id, creatorId = createdRoom.member!!.id, container = "aos" @@ -534,6 +536,7 @@ class LiveRoomService( title = room.member!!.nickname, message = "라이브를 시작했습니다 - ${room.title}", isAuth = room.isAdult, + isAvailableJoinCreator = room.isAvailableJoinCreator, roomId = room.id, creatorId = room.member!!.id, container = "ios" @@ -546,6 +549,7 @@ class LiveRoomService( title = room.member!!.nickname, message = "라이브를 시작했습니다 - ${room.title}", isAuth = room.isAdult, + isAvailableJoinCreator = room.isAvailableJoinCreator, roomId = room.id, creatorId = room.member!!.id, container = "aos" diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/member/MemberRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/member/MemberRepository.kt index 9839c64..364f2e4 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/member/MemberRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/member/MemberRepository.kt @@ -29,6 +29,7 @@ interface MemberQueryRepository { fun getCreateLiveRoomNotificationRecipientPushTokens( creatorId: Long, isAuth: Boolean, + isAvailableJoinCreator: Boolean, container: String ): List> @@ -36,6 +37,7 @@ interface MemberQueryRepository { creatorId: Long, roomId: Long, isAuth: Boolean, + isAvailableJoinCreator: Boolean, container: String ): List> @@ -120,6 +122,7 @@ class MemberQueryRepositoryImpl( override fun getCreateLiveRoomNotificationRecipientPushTokens( creatorId: Long, isAuth: Boolean, + isAvailableJoinCreator: Boolean, container: String ): List> { val member = QMember.member @@ -142,6 +145,10 @@ class MemberQueryRepositoryImpl( where = where.and(auth.isNotNull) } + if (!isAvailableJoinCreator) { + where = where.and(creatorFollowing.member.role.ne(MemberRole.CREATOR)) + } + return queryFactory .select(creatorFollowing.member.pushToken) .from(creatorFollowing) @@ -159,6 +166,7 @@ class MemberQueryRepositoryImpl( creatorId: Long, roomId: Long, isAuth: Boolean, + isAvailableJoinCreator: Boolean, container: String ): List> { val member = QMember.member @@ -181,6 +189,10 @@ class MemberQueryRepositoryImpl( where = where.and(auth.isNotNull) } + if (!isAvailableJoinCreator) { + where = where.and(creatorFollowing.member.role.ne(MemberRole.CREATOR)) + } + val followingMemberPushToken = queryFactory .select(creatorFollowing.member.pushToken) .from(creatorFollowing)