From 858f1a9a329a9776171d8efc718a66c4b51a1698 Mon Sep 17 00:00:00 2001 From: Klaus Date: Mon, 4 Sep 2023 19:54:58 +0900 Subject: [PATCH 01/16] =?UTF-8?q?=EC=A3=BC=EB=AC=B8=EB=AA=A9=EB=A1=9D=20-?= =?UTF-8?q?=20=ED=81=AC=EB=A6=AC=EC=97=90=EC=9D=B4=ED=84=B0=20=EB=8B=89?= =?UTF-8?q?=EB=84=A4=EC=9E=84=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sodalive/content/order/GetAudioContentOrderListResponse.kt | 1 + .../kr/co/vividnext/sodalive/content/order/OrderRepository.kt | 1 + 2 files changed, 2 insertions(+) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/order/GetAudioContentOrderListResponse.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/order/GetAudioContentOrderListResponse.kt index c762fae..52e72d9 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/order/GetAudioContentOrderListResponse.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/order/GetAudioContentOrderListResponse.kt @@ -10,6 +10,7 @@ data class GetAudioContentOrderListResponse( data class GetAudioContentOrderListItem @QueryProjection constructor( val contentId: Long, val coverImageUrl: String, + val creatorNickname: String, val title: String, val themeStr: String, val duration: String?, diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/order/OrderRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/order/OrderRepository.kt index e0ee93f..44bbfbd 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/order/OrderRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/order/OrderRepository.kt @@ -126,6 +126,7 @@ class OrderQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : Orde QGetAudioContentOrderListItem( audioContent.id, audioContent.coverImage.prepend("/").prepend(coverImageHost), + audioContent.member.nickname, audioContent.title, audioContent.theme.theme, audioContent.duration, From 27f4d78f0d023fe14815afdc7bb617b610b1b480 Mon Sep 17 00:00:00 2001 From: Klaus Date: Tue, 5 Sep 2023 11:12:02 +0900 Subject: [PATCH 02/16] =?UTF-8?q?=EC=BD=98=ED=85=90=EC=B8=A0=20=EB=8C=93?= =?UTF-8?q?=EA=B8=80=20-=20=EB=8C=93=EA=B8=80=20=EC=88=98=EC=A0=95=20?= =?UTF-8?q?=EB=A1=9C=EC=A7=81=20=EB=A6=AC=ED=8C=A9=ED=86=A0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../comment/AudioContentCommentService.kt | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/comment/AudioContentCommentService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/comment/AudioContentCommentService.kt index fb6f527..69a6ad4 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/comment/AudioContentCommentService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/comment/AudioContentCommentService.kt @@ -67,14 +67,18 @@ class AudioContentCommentService( val audioContentComment = repository.findByIdOrNull(request.commentId) ?: throw SodaException("잘못된 접근 입니다.\n확인 후 다시 시도해 주세요.") - if (audioContentComment.audioContent!!.member!!.id!! != member.id!!) { - if (audioContentComment.member == null || audioContentComment.member!!.id!! != member.id!!) { - throw SodaException("잘못된 접근 입니다.\n확인 후 다시 시도해 주세요.") - } + if ( + audioContentComment.member == null || + ( + audioContentComment.member!!.id!! != member.id!! && + audioContentComment.audioContent!!.member!!.id!! != member.id!! + ) + ) { + throw SodaException("잘못된 접근 입니다.\n확인 후 다시 시도해 주세요.") + } - if (request.comment != null) { - audioContentComment.comment = request.comment - } + if (request.comment != null) { + audioContentComment.comment = request.comment } if (request.isActive != null) { From febfa442fa92fe4c3b1436be7d529182931a9825 Mon Sep 17 00:00:00 2001 From: Klaus Date: Tue, 5 Sep 2023 11:18:59 +0900 Subject: [PATCH 03/16] =?UTF-8?q?=EC=9D=91=EC=9B=90=EA=B8=80=20-=20?= =?UTF-8?q?=EC=9D=91=EC=9B=90=EA=B8=80=20=EC=82=AD=EC=A0=9C=EB=A1=9C?= =?UTF-8?q?=EC=A7=81=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../comment/AudioContentCommentService.kt | 18 +++++++----------- .../explorer/ExplorerQueryRepository.kt | 7 ++----- .../sodalive/explorer/ExplorerService.kt | 16 ++++++++++++++-- .../sodalive/explorer/profile/CreatorCheers.kt | 2 +- .../explorer/profile/PutWriteCheersRequest.kt | 3 ++- 5 files changed, 26 insertions(+), 20 deletions(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/comment/AudioContentCommentService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/comment/AudioContentCommentService.kt index 69a6ad4..fb6f527 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/comment/AudioContentCommentService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/comment/AudioContentCommentService.kt @@ -67,18 +67,14 @@ class AudioContentCommentService( val audioContentComment = repository.findByIdOrNull(request.commentId) ?: throw SodaException("잘못된 접근 입니다.\n확인 후 다시 시도해 주세요.") - if ( - audioContentComment.member == null || - ( - audioContentComment.member!!.id!! != member.id!! && - audioContentComment.audioContent!!.member!!.id!! != member.id!! - ) - ) { - throw SodaException("잘못된 접근 입니다.\n확인 후 다시 시도해 주세요.") - } + if (audioContentComment.audioContent!!.member!!.id!! != member.id!!) { + if (audioContentComment.member == null || audioContentComment.member!!.id!! != member.id!!) { + throw SodaException("잘못된 접근 입니다.\n확인 후 다시 시도해 주세요.") + } - if (request.comment != null) { - audioContentComment.comment = request.comment + if (request.comment != null) { + audioContentComment.comment = request.comment + } } if (request.isActive != null) { diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerQueryRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerQueryRepository.kt index 5783c1f..419d279 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerQueryRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerQueryRepository.kt @@ -593,13 +593,10 @@ class ExplorerQueryRepository( .fetchFirst() } - fun getCheers(cheersId: Long, memberId: Long): CreatorCheers? { + fun getCheers(cheersId: Long): CreatorCheers? { return queryFactory .selectFrom(creatorCheers) - .where( - creatorCheers.id.eq(cheersId) - .and(creatorCheers.member.id.eq(memberId)) - ) + .where(creatorCheers.id.eq(cheersId)) .fetchFirst() } diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerService.kt index d64d4df..74ccc70 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerService.kt @@ -368,10 +368,22 @@ class ExplorerService( @Transactional fun modifyCheers(request: PutWriteCheersRequest, member: Member) { - val cheers = queryRepository.getCheers(request.cheersId, member.id!!) + val cheers = queryRepository.getCheers(request.cheersId) ?: throw SodaException("잘못된 요청입니다.") - cheers.cheers = request.content + if (cheers.creator!!.id!! != member.id!!) { + if (cheers.member!!.id != member.id!!) { + throw SodaException("잘못된 요청입니다.") + } + + if (request.content != null) { + cheers.cheers = request.content + } + } + + if (request.isActive != null) { + cheers.isActive = request.isActive + } } @Transactional diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/explorer/profile/CreatorCheers.kt b/src/main/kotlin/kr/co/vividnext/sodalive/explorer/profile/CreatorCheers.kt index 56aee2e..a7d7e54 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/explorer/profile/CreatorCheers.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/explorer/profile/CreatorCheers.kt @@ -13,7 +13,7 @@ import javax.persistence.OneToMany data class CreatorCheers( @Column(columnDefinition = "TEXT", nullable = false) var cheers: String, - val isActive: Boolean = true + var isActive: Boolean = true ) : BaseEntity() { @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "parent_id", nullable = true) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/explorer/profile/PutWriteCheersRequest.kt b/src/main/kotlin/kr/co/vividnext/sodalive/explorer/profile/PutWriteCheersRequest.kt index ebb7209..9be151f 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/explorer/profile/PutWriteCheersRequest.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/explorer/profile/PutWriteCheersRequest.kt @@ -2,5 +2,6 @@ package kr.co.vividnext.sodalive.explorer.profile data class PutWriteCheersRequest( val cheersId: Long, - val content: String + val content: String? = null, + val isActive: Boolean? = null ) From 056e575e7c798cfccb28390cd14ebccb00d76395 Mon Sep 17 00:00:00 2001 From: Klaus Date: Tue, 5 Sep 2023 12:07:08 +0900 Subject: [PATCH 04/16] =?UTF-8?q?=EC=9D=91=EC=9B=90=EA=B8=80=20-=20memberI?= =?UTF-8?q?d=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../co/vividnext/sodalive/explorer/ExplorerQueryRepository.kt | 2 ++ .../kr/co/vividnext/sodalive/explorer/GetCheersResponse.kt | 1 + 2 files changed, 3 insertions(+) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerQueryRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerQueryRepository.kt index 419d279..208465c 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerQueryRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerQueryRepository.kt @@ -451,6 +451,7 @@ class ExplorerQueryRepository( GetCheersResponseItem( cheersId = it.id!!, + memberId = it.member!!.id!!, nickname = it.member!!.nickname, profileUrl = if (it.member!!.profileImage != null) { "$cloudFrontHost/${it.member!!.profileImage}" @@ -467,6 +468,7 @@ class ExplorerQueryRepository( GetCheersResponseItem( cheersId = cheers.id!!, + memberId = cheers.member!!.id!!, nickname = cheers.member!!.nickname, profileUrl = if (cheers.member!!.profileImage != null) { "$cloudFrontHost/${cheers.member!!.profileImage}" diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/explorer/GetCheersResponse.kt b/src/main/kotlin/kr/co/vividnext/sodalive/explorer/GetCheersResponse.kt index 142f1b2..5465295 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/explorer/GetCheersResponse.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/explorer/GetCheersResponse.kt @@ -7,6 +7,7 @@ data class GetCheersResponse( data class GetCheersResponseItem( val cheersId: Long, + val memberId: Long, val nickname: String, val profileUrl: String, val content: String, From 37f2f5e40b610a0c40457998d75e033229ceed2b Mon Sep 17 00:00:00 2001 From: Klaus Date: Wed, 6 Sep 2023 15:54:27 +0900 Subject: [PATCH 05/16] =?UTF-8?q?=EC=BD=98=ED=85=90=EC=B8=A0=20=EB=8C=93?= =?UTF-8?q?=EA=B8=80=20=EC=88=98=EC=A0=95=20=EA=B8=B0=EB=8A=A5=20=EB=A6=AC?= =?UTF-8?q?=ED=8C=A9=ED=86=A0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../content/comment/AudioContentCommentService.kt | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/comment/AudioContentCommentService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/comment/AudioContentCommentService.kt index fb6f527..9dd6a27 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/comment/AudioContentCommentService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/comment/AudioContentCommentService.kt @@ -67,18 +67,19 @@ class AudioContentCommentService( val audioContentComment = repository.findByIdOrNull(request.commentId) ?: throw SodaException("잘못된 접근 입니다.\n확인 후 다시 시도해 주세요.") - if (audioContentComment.audioContent!!.member!!.id!! != member.id!!) { - if (audioContentComment.member == null || audioContentComment.member!!.id!! != member.id!!) { - throw SodaException("잘못된 접근 입니다.\n확인 후 다시 시도해 주세요.") - } - + if (audioContentComment.id!! == member.id!!) { if (request.comment != null) { audioContentComment.comment = request.comment } } - if (request.isActive != null) { - audioContentComment.isActive = request.isActive + if ( + audioContentComment.id!! == member.id!! || + audioContentComment.audioContent!!.member!!.id!! != member.id!! + ) { + if (request.isActive != null) { + audioContentComment.isActive = request.isActive + } } } From 74f7c7501266ebb4fa79e030009f6444e1b51a22 Mon Sep 17 00:00:00 2001 From: Klaus Date: Wed, 6 Sep 2023 16:01:14 +0900 Subject: [PATCH 06/16] =?UTF-8?q?=EC=BD=98=ED=85=90=EC=B8=A0=20=EB=8C=93?= =?UTF-8?q?=EA=B8=80=20=EC=88=98=EC=A0=95=20=EA=B8=B0=EB=8A=A5=20=EB=A6=AC?= =?UTF-8?q?=ED=8C=A9=ED=86=A0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sodalive/content/comment/AudioContentCommentService.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/comment/AudioContentCommentService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/comment/AudioContentCommentService.kt index 9dd6a27..17233a8 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/comment/AudioContentCommentService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/comment/AudioContentCommentService.kt @@ -67,7 +67,7 @@ class AudioContentCommentService( val audioContentComment = repository.findByIdOrNull(request.commentId) ?: throw SodaException("잘못된 접근 입니다.\n확인 후 다시 시도해 주세요.") - if (audioContentComment.id!! == member.id!!) { + if (audioContentComment.member!!.id!! == member.id!!) { if (request.comment != null) { audioContentComment.comment = request.comment } From ab4a2d0e6b5b4a3db37bb0447c31a16aef71ed42 Mon Sep 17 00:00:00 2001 From: Klaus Date: Thu, 7 Sep 2023 16:14:15 +0900 Subject: [PATCH 07/16] =?UTF-8?q?=EC=9D=91=EC=9B=90=20=EC=88=98=EC=A0=95?= =?UTF-8?q?=20=EA=B8=B0=EB=8A=A5=20=EB=A6=AC=ED=8C=A9=ED=86=A0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sodalive/explorer/ExplorerService.kt | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerService.kt index 74ccc70..4738f03 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerService.kt @@ -371,18 +371,19 @@ class ExplorerService( val cheers = queryRepository.getCheers(request.cheersId) ?: throw SodaException("잘못된 요청입니다.") - if (cheers.creator!!.id!! != member.id!!) { - if (cheers.member!!.id != member.id!!) { - throw SodaException("잘못된 요청입니다.") - } - + if (cheers.member!!.id!! == member.id!!) { if (request.content != null) { cheers.cheers = request.content } } - if (request.isActive != null) { - cheers.isActive = request.isActive + if ( + cheers.creator!!.id!! == member.id!! || + cheers.member!!.id!! == member.id!! + ) { + if (request.isActive != null) { + cheers.isActive = request.isActive + } } } From 0978549675d15c2b0acba559d96515857c1c2a8d Mon Sep 17 00:00:00 2001 From: Klaus Date: Thu, 7 Sep 2023 16:35:46 +0900 Subject: [PATCH 08/16] =?UTF-8?q?=EC=BD=98=ED=85=90=EC=B8=A0=20=EB=8C=93?= =?UTF-8?q?=EA=B8=80=20=EC=82=AD=EC=A0=9C=20=EA=B8=B0=EB=8A=A5=20=EB=A6=AC?= =?UTF-8?q?=ED=8C=A9=ED=86=A0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sodalive/content/comment/AudioContentCommentService.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/comment/AudioContentCommentService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/comment/AudioContentCommentService.kt index 17233a8..8f25068 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/comment/AudioContentCommentService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/comment/AudioContentCommentService.kt @@ -74,7 +74,7 @@ class AudioContentCommentService( } if ( - audioContentComment.id!! == member.id!! || + audioContentComment.member!!.id!! == member.id!! || audioContentComment.audioContent!!.member!!.id!! != member.id!! ) { if (request.isActive != null) { From 300e20dcd0d30965cb7a01965d0c86e1483203b8 Mon Sep 17 00:00:00 2001 From: Klaus Date: Thu, 7 Sep 2023 16:48:48 +0900 Subject: [PATCH 09/16] =?UTF-8?q?=EB=9D=BC=EC=9D=B4=EB=B8=8C=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1=20=ED=91=B8=EC=8B=9C=20-=20=EA=B0=9C=EC=84=A4?= =?UTF-8?q?=ED=96=88=EC=8A=B5=EB=8B=88=EB=8B=A4.=20->=20=EC=98=88=EC=95=BD?= =?UTF-8?q?=ED=96=88=EC=8A=B5=EB=8B=88=EB=8B=A4.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kr/co/vividnext/sodalive/live/room/LiveRoomService.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 528abc9..e79a7e0 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 @@ -250,7 +250,7 @@ class LiveRoomService( message = if (createdRoom.channelName != null) { "라이브를 시작했습니다. - ${createdRoom.title}" } else { - "라이브를 개설했습니다. - ${createdRoom.title}" + "라이브를 예약했습니다. - ${createdRoom.title}" }, isAuth = createdRoom.isAdult, roomId = createdRoom.id, @@ -266,7 +266,7 @@ class LiveRoomService( message = if (createdRoom.channelName != null) { "라이브를 시작했습니다. - ${createdRoom.title}" } else { - "라이브를 개설했습니다. - ${createdRoom.title}" + "라이브를 예약했습니다. - ${createdRoom.title}" }, isAuth = createdRoom.isAdult, roomId = createdRoom.id, From 8b30c1c3192951171c33ac01f2273ec7ae78bd70 Mon Sep 17 00:00:00 2001 From: Klaus Date: Thu, 7 Sep 2023 22:18:41 +0900 Subject: [PATCH 10/16] =?UTF-8?q?=EB=9D=BC=EC=9D=B4=EB=B8=8C=20=EC=98=88?= =?UTF-8?q?=EC=95=BD=20=ED=9B=84=20=EC=8B=9C=EC=9E=91=20=EC=8B=9C=20?= =?UTF-8?q?=ED=91=B8=EC=8B=9C=20-=20join=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kr/co/vividnext/sodalive/fcm/FcmEvent.kt | 5 +++++ .../vividnext/sodalive/member/MemberRepository.kt | 14 ++------------ 2 files changed, 7 insertions(+), 12 deletions(-) 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 bd8d174..6d5cc6b 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/fcm/FcmEvent.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/fcm/FcmEvent.kt @@ -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()) { 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 806240e..d89faea 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/member/MemberRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/member/MemberRepository.kt @@ -149,9 +149,6 @@ class MemberQueryRepositoryImpl( isAuth: Boolean, container: String ): List> { - 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() From 27c40da7b4cd1e851d121975fae9bcf28e1d877d Mon Sep 17 00:00:00 2001 From: Klaus Date: Thu, 7 Sep 2023 22:35:08 +0900 Subject: [PATCH 11/16] =?UTF-8?q?=EB=9D=BC=EC=9D=B4=EB=B8=8C=20=EC=98=88?= =?UTF-8?q?=EC=95=BD=20=ED=9B=84=20=EC=8B=9C=EC=9E=91=20=EC=8B=9C=20?= =?UTF-8?q?=ED=91=B8=EC=8B=9C=20-=20=ED=85=8C=EC=8A=A4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/kotlin/kr/co/vividnext/sodalive/fcm/FcmEvent.kt | 2 ++ 1 file changed, 2 insertions(+) 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 6d5cc6b..a0fc990 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/fcm/FcmEvent.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/fcm/FcmEvent.kt @@ -42,6 +42,7 @@ class FcmSendListener( @Transactional(propagation = Propagation.REQUIRES_NEW) fun send(fcmEvent: FcmEvent) { logger.info("발송타입 - ${fcmEvent.type}") + logger.info("os - ${fcmEvent.container}") when (fcmEvent.type) { FcmEventType.ALL -> { @@ -127,6 +128,7 @@ class FcmSendListener( ) for (tokens in pushTokens) { + logger.info("토큰 - $tokens") pushService.send( tokens = tokens, title = fcmEvent.title, From 81e2b432315bd7bdb504ccfa6cd02ffdef4b311a Mon Sep 17 00:00:00 2001 From: Klaus Date: Thu, 7 Sep 2023 22:44:35 +0900 Subject: [PATCH 12/16] =?UTF-8?q?=EB=9D=BC=EC=9D=B4=EB=B8=8C=20=EC=98=88?= =?UTF-8?q?=EC=95=BD=20=ED=9B=84=20=EC=8B=9C=EC=9E=91=20=EC=8B=9C=20?= =?UTF-8?q?=ED=91=B8=EC=8B=9C=20-=20=ED=85=8C=EC=8A=A4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/kotlin/kr/co/vividnext/sodalive/fcm/FcmEvent.kt | 2 +- 1 file changed, 1 insertion(+), 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 a0fc990..a29f06c 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/fcm/FcmEvent.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/fcm/FcmEvent.kt @@ -127,8 +127,8 @@ class FcmSendListener( container = fcmEvent.container ) + logger.info("토큰 - $pushTokens") for (tokens in pushTokens) { - logger.info("토큰 - $tokens") pushService.send( tokens = tokens, title = fcmEvent.title, From 06bb2ea228b0433c52414b78fff491137da88ebc Mon Sep 17 00:00:00 2001 From: Klaus Date: Sat, 9 Sep 2023 00:51:38 +0900 Subject: [PATCH 13/16] =?UTF-8?q?=EB=9D=BC=EC=9D=B4=EB=B8=8C=20=EC=98=88?= =?UTF-8?q?=EC=95=BD=20=ED=9B=84=20=EC=8B=9C=EC=9E=91=20=EC=8B=9C=20?= =?UTF-8?q?=ED=91=B8=EC=8B=9C=20-=20=ED=85=8C=EC=8A=A4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../co/vividnext/sodalive/member/MemberRepository.kt | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) 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 d89faea..2ad3580 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/member/MemberRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/member/MemberRepository.kt @@ -12,6 +12,7 @@ import kr.co.vividnext.sodalive.member.following.QCreatorFollowing.creatorFollow import kr.co.vividnext.sodalive.member.nickname.QNicknameChangeLog.nicknameChangeLog import kr.co.vividnext.sodalive.member.notification.QMemberNotification.memberNotification import kr.co.vividnext.sodalive.message.QMessage.message +import org.slf4j.LoggerFactory import org.springframework.data.jpa.repository.JpaRepository import org.springframework.stereotype.Repository @@ -58,6 +59,7 @@ class MemberQueryRepositoryImpl( private val queryFactory: JPAQueryFactory, private val blockMemberRepository: BlockMemberRepository ) : MemberQueryRepository { + private val logger = LoggerFactory.getLogger(this::class.java) override fun findByPushToken(pushToken: String): List { return queryFactory .selectFrom(member) @@ -173,7 +175,9 @@ class MemberQueryRepositoryImpl( .toSet() .chunked(500) - where = liveReservation.isActive.isTrue + logger.info("팔로잉 한 사람: $followingMemberPushToken") + + var where2 = liveReservation.isActive.isTrue .and(liveReservation.member.notification.live.isTrue) .and(liveReservation.member.container.eq(container)) .and(liveReservation.member.email.notIn("admin@sodalive.net")) @@ -185,17 +189,19 @@ class MemberQueryRepositoryImpl( ) if (isAuth) { - where = where.and(liveReservation.member.auth.isNotNull) + where2 = where2.and(liveReservation.member.auth.isNotNull) } val reservationMemberPushToken = queryFactory .select(liveReservation.member.pushToken) .from(liveReservation) - .where(where) + .where(where2) .fetch() .toSet() .chunked(500) + logger.info("예약한 사람: $reservationMemberPushToken") + return followingMemberPushToken + reservationMemberPushToken } From f081b9691f854db23b056c21fcc8fc6c133be394 Mon Sep 17 00:00:00 2001 From: Klaus Date: Sat, 9 Sep 2023 01:13:14 +0900 Subject: [PATCH 14/16] =?UTF-8?q?=EB=9D=BC=EC=9D=B4=EB=B8=8C=20=EC=98=88?= =?UTF-8?q?=EC=95=BD=20=ED=9B=84=20=EC=8B=9C=EC=9E=91=20=EC=8B=9C=20?= =?UTF-8?q?=ED=91=B8=EC=8B=9C=20-=20=ED=85=8C=EC=8A=A4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sodalive/member/MemberRepository.kt | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) 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 2ad3580..2d4d4cf 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/member/MemberRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/member/MemberRepository.kt @@ -12,7 +12,6 @@ import kr.co.vividnext.sodalive.member.following.QCreatorFollowing.creatorFollow import kr.co.vividnext.sodalive.member.nickname.QNicknameChangeLog.nicknameChangeLog import kr.co.vividnext.sodalive.member.notification.QMemberNotification.memberNotification import kr.co.vividnext.sodalive.message.QMessage.message -import org.slf4j.LoggerFactory import org.springframework.data.jpa.repository.JpaRepository import org.springframework.stereotype.Repository @@ -35,6 +34,7 @@ interface MemberQueryRepository { fun getStartLiveRoomNotificationRecipientPushTokens( creatorId: Long, + roomId: Long, isAuth: Boolean, container: String ): List> @@ -59,7 +59,6 @@ class MemberQueryRepositoryImpl( private val queryFactory: JPAQueryFactory, private val blockMemberRepository: BlockMemberRepository ) : MemberQueryRepository { - private val logger = LoggerFactory.getLogger(this::class.java) override fun findByPushToken(pushToken: String): List { return queryFactory .selectFrom(member) @@ -148,6 +147,7 @@ class MemberQueryRepositoryImpl( override fun getStartLiveRoomNotificationRecipientPushTokens( creatorId: Long, + roomId: Long, isAuth: Boolean, container: String ): List> { @@ -172,16 +172,13 @@ class MemberQueryRepositoryImpl( .from(creatorFollowing) .where(where) .fetch() - .toSet() - .chunked(500) - logger.info("팔로잉 한 사람: $followingMemberPushToken") - - var where2 = liveReservation.isActive.isTrue + 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.room.id.eq(roomId)) .and( liveReservation.member.id.notIn( blockMemberRepository.getBlockedMemberList(creatorId) @@ -189,20 +186,18 @@ class MemberQueryRepositoryImpl( ) if (isAuth) { - where2 = where2.and(liveReservation.member.auth.isNotNull) + where = where.and(liveReservation.member.auth.isNotNull) } val reservationMemberPushToken = queryFactory .select(liveReservation.member.pushToken) .from(liveReservation) - .where(where2) + .where(where) .fetch() + + return (followingMemberPushToken + reservationMemberPushToken) .toSet() .chunked(500) - - logger.info("예약한 사람: $reservationMemberPushToken") - - return followingMemberPushToken + reservationMemberPushToken } override fun getUploadContentNotificationRecipientPushTokens( From 5ff288f739aa7060db2c806f7dce68c9c1f3f844 Mon Sep 17 00:00:00 2001 From: Klaus Date: Sat, 9 Sep 2023 01:17:05 +0900 Subject: [PATCH 15/16] =?UTF-8?q?=EB=9D=BC=EC=9D=B4=EB=B8=8C=20=EC=98=88?= =?UTF-8?q?=EC=95=BD=20=ED=9B=84=20=EC=8B=9C=EC=9E=91=20=EC=8B=9C=20?= =?UTF-8?q?=ED=91=B8=EC=8B=9C=20-=20=ED=85=8C=EC=8A=A4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/kotlin/kr/co/vividnext/sodalive/fcm/FcmEvent.kt | 1 + 1 file changed, 1 insertion(+) 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 a29f06c..dad915e 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/fcm/FcmEvent.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/fcm/FcmEvent.kt @@ -123,6 +123,7 @@ class FcmSendListener( if (fcmEvent.container.isNotBlank()) { val pushTokens = memberRepository.getStartLiveRoomNotificationRecipientPushTokens( creatorId = fcmEvent.creatorId!!, + roomId = fcmEvent.roomId!!, isAuth = fcmEvent.isAuth, container = fcmEvent.container ) From 9578e54ea7f4049e7d441d762aad0e8a09df3cc8 Mon Sep 17 00:00:00 2001 From: Klaus Date: Sat, 9 Sep 2023 01:24:32 +0900 Subject: [PATCH 16/16] =?UTF-8?q?=EB=9D=BC=EC=9D=B4=EB=B8=8C=20=EC=98=88?= =?UTF-8?q?=EC=95=BD=20=ED=9B=84=20=EC=8B=9C=EC=9E=91=20=EC=8B=9C=20?= =?UTF-8?q?=ED=91=B8=EC=8B=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/kotlin/kr/co/vividnext/sodalive/fcm/FcmEvent.kt | 3 --- 1 file changed, 3 deletions(-) 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 dad915e..243ecee 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/fcm/FcmEvent.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/fcm/FcmEvent.kt @@ -41,9 +41,6 @@ class FcmSendListener( @TransactionalEventListener @Transactional(propagation = Propagation.REQUIRES_NEW) fun send(fcmEvent: FcmEvent) { - logger.info("발송타입 - ${fcmEvent.type}") - logger.info("os - ${fcmEvent.container}") - when (fcmEvent.type) { FcmEventType.ALL -> { if (fcmEvent.container.isNotBlank()) {