라이브 예약 후 시작 시 푸시 - join 제거
This commit is contained in:
		| @@ -2,6 +2,7 @@ package kr.co.vividnext.sodalive.fcm | ||||
|  | ||||
| import kr.co.vividnext.sodalive.content.comment.AudioContentCommentRepository | ||||
| import kr.co.vividnext.sodalive.member.MemberRepository | ||||
| import org.slf4j.LoggerFactory | ||||
| import org.springframework.scheduling.annotation.Async | ||||
| import org.springframework.stereotype.Component | ||||
| import org.springframework.transaction.annotation.Propagation | ||||
| @@ -34,10 +35,14 @@ class FcmSendListener( | ||||
|     private val memberRepository: MemberRepository, | ||||
|     private val contentCommentRepository: AudioContentCommentRepository | ||||
| ) { | ||||
|     private val logger = LoggerFactory.getLogger(this::class.java) | ||||
|  | ||||
|     @Async | ||||
|     @TransactionalEventListener | ||||
|     @Transactional(propagation = Propagation.REQUIRES_NEW) | ||||
|     fun send(fcmEvent: FcmEvent) { | ||||
|         logger.info("발송타입 - ${fcmEvent.type}") | ||||
|  | ||||
|         when (fcmEvent.type) { | ||||
|             FcmEventType.ALL -> { | ||||
|                 if (fcmEvent.container.isNotBlank()) { | ||||
|   | ||||
| @@ -149,9 +149,6 @@ class MemberQueryRepositoryImpl( | ||||
|         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) | ||||
| @@ -165,16 +162,12 @@ class MemberQueryRepositoryImpl( | ||||
|             .and(creatorFollowing.member.pushToken.isNotNull) | ||||
|  | ||||
|         if (isAuth) { | ||||
|             where = where.and(member.auth.isNotNull) | ||||
|             where = where.and(creatorFollowing.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() | ||||
| @@ -192,15 +185,12 @@ class MemberQueryRepositoryImpl( | ||||
|             ) | ||||
|  | ||||
|         if (isAuth) { | ||||
|             where = where.and(member.auth.isNotNull) | ||||
|             where = where.and(liveReservation.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() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user