라이브 방 생성, 시작

- 크리에이터가 입장 불가능한 라이브의 경우 크리에이터에게는 푸시발송이 되지 않도록 수정
This commit is contained in:
Klaus 2024-05-14 17:13:36 +09:00
parent ae4a790236
commit 39b27b2a17
3 changed files with 20 additions and 1 deletions

View File

@ -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
)

View File

@ -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"

View File

@ -29,6 +29,7 @@ interface MemberQueryRepository {
fun getCreateLiveRoomNotificationRecipientPushTokens(
creatorId: Long,
isAuth: Boolean,
isAvailableJoinCreator: Boolean,
container: String
): List<List<String>>
@ -36,6 +37,7 @@ interface MemberQueryRepository {
creatorId: Long,
roomId: Long,
isAuth: Boolean,
isAvailableJoinCreator: Boolean,
container: String
): List<List<String>>
@ -120,6 +122,7 @@ class MemberQueryRepositoryImpl(
override fun getCreateLiveRoomNotificationRecipientPushTokens(
creatorId: Long,
isAuth: Boolean,
isAvailableJoinCreator: Boolean,
container: String
): List<List<String>> {
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<List<String>> {
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)