feat(content-preference): 콘텐츠 조회 설정 서버 저장 전환을 반영한다
This commit is contained in:
@@ -17,11 +17,11 @@ import kr.co.vividnext.sodalive.i18n.SodaMessageSource
|
||||
import kr.co.vividnext.sodalive.jwt.TokenProvider
|
||||
import kr.co.vividnext.sodalive.live.reservation.LiveReservationRepository
|
||||
import kr.co.vividnext.sodalive.live.room.detail.GetRoomDetailUser
|
||||
import kr.co.vividnext.sodalive.member.auth.AuthRepository
|
||||
import kr.co.vividnext.sodalive.member.block.BlockMember
|
||||
import kr.co.vividnext.sodalive.member.block.BlockMemberRepository
|
||||
import kr.co.vividnext.sodalive.member.block.GetBlockedMemberListResponse
|
||||
import kr.co.vividnext.sodalive.member.block.MemberBlockRequest
|
||||
import kr.co.vividnext.sodalive.member.contentpreference.MemberContentPreferenceService
|
||||
import kr.co.vividnext.sodalive.member.following.CreatorFollowing
|
||||
import kr.co.vividnext.sodalive.member.following.CreatorFollowingRepository
|
||||
import kr.co.vividnext.sodalive.member.info.GetMemberInfoResponse
|
||||
@@ -82,7 +82,6 @@ class MemberService(
|
||||
private val stipulationAgreeRepository: StipulationAgreeRepository,
|
||||
private val creatorFollowingRepository: CreatorFollowingRepository,
|
||||
private val blockMemberRepository: BlockMemberRepository,
|
||||
private val authRepository: AuthRepository,
|
||||
private val signOutRepository: SignOutRepository,
|
||||
private val nicknameChangeLogRepository: NicknameChangeLogRepository,
|
||||
private val memberTagRepository: MemberTagRepository,
|
||||
@@ -106,6 +105,7 @@ class MemberService(
|
||||
private val messageSource: SodaMessageSource,
|
||||
private val langContext: LangContext,
|
||||
private val countryContext: CountryContext,
|
||||
private val memberContentPreferenceService: MemberContentPreferenceService,
|
||||
|
||||
private val objectMapper: ObjectMapper,
|
||||
private val cacheManager: CacheManager,
|
||||
@@ -120,6 +120,8 @@ class MemberService(
|
||||
private val tokenLocks: MutableMap<Long, ReentrantReadWriteLock> = mutableMapOf()
|
||||
|
||||
private val recommendLiveCacheKeyPrefix = "getRecommendLive:"
|
||||
private val recommendLiveCacheKeySuffixFalse = ":false"
|
||||
private val recommendLiveCacheKeySuffixTrue = ":true"
|
||||
private val latestFinishedLiveCacheKeyPrefix = "getLatestFinishedLive:"
|
||||
|
||||
@Transactional
|
||||
@@ -154,6 +156,7 @@ class MemberService(
|
||||
}
|
||||
|
||||
repository.save(member)
|
||||
memberContentPreferenceService.initializeDefaultPreference(member)
|
||||
agreeTermsOfServiceAndPrivacyPolicy(member, stipulationTermsOfService, stipulationPrivacyPolicy)
|
||||
|
||||
if (request.pushToken != null) {
|
||||
@@ -192,6 +195,7 @@ class MemberService(
|
||||
duplicateCheckNickname(request.nickname)
|
||||
|
||||
val member = createMember(request)
|
||||
memberContentPreferenceService.initializeDefaultPreference(member)
|
||||
member.profileImage = uploadProfileImage(profileImage = profileImage, memberId = member.id!!)
|
||||
agreeTermsOfServiceAndPrivacyPolicy(member, stipulationTermsOfService, stipulationPrivacyPolicy)
|
||||
|
||||
@@ -217,6 +221,8 @@ class MemberService(
|
||||
}
|
||||
|
||||
fun getMemberInfo(member: Member, container: String): GetMemberInfoResponse {
|
||||
val preference = memberContentPreferenceService.getStoredPreference(member)
|
||||
|
||||
val gender = if (member.auth != null) {
|
||||
if (member.auth!!.gender == 1) {
|
||||
messageSource.getMessage("member.gender.male", langContext.lang)
|
||||
@@ -250,7 +256,10 @@ class MemberService(
|
||||
messageNotice = member.notification?.message,
|
||||
followingChannelLiveNotice = member.notification?.live,
|
||||
followingChannelUploadContentNotice = member.notification?.uploadContent,
|
||||
auditionNotice = member.notification?.audition
|
||||
auditionNotice = member.notification?.audition,
|
||||
countryCode = preference.countryCode,
|
||||
isAdultContentVisible = preference.isAdultContentVisible,
|
||||
contentType = preference.contentType
|
||||
)
|
||||
}
|
||||
|
||||
@@ -840,7 +849,11 @@ class MemberService(
|
||||
}
|
||||
|
||||
private fun evictRecommendLiveCache(memberId: Long) {
|
||||
cacheManager.getCache("cache_ttl_3_hours")?.evict(recommendLiveCacheKeyPrefix + memberId)
|
||||
val cache = cacheManager.getCache("cache_ttl_3_hours") ?: return
|
||||
|
||||
cache.evict(recommendLiveCacheKeyPrefix + memberId + recommendLiveCacheKeySuffixFalse)
|
||||
cache.evict(recommendLiveCacheKeyPrefix + memberId + recommendLiveCacheKeySuffixTrue)
|
||||
cache.evict(recommendLiveCacheKeyPrefix + memberId)
|
||||
}
|
||||
|
||||
private fun evictLatestFinishedLiveCache(memberId: Long) {
|
||||
@@ -910,6 +923,7 @@ class MemberService(
|
||||
}
|
||||
|
||||
repository.save(member)
|
||||
memberContentPreferenceService.initializeDefaultPreference(member)
|
||||
agreeTermsOfServiceAndPrivacyPolicy(member, stipulationTermsOfService, stipulationPrivacyPolicy)
|
||||
|
||||
if (pushToken != null) {
|
||||
@@ -967,6 +981,7 @@ class MemberService(
|
||||
}
|
||||
|
||||
repository.save(member)
|
||||
memberContentPreferenceService.initializeDefaultPreference(member)
|
||||
agreeTermsOfServiceAndPrivacyPolicy(member, stipulationTermsOfService, stipulationPrivacyPolicy)
|
||||
|
||||
if (pushToken != null) {
|
||||
@@ -1024,6 +1039,7 @@ class MemberService(
|
||||
}
|
||||
|
||||
repository.save(member)
|
||||
memberContentPreferenceService.initializeDefaultPreference(member)
|
||||
agreeTermsOfServiceAndPrivacyPolicy(member, stipulationTermsOfService, stipulationPrivacyPolicy)
|
||||
|
||||
if (pushToken != null) {
|
||||
@@ -1081,6 +1097,7 @@ class MemberService(
|
||||
}
|
||||
|
||||
repository.save(member)
|
||||
memberContentPreferenceService.initializeDefaultPreference(member)
|
||||
agreeTermsOfServiceAndPrivacyPolicy(member, stipulationTermsOfService, stipulationPrivacyPolicy)
|
||||
|
||||
if (pushToken != null) {
|
||||
|
||||
Reference in New Issue
Block a user