Compare commits
3 Commits
de32b537f4
...
test
| Author | SHA1 | Date | |
|---|---|---|---|
| 7afbf1bff8 | |||
| 8dec0fe2e5 | |||
| 4ea7fdc562 |
@@ -34,15 +34,14 @@ class RtcTokenBuilder {
|
||||
appId: String,
|
||||
appCertificate: String,
|
||||
channelName: String,
|
||||
uid: Int,
|
||||
uid: String,
|
||||
privilegeTs: Int
|
||||
): String {
|
||||
val account = if (uid == 0) "" else uid.toString()
|
||||
return buildTokenWithUserAccount(
|
||||
appId,
|
||||
appCertificate,
|
||||
channelName,
|
||||
account,
|
||||
uid,
|
||||
privilegeTs
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1578,6 +1578,21 @@ class SodaMessageSource {
|
||||
Lang.EN to "yyyy.MM.dd E hh:mm a",
|
||||
Lang.JA to "yyyy.MM.dd E hh:mm a"
|
||||
),
|
||||
"live.room.language_tag.korean" to mapOf(
|
||||
Lang.KO to "한국어",
|
||||
Lang.EN to "Korean",
|
||||
Lang.JA to "韓国語"
|
||||
),
|
||||
"live.room.language_tag.japanese" to mapOf(
|
||||
Lang.KO to "일본어",
|
||||
Lang.EN to "Japanese",
|
||||
Lang.JA to "日本語"
|
||||
),
|
||||
"live.room.language_tag.english" to mapOf(
|
||||
Lang.KO to "영어",
|
||||
Lang.EN to "English",
|
||||
Lang.JA to "英語"
|
||||
),
|
||||
"live.room.fcm.message.started" to mapOf(
|
||||
Lang.KO to "라이브를 시작했습니다. - %s",
|
||||
Lang.EN to "Live started. - %s",
|
||||
|
||||
@@ -154,13 +154,7 @@ class LiveRoomService(
|
||||
.maxByOrNull { it.updatedAt ?: LocalDateTime.MIN }
|
||||
?.languageCode
|
||||
|
||||
val languageTag = when (languageCode?.lowercase()?.take(2)) {
|
||||
"ko" -> "한국어"
|
||||
"ja" -> "일본어"
|
||||
"en" -> "영어"
|
||||
else -> null
|
||||
}
|
||||
return languageTag
|
||||
return resolveLanguageTag(languageCode)
|
||||
}
|
||||
|
||||
private fun buildLanguageTagMap(memberIds: List<Long>): Map<Long, String?> {
|
||||
@@ -175,15 +169,21 @@ class LiveRoomService(
|
||||
}
|
||||
|
||||
return latestTokenByMemberId.mapValues { (_, token) ->
|
||||
when (token?.languageCode?.lowercase()?.take(2)) {
|
||||
"ko" -> "한국어"
|
||||
"ja" -> "일본어"
|
||||
"en" -> "영어"
|
||||
else -> null
|
||||
}
|
||||
resolveLanguageTag(token?.languageCode)
|
||||
}
|
||||
}
|
||||
|
||||
private fun resolveLanguageTag(languageCode: String?): String? {
|
||||
val key = when (languageCode?.lowercase()?.take(2)) {
|
||||
"ko" -> "live.room.language_tag.korean"
|
||||
"ja" -> "live.room.language_tag.japanese"
|
||||
"en" -> "live.room.language_tag.english"
|
||||
else -> null
|
||||
} ?: return null
|
||||
|
||||
return messageSource.getMessage(key, langContext.lang)
|
||||
}
|
||||
|
||||
@Transactional(readOnly = true)
|
||||
fun getRoomList(
|
||||
dateString: String?,
|
||||
@@ -917,7 +917,7 @@ class LiveRoomService(
|
||||
agoraAppId,
|
||||
agoraAppCertificate,
|
||||
room.channelName!!,
|
||||
member.id!!.toInt(),
|
||||
member.id!!.toString(),
|
||||
expireTimestamp.toInt()
|
||||
)
|
||||
|
||||
@@ -928,10 +928,11 @@ class LiveRoomService(
|
||||
expireTimestamp.toInt()
|
||||
)
|
||||
|
||||
val v2vWorkerRtmToken = rtmTokenBuilder.buildToken(
|
||||
val v2vWorkerToken = rtcTokenBuilder.buildTokenWithUid(
|
||||
agoraAppId,
|
||||
agoraAppCertificate,
|
||||
"v2v-agent-${member.id!!}",
|
||||
room.channelName!!,
|
||||
"${member.id!!}333",
|
||||
expireTimestamp.toInt()
|
||||
)
|
||||
|
||||
@@ -962,12 +963,12 @@ class LiveRoomService(
|
||||
}
|
||||
|
||||
val menuPan = menuService.getLiveMenu(creatorId = room.member!!.id!!)
|
||||
val languageTagByMemberId = buildLanguageTagMap(listOfNotNull(room.member?.id))
|
||||
|
||||
val tags = room.tags
|
||||
.filter { it.tag.isActive }
|
||||
.map { it.tag.tag }
|
||||
.let { tags -> applyLanguageTagToRoomTags(room.member?.id, tags, languageTagByMemberId) }
|
||||
val creatorLanguageCode = pushTokenRepository.findByMemberId(room.member!!.id!!)
|
||||
.filterNot { it.languageCode.isNullOrBlank() }
|
||||
.maxByOrNull { it.updatedAt ?: LocalDateTime.MIN }
|
||||
?.languageCode
|
||||
?.lowercase()
|
||||
?.take(2)
|
||||
|
||||
return GetRoomInfoResponse(
|
||||
roomId = roomId,
|
||||
@@ -989,7 +990,7 @@ class LiveRoomService(
|
||||
channelName = room.channelName!!,
|
||||
rtcToken = rtcToken,
|
||||
rtmToken = rtmToken,
|
||||
v2vWorkerRtmToken = v2vWorkerRtmToken,
|
||||
v2vWorkerToken = v2vWorkerToken,
|
||||
creatorId = room.member!!.id!!,
|
||||
creatorNickname = room.member!!.nickname,
|
||||
creatorProfileUrl = if (room.member!!.profileImage != null) {
|
||||
@@ -1006,7 +1007,7 @@ class LiveRoomService(
|
||||
managerList = roomInfo.managerList,
|
||||
donationRankingTop3UserIds = donationRankingTop3UserIds,
|
||||
menuPan = menuPan?.menu ?: "",
|
||||
tags = tags,
|
||||
creatorLanguageCode = creatorLanguageCode,
|
||||
isPrivateRoom = room.type == LiveRoomType.PRIVATE,
|
||||
password = room.password,
|
||||
isActiveRoulette = isActiveRoulette
|
||||
|
||||
@@ -8,7 +8,7 @@ data class GetRoomInfoResponse(
|
||||
val channelName: String,
|
||||
val rtcToken: String,
|
||||
val rtmToken: String,
|
||||
val v2vWorkerRtmToken: String,
|
||||
val v2vWorkerToken: String,
|
||||
val creatorId: Long,
|
||||
val creatorNickname: String,
|
||||
val creatorProfileUrl: String,
|
||||
@@ -21,7 +21,7 @@ data class GetRoomInfoResponse(
|
||||
val managerList: List<LiveRoomMember>,
|
||||
val donationRankingTop3UserIds: List<Long>,
|
||||
val menuPan: String,
|
||||
val tags: List<String>,
|
||||
val creatorLanguageCode: String?,
|
||||
val isPrivateRoom: Boolean = false,
|
||||
val password: String? = null,
|
||||
val isActiveRoulette: Boolean = false
|
||||
|
||||
Reference in New Issue
Block a user