크리에이터 채널 공지사항 변경 시 푸시 발송
This commit is contained in:
@@ -40,6 +40,8 @@ interface MemberQueryRepository {
|
||||
fun getIndividualRecipientPushTokens(recipients: List<Long>, isAuth: Boolean): Map<String, List<List<String>>>
|
||||
fun getChangeNicknamePrice(memberId: Long): GetChangeNicknamePriceResponse
|
||||
fun getMemberByEmail(email: String): Member?
|
||||
|
||||
fun getChangeNoticeRecipientPushTokens(creatorId: Long): Map<String, List<List<String>>>
|
||||
}
|
||||
|
||||
@Repository
|
||||
@@ -244,4 +246,41 @@ class MemberQueryRepositoryImpl(
|
||||
.where(member.email.eq(email))
|
||||
.fetchOne()
|
||||
}
|
||||
|
||||
override fun getChangeNoticeRecipientPushTokens(creatorId: Long): Map<String, List<List<String>>> {
|
||||
val member = QMember.member
|
||||
val creator = QMember.member
|
||||
|
||||
val where = creatorFollowing.isActive.isTrue
|
||||
.and(creatorFollowing.creator.id.eq(creatorId))
|
||||
.and(creatorFollowing.member.email.notIn("admin@sodalive.net"))
|
||||
.and(
|
||||
creatorFollowing.member.id.notIn(
|
||||
blockMemberRepository.getBlockedMemberList(creatorId)
|
||||
)
|
||||
)
|
||||
.and(creatorFollowing.member.pushToken.isNotNull)
|
||||
|
||||
val aosPushTokens = queryFactory
|
||||
.select(creatorFollowing.member.pushToken)
|
||||
.from(creatorFollowing)
|
||||
.innerJoin(creatorFollowing.creator, creator)
|
||||
.innerJoin(creatorFollowing.member, member)
|
||||
.where(where.and(member.container.eq("aos")))
|
||||
.fetch()
|
||||
.toSet()
|
||||
.chunked(500)
|
||||
|
||||
val iosPushTokens = queryFactory
|
||||
.select(creatorFollowing.member.pushToken)
|
||||
.from(creatorFollowing)
|
||||
.innerJoin(creatorFollowing.creator, creator)
|
||||
.innerJoin(creatorFollowing.member, member)
|
||||
.where(where.and(member.container.eq("ios")))
|
||||
.fetch()
|
||||
.toSet()
|
||||
.chunked(500)
|
||||
|
||||
return mapOf("aos" to aosPushTokens, "ios" to iosPushTokens)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user