From 3e8476431d8eae620cdc8cad4493765d54ba00c3 Mon Sep 17 00:00:00 2001 From: Klaus Date: Thu, 11 Jan 2024 03:50:54 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=ED=91=B8=EC=8B=9C=20message=20=EB=B0=9C?= =?UTF-8?q?=EC=86=A1=20-=20null=20=EC=98=88=EC=99=B8=EC=B2=98=EB=A6=AC=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../kr/co/vividnext/sodalive/fcm/FcmEvent.kt | 16 +++++++++------- .../sodalive/member/MemberRepository.kt | 4 ++-- 2 files changed, 11 insertions(+), 9 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 32a1236..833a825 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/fcm/FcmEvent.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/fcm/FcmEvent.kt @@ -186,13 +186,15 @@ class FcmSendListener( FcmEventType.SEND_MESSAGE -> { val response = memberRepository.getMessageRecipientPushToken(messageId = fcmEvent.messageId!!) - pushService.send( - tokens = listOf(response.pushToken), - title = fcmEvent.title, - message = fcmEvent.message, - container = response.container, - messageId = fcmEvent.messageId - ) + if (response != null) { + pushService.send( + tokens = listOf(response.pushToken), + title = fcmEvent.title, + message = fcmEvent.message, + container = response.container, + messageId = fcmEvent.messageId + ) + } } FcmEventType.CHANGE_NOTICE -> { 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 1c6094c..214e1b9 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/member/MemberRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/member/MemberRepository.kt @@ -45,7 +45,7 @@ interface MemberQueryRepository { container: String ): List> - fun getMessageRecipientPushToken(messageId: Long): GetMessageRecipientPushTokenResponse + fun getMessageRecipientPushToken(messageId: Long): GetMessageRecipientPushTokenResponse? fun getIndividualRecipientPushTokens(recipients: List, isAuth: Boolean?): Map>> fun getChangeNicknamePrice(memberId: Long): GetChangeNicknamePriceResponse fun getMemberByEmail(email: String): Member? @@ -259,7 +259,7 @@ class MemberQueryRepositoryImpl( .chunked(500) } - override fun getMessageRecipientPushToken(messageId: Long): GetMessageRecipientPushTokenResponse { + override fun getMessageRecipientPushToken(messageId: Long): GetMessageRecipientPushTokenResponse? { return queryFactory .select( QGetMessageRecipientPushTokenResponse( From afe529a11692629b190119f36147460d75810f1b Mon Sep 17 00:00:00 2001 From: Klaus Date: Thu, 11 Jan 2024 12:19:09 +0900 Subject: [PATCH 2/3] =?UTF-8?q?=EC=98=88=EC=95=BD=20=EC=97=85=EB=A1=9C?= =?UTF-8?q?=EB=93=9C=20=EB=B0=B0=ED=8F=AC=20=EB=A1=9C=EC=A7=81=20=EC=9C=84?= =?UTF-8?q?=EC=B9=98=20=EC=9D=B4=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../content/AudioContentController.kt | 13 +---- .../sodalive/content/AudioContentService.kt | 52 ++++++++++--------- 2 files changed, 30 insertions(+), 35 deletions(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentController.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentController.kt index ab678be..b8f8873 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentController.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentController.kt @@ -25,10 +25,7 @@ import java.time.temporal.TemporalAdjusters @RestController @RequestMapping("/audio-content") -class AudioContentController( - private val service: AudioContentService, - private val repository: AudioContentRepository -) { +class AudioContentController(private val service: AudioContentService) { @PostMapping @PreAuthorize("hasRole('CREATOR')") fun createAudioContent( @@ -197,12 +194,6 @@ class AudioContentController( @PostMapping("/release") @PreAuthorize("hasRole('BOT')") fun releaseContent() = run { - val contentIdList = repository.getNotReleaseContentId() - - for (contentId in contentIdList) { - service.releaseContent(contentId) - } - - ApiResponse.ok(null) + ApiResponse.ok(service.releaseContent()) } } diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt index 90b0b54..dac8bd9 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt @@ -387,35 +387,39 @@ class AudioContentService( } @Transactional - fun releaseContent(contentId: Long) { - val audioContent = repository.findByIdOrNull(contentId) - ?: throw SodaException("잘못된 요청입니다.") + fun releaseContent() { + val contentIdList = repository.getNotReleaseContentId() - audioContent.isActive = true + for (contentId in contentIdList) { + val audioContent = repository.findByIdOrNull(contentId) + ?: throw SodaException("잘못된 요청입니다.") - applicationEventPublisher.publishEvent( - FcmEvent( - type = FcmEventType.UPLOAD_CONTENT, - title = audioContent.member!!.nickname, - message = "콘텐츠를 업로드 하였습니다. - ${audioContent.title}", - isAuth = audioContent.isAdult, - contentId = contentId, - creatorId = audioContent.member!!.id, - container = "ios" + audioContent.isActive = true + + applicationEventPublisher.publishEvent( + FcmEvent( + type = FcmEventType.UPLOAD_CONTENT, + title = audioContent.member!!.nickname, + message = "콘텐츠를 업로드 하였습니다. - ${audioContent.title}", + isAuth = audioContent.isAdult, + contentId = contentId, + creatorId = audioContent.member!!.id, + container = "ios" + ) ) - ) - applicationEventPublisher.publishEvent( - FcmEvent( - type = FcmEventType.UPLOAD_CONTENT, - title = audioContent.member!!.nickname, - message = "콘텐츠를 업로드 하였습니다. - ${audioContent.title}", - isAuth = audioContent.isAdult, - contentId = contentId, - creatorId = audioContent.member!!.id, - container = "aos" + applicationEventPublisher.publishEvent( + FcmEvent( + type = FcmEventType.UPLOAD_CONTENT, + title = audioContent.member!!.nickname, + message = "콘텐츠를 업로드 하였습니다. - ${audioContent.title}", + isAuth = audioContent.isAdult, + contentId = contentId, + creatorId = audioContent.member!!.id, + container = "aos" + ) ) - ) + } } fun getDetail(id: Long, member: Member, timezone: String): GetAudioContentDetailResponse { From abd1626997e8168a85e8afa3554f9836f9b994c4 Mon Sep 17 00:00:00 2001 From: Klaus Date: Thu, 11 Jan 2024 12:40:57 +0900 Subject: [PATCH 3/3] =?UTF-8?q?=EC=BD=98=ED=85=90=EC=B8=A0=20=EC=97=85?= =?UTF-8?q?=EB=A1=9C=EB=93=9C=20-=20=EA=B8=B0=EB=B3=B8=20=ED=83=80?= =?UTF-8?q?=EC=9E=84=EC=A1=B4=20=EC=84=A4=EC=A0=95=20=EC=B6=94=EA=B0=80=20?= =?UTF-8?q?(Asia/Seoul)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../co/vividnext/sodalive/content/CreateAudioContentRequest.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/CreateAudioContentRequest.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/CreateAudioContentRequest.kt index e2acdc6..2bd41c4 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/CreateAudioContentRequest.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/CreateAudioContentRequest.kt @@ -5,7 +5,7 @@ data class CreateAudioContentRequest( val detail: String, val tags: String, val price: Int, - val timezone: String, + val timezone: String = "Asia/Seoul", val releaseDate: String? = null, val themeId: Long = 0, val isAdult: Boolean = false,