Compare commits

..

No commits in common. "afe529a11692629b190119f36147460d75810f1b" and "2d015d0a3329bbe399045b8f026b4166e23b59dd" have entirely different histories.

4 changed files with 44 additions and 41 deletions

View File

@ -25,7 +25,10 @@ import java.time.temporal.TemporalAdjusters
@RestController @RestController
@RequestMapping("/audio-content") @RequestMapping("/audio-content")
class AudioContentController(private val service: AudioContentService) { class AudioContentController(
private val service: AudioContentService,
private val repository: AudioContentRepository
) {
@PostMapping @PostMapping
@PreAuthorize("hasRole('CREATOR')") @PreAuthorize("hasRole('CREATOR')")
fun createAudioContent( fun createAudioContent(
@ -194,6 +197,12 @@ class AudioContentController(private val service: AudioContentService) {
@PostMapping("/release") @PostMapping("/release")
@PreAuthorize("hasRole('BOT')") @PreAuthorize("hasRole('BOT')")
fun releaseContent() = run { fun releaseContent() = run {
ApiResponse.ok(service.releaseContent()) val contentIdList = repository.getNotReleaseContentId()
for (contentId in contentIdList) {
service.releaseContent(contentId)
}
ApiResponse.ok(null)
} }
} }

View File

@ -387,39 +387,35 @@ class AudioContentService(
} }
@Transactional @Transactional
fun releaseContent() { fun releaseContent(contentId: Long) {
val contentIdList = repository.getNotReleaseContentId() val audioContent = repository.findByIdOrNull(contentId)
?: throw SodaException("잘못된 요청입니다.")
for (contentId in contentIdList) { audioContent.isActive = true
val audioContent = repository.findByIdOrNull(contentId)
?: throw SodaException("잘못된 요청입니다.")
audioContent.isActive = true applicationEventPublisher.publishEvent(
FcmEvent(
applicationEventPublisher.publishEvent( type = FcmEventType.UPLOAD_CONTENT,
FcmEvent( title = audioContent.member!!.nickname,
type = FcmEventType.UPLOAD_CONTENT, message = "콘텐츠를 업로드 하였습니다. - ${audioContent.title}",
title = audioContent.member!!.nickname, isAuth = audioContent.isAdult,
message = "콘텐츠를 업로드 하였습니다. - ${audioContent.title}", contentId = contentId,
isAuth = audioContent.isAdult, creatorId = audioContent.member!!.id,
contentId = contentId, container = "ios"
creatorId = audioContent.member!!.id,
container = "ios"
)
) )
)
applicationEventPublisher.publishEvent( applicationEventPublisher.publishEvent(
FcmEvent( FcmEvent(
type = FcmEventType.UPLOAD_CONTENT, type = FcmEventType.UPLOAD_CONTENT,
title = audioContent.member!!.nickname, title = audioContent.member!!.nickname,
message = "콘텐츠를 업로드 하였습니다. - ${audioContent.title}", message = "콘텐츠를 업로드 하였습니다. - ${audioContent.title}",
isAuth = audioContent.isAdult, isAuth = audioContent.isAdult,
contentId = contentId, contentId = contentId,
creatorId = audioContent.member!!.id, creatorId = audioContent.member!!.id,
container = "aos" container = "aos"
)
) )
} )
} }
fun getDetail(id: Long, member: Member, timezone: String): GetAudioContentDetailResponse { fun getDetail(id: Long, member: Member, timezone: String): GetAudioContentDetailResponse {

View File

@ -186,15 +186,13 @@ class FcmSendListener(
FcmEventType.SEND_MESSAGE -> { FcmEventType.SEND_MESSAGE -> {
val response = memberRepository.getMessageRecipientPushToken(messageId = fcmEvent.messageId!!) val response = memberRepository.getMessageRecipientPushToken(messageId = fcmEvent.messageId!!)
if (response != null) { pushService.send(
pushService.send( tokens = listOf(response.pushToken),
tokens = listOf(response.pushToken), title = fcmEvent.title,
title = fcmEvent.title, message = fcmEvent.message,
message = fcmEvent.message, container = response.container,
container = response.container, messageId = fcmEvent.messageId
messageId = fcmEvent.messageId )
)
}
} }
FcmEventType.CHANGE_NOTICE -> { FcmEventType.CHANGE_NOTICE -> {

View File

@ -45,7 +45,7 @@ interface MemberQueryRepository {
container: String container: String
): List<List<String>> ): List<List<String>>
fun getMessageRecipientPushToken(messageId: Long): GetMessageRecipientPushTokenResponse? fun getMessageRecipientPushToken(messageId: Long): GetMessageRecipientPushTokenResponse
fun getIndividualRecipientPushTokens(recipients: List<Long>, isAuth: Boolean?): Map<String, List<List<String>>> fun getIndividualRecipientPushTokens(recipients: List<Long>, isAuth: Boolean?): Map<String, List<List<String>>>
fun getChangeNicknamePrice(memberId: Long): GetChangeNicknamePriceResponse fun getChangeNicknamePrice(memberId: Long): GetChangeNicknamePriceResponse
fun getMemberByEmail(email: String): Member? fun getMemberByEmail(email: String): Member?
@ -259,7 +259,7 @@ class MemberQueryRepositoryImpl(
.chunked(500) .chunked(500)
} }
override fun getMessageRecipientPushToken(messageId: Long): GetMessageRecipientPushTokenResponse? { override fun getMessageRecipientPushToken(messageId: Long): GetMessageRecipientPushTokenResponse {
return queryFactory return queryFactory
.select( .select(
QGetMessageRecipientPushTokenResponse( QGetMessageRecipientPushTokenResponse(