test #24

Merged
klaus merged 2 commits from test into main 2023-08-30 07:24:15 +00:00
3 changed files with 76 additions and 1 deletions

View File

@ -113,7 +113,7 @@ class FcmSendListener(
FcmEventType.START_LIVE -> {
if (fcmEvent.container.isNotBlank()) {
val pushTokens = memberRepository.getCreateLiveRoomNotificationRecipientPushTokens(
val pushTokens = memberRepository.getStartLiveRoomNotificationRecipientPushTokens(
creatorId = fcmEvent.creatorId!!,
isAuth = fcmEvent.isAuth,
container = fcmEvent.container

View File

@ -3,6 +3,8 @@ package kr.co.vividnext.sodalive.member
import com.querydsl.jpa.impl.JPAQueryFactory
import kr.co.vividnext.sodalive.fcm.GetMessageRecipientPushTokenResponse
import kr.co.vividnext.sodalive.fcm.QGetMessageRecipientPushTokenResponse
import kr.co.vividnext.sodalive.live.reservation.QLiveReservation.liveReservation
import kr.co.vividnext.sodalive.live.room.QLiveRoom.liveRoom
import kr.co.vividnext.sodalive.member.QMember.member
import kr.co.vividnext.sodalive.member.auth.QAuth.auth
import kr.co.vividnext.sodalive.member.block.BlockMemberRepository
@ -30,6 +32,12 @@ interface MemberQueryRepository {
container: String
): List<List<String>>
fun getStartLiveRoomNotificationRecipientPushTokens(
creatorId: Long,
isAuth: Boolean,
container: String
): List<List<String>>
fun getUploadContentNotificationRecipientPushTokens(
creatorId: Long,
isAuth: Boolean,
@ -135,6 +143,71 @@ class MemberQueryRepositoryImpl(
.chunked(500)
}
override fun getStartLiveRoomNotificationRecipientPushTokens(
creatorId: Long,
isAuth: Boolean,
container: String
): List<List<String>> {
val member = QMember.member
val creator = QMember.member
var where = creatorFollowing.isActive.isTrue
.and(creatorFollowing.creator.id.eq(creatorId))
.and(creatorFollowing.member.notification.live.isTrue)
.and(creatorFollowing.member.container.eq(container))
.and(creatorFollowing.member.email.notIn("admin@sodalive.net"))
.and(
creatorFollowing.member.id.notIn(
blockMemberRepository.getBlockedMemberList(creatorId)
)
)
.and(creatorFollowing.member.pushToken.isNotNull)
if (isAuth) {
where = where.and(member.auth.isNotNull)
}
val followingMemberPushToken = queryFactory
.select(creatorFollowing.member.pushToken)
.from(creatorFollowing)
.innerJoin(creatorFollowing.creator, creator)
.innerJoin(creatorFollowing.member, member)
.innerJoin(member.notification, memberNotification)
.leftJoin(member.auth, auth)
.where(where)
.fetch()
.toSet()
.chunked(500)
where = liveReservation.isActive.isTrue
.and(liveReservation.member.notification.live.isTrue)
.and(liveReservation.member.container.eq(container))
.and(liveReservation.member.email.notIn("admin@sodalive.net"))
.and(liveReservation.member.pushToken.isNotNull)
.and(
liveReservation.member.id.notIn(
blockMemberRepository.getBlockedMemberList(creatorId)
)
)
if (isAuth) {
where = where.and(member.auth.isNotNull)
}
val reservationMemberPushToken = queryFactory
.select(liveReservation.member.pushToken)
.from(liveReservation)
.innerJoin(liveReservation.member, member)
.innerJoin(liveReservation.room, liveRoom)
.innerJoin(liveRoom.member, creator)
.where(where)
.fetch()
.toSet()
.chunked(500)
return followingMemberPushToken + reservationMemberPushToken
}
override fun getUploadContentNotificationRecipientPushTokens(
creatorId: Long,
isAuth: Boolean,

View File

@ -349,6 +349,7 @@ class MemberService(
}
}
@Transactional
fun memberBlock(request: MemberBlockRequest, memberId: Long) {
var blockMember = blockMemberRepository.getBlockAccount(
blockedMemberId = request.blockMemberId,
@ -367,6 +368,7 @@ class MemberService(
}
}
@Transactional
fun memberUnBlock(request: MemberBlockRequest, memberId: Long) {
val blockMember = blockMemberRepository.getBlockAccount(
blockedMemberId = request.blockMemberId,