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

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

@@ -19,6 +19,8 @@ import kr.co.vividnext.sodalive.can.use.UseCanCalculateStatus
import kr.co.vividnext.sodalive.common.SodaException
import kr.co.vividnext.sodalive.explorer.ExplorerQueryRepository
import kr.co.vividnext.sodalive.extensions.convertLocalDateTime
import kr.co.vividnext.sodalive.fcm.FcmEvent
import kr.co.vividnext.sodalive.fcm.FcmEventType
import kr.co.vividnext.sodalive.live.reservation.LiveReservationRepository
import kr.co.vividnext.sodalive.live.room.cancel.CancelLiveRequest
import kr.co.vividnext.sodalive.live.room.cancel.LiveRoomCancel
@@ -45,6 +47,7 @@ import kr.co.vividnext.sodalive.member.MemberRole
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
@@ -66,6 +69,7 @@ class LiveRoomService(
private val kickOutService: LiveRoomKickOutService,
private val blockMemberRepository: BlockMemberRepository,
private val applicationEventPublisher: ApplicationEventPublisher,
private val useCanCalculateRepository: UseCanCalculateRepository,
private val reservationRepository: LiveReservationRepository,
private val explorerQueryRepository: ExplorerQueryRepository,
@@ -231,6 +235,21 @@ class LiveRoomService(
room.bgImage = request.coverImageUrl
}
applicationEventPublisher.publishEvent(
FcmEvent(
type = FcmEventType.CREATE_LIVE,
title = createdRoom.member!!.nickname,
message = if (createdRoom.channelName != null) {
"라이브를 시작했습니다. - ${createdRoom.title}"
} else {
"라이브를 개설했습니다. - ${createdRoom.title}"
},
isAuth = createdRoom.isAdult,
roomId = createdRoom.id,
creatorId = createdRoom.member!!.id
)
)
return CreateLiveRoomResponse(createdRoom.id, createdRoom.channelName)
}
@@ -351,6 +370,17 @@ class LiveRoomService(
room.channelName = "SODA_LIVE_CHANNEL_" +
"${member.id}_${dateTime.year}_${dateTime.month}_${dateTime.dayOfMonth}_" +
"${dateTime.hour}_${dateTime.minute}"
applicationEventPublisher.publishEvent(
FcmEvent(
type = FcmEventType.START_LIVE,
title = room.member!!.nickname,
message = "라이브를 시작했습니다 - ${room.title}",
isAuth = room.isAdult,
roomId = room.id,
creatorId = room.member!!.id
)
)
}
@Transactional