푸시메시지 기능 추가 - 전체, 개별, 라이브 생성, 라이브 시작, 메시지 전송, 콘텐츠 업로드

This commit is contained in:
2023-08-08 16:46:30 +09:00
parent 771dbeced0
commit 705bf0b6b2
13 changed files with 511 additions and 1 deletions

View File

@@ -4,11 +4,14 @@ import com.amazonaws.services.s3.model.ObjectMetadata
import com.fasterxml.jackson.databind.ObjectMapper
import kr.co.vividnext.sodalive.aws.s3.S3Uploader
import kr.co.vividnext.sodalive.common.SodaException
import kr.co.vividnext.sodalive.fcm.FcmEvent
import kr.co.vividnext.sodalive.fcm.FcmEventType
import kr.co.vividnext.sodalive.member.Member
import kr.co.vividnext.sodalive.member.MemberRepository
import kr.co.vividnext.sodalive.member.block.BlockMemberRepository
import kr.co.vividnext.sodalive.utils.generateFileName
import org.springframework.beans.factory.annotation.Value
import org.springframework.context.ApplicationEventPublisher
import org.springframework.data.domain.Pageable
import org.springframework.data.repository.findByIdOrNull
import org.springframework.stereotype.Service
@@ -24,6 +27,7 @@ class MessageService(
private val memberRepository: MemberRepository,
private val blockMemberRepository: BlockMemberRepository,
private val applicationEventPublisher: ApplicationEventPublisher,
private val objectMapper: ObjectMapper,
private val s3Uploader: S3Uploader,
@@ -56,6 +60,15 @@ class MessageService(
message.recipient = recipient
repository.save(message)
applicationEventPublisher.publishEvent(
FcmEvent(
type = FcmEventType.SEND_MESSAGE,
title = "메시지",
message = "${sender.nickname}님으로 부터 문자메시지가 도착했습니다.",
messageId = message.id
)
)
}
fun getSentTextMessages(member: Member, pageable: Pageable, timezone: String): GetTextMessageResponse {
@@ -115,6 +128,15 @@ class MessageService(
)
message.voiceMessage = messagePath
applicationEventPublisher.publishEvent(
FcmEvent(
type = FcmEventType.SEND_MESSAGE,
title = "메시지",
message = "${sender.nickname}님으로 부터 음성메시지가 도착했습니다.",
messageId = message.id
)
)
}
fun getSentVoiceMessages(member: Member, pageable: Pageable, timezone: String): GetVoiceMessageResponse {