콘텐츠 메인 홈
- 로그인 없이 조회가 가능하도록 수정
This commit is contained in:
@@ -13,12 +13,12 @@ class AudioContentBannerService(
|
||||
@Value("\${cloud.aws.cloud-front.host}")
|
||||
private val imageHost: String
|
||||
) {
|
||||
fun getBannerList(tabId: Long, memberId: Long, isAdult: Boolean): List<GetAudioContentBannerResponse> {
|
||||
fun getBannerList(tabId: Long, memberId: Long?, isAdult: Boolean): List<GetAudioContentBannerResponse> {
|
||||
return repository.getAudioContentMainBannerList(tabId, isAdult)
|
||||
.filter {
|
||||
if (it.type == AudioContentBannerType.CREATOR && it.creator != null) {
|
||||
if (it.type == AudioContentBannerType.CREATOR && it.creator != null && memberId != null) {
|
||||
!blockMemberRepository.isBlocked(blockedMemberId = memberId, memberId = it.creator!!.id!!)
|
||||
} else if (it.type == AudioContentBannerType.SERIES && it.series != null) {
|
||||
} else if (it.type == AudioContentBannerType.SERIES && it.series != null && memberId != null) {
|
||||
!blockMemberRepository.isBlocked(blockedMemberId = memberId, memberId = it.series!!.member!!.id!!)
|
||||
} else {
|
||||
true
|
||||
|
@@ -1,7 +1,6 @@
|
||||
package kr.co.vividnext.sodalive.content.main.tab.home
|
||||
|
||||
import kr.co.vividnext.sodalive.common.ApiResponse
|
||||
import kr.co.vividnext.sodalive.common.SodaException
|
||||
import kr.co.vividnext.sodalive.content.ContentType
|
||||
import kr.co.vividnext.sodalive.member.Member
|
||||
import org.springframework.security.core.annotation.AuthenticationPrincipal
|
||||
@@ -19,8 +18,6 @@ class AudioContentMainTabHomeController(private val service: AudioContentMainTab
|
||||
@RequestParam("contentType", required = false) contentType: ContentType? = null,
|
||||
@AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?
|
||||
) = run {
|
||||
if (member == null) throw SodaException("로그인 정보를 확인해주세요.")
|
||||
|
||||
ApiResponse.ok(
|
||||
service.fetchData(
|
||||
isAdultContentVisible = isAdultContentVisible ?: true,
|
||||
@@ -37,12 +34,10 @@ class AudioContentMainTabHomeController(private val service: AudioContentMainTab
|
||||
@RequestParam("contentType", required = false) contentType: ContentType? = null,
|
||||
@AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?
|
||||
) = run {
|
||||
if (member == null) throw SodaException("로그인 정보를 확인해주세요.")
|
||||
|
||||
ApiResponse.ok(
|
||||
service.getPopularContentByCreator(
|
||||
creatorId = creatorId,
|
||||
isAdult = member.auth != null && (isAdultContentVisible ?: true),
|
||||
isAdult = member?.auth != null && (isAdultContentVisible ?: true),
|
||||
contentType = contentType ?: ContentType.ALL
|
||||
)
|
||||
)
|
||||
|
@@ -23,7 +23,7 @@ class AudioContentMainTabHomeService(
|
||||
fun fetchData(
|
||||
isAdultContentVisible: Boolean,
|
||||
contentType: ContentType,
|
||||
member: Member
|
||||
member: Member?
|
||||
): GetContentMainTabHomeResponse {
|
||||
// 주간 랭킹 기간
|
||||
val currentDateTime = LocalDateTime.now()
|
||||
@@ -42,7 +42,7 @@ class AudioContentMainTabHomeService(
|
||||
val formattedLastMonday = startDate.format(startDateFormatter)
|
||||
val formattedLastSunday = endDate.format(endDateFormatter)
|
||||
|
||||
val isAdult = member.auth != null && isAdultContentVisible
|
||||
val isAdult = member?.auth != null && isAdultContentVisible
|
||||
|
||||
// 최근 공지사항
|
||||
val latestNotice = noticeService.getLatestNotice()
|
||||
@@ -50,19 +50,19 @@ class AudioContentMainTabHomeService(
|
||||
// 메인 배너 (홈)
|
||||
val contentBannerList = bannerService.getBannerList(
|
||||
tabId = 1,
|
||||
memberId = member.id!!,
|
||||
memberId = member?.id,
|
||||
isAdult = isAdult
|
||||
)
|
||||
|
||||
// 인기 크리에이터
|
||||
val rankCreatorList = rankingService.getCreatorRanking(
|
||||
memberId = member.id!!,
|
||||
memberId = member?.id,
|
||||
rankingDate = "$formattedLastMonday ~ $formattedLastSunday"
|
||||
)
|
||||
|
||||
// 인기 시리즈
|
||||
val rankSeriesList = rankingService.getSeriesRanking(
|
||||
memberId = member.id!!,
|
||||
memberId = member?.id,
|
||||
isAdult = isAdult,
|
||||
contentType = contentType,
|
||||
startDate = startDate.minusDays(1),
|
||||
@@ -71,7 +71,7 @@ class AudioContentMainTabHomeService(
|
||||
|
||||
// 인기 콘텐츠
|
||||
val rankContentList = rankingService.getContentRanking(
|
||||
memberId = member.id!!,
|
||||
memberId = member?.id,
|
||||
isAdult = isAdult,
|
||||
contentType = contentType,
|
||||
startDate = startDate.minusDays(1),
|
||||
@@ -82,7 +82,7 @@ class AudioContentMainTabHomeService(
|
||||
val eventBannerList = eventService.getEventList(isAdult = isAdult)
|
||||
|
||||
val contentRankCreatorList = rankingService.fetchCreatorBySellContentCountRankTop20(
|
||||
memberId = member.id!!,
|
||||
memberId = member?.id,
|
||||
isAdult = isAdult,
|
||||
contentType = contentType,
|
||||
startDate = startDate.minusDays(1),
|
||||
|
Reference in New Issue
Block a user