크리에이터 프로필 API
- 랭킹, 추천 크리, 라이브, 콘텐츠, 시리즈, 커뮤니티, 활동요약을 크리에이터인 경우에만 조회하도록 수정
This commit is contained in:
parent
354fbf7e29
commit
eb36313c9b
|
@ -144,12 +144,16 @@ class ExplorerService(
|
||||||
val isBlocked = memberService.isBlocked(blockedMemberId = member.id!!, memberId = creatorId)
|
val isBlocked = memberService.isBlocked(blockedMemberId = member.id!!, memberId = creatorId)
|
||||||
if (isBlocked) throw SodaException("${creatorAccount.nickname}님의 요청으로 채널 접근이 제한됩니다.")
|
if (isBlocked) throw SodaException("${creatorAccount.nickname}님의 요청으로 채널 접근이 제한됩니다.")
|
||||||
|
|
||||||
|
val isCreator = creatorAccount.role == MemberRole.CREATOR
|
||||||
|
|
||||||
val notificationUserIds = queryRepository.getNotificationUserIds(creatorId)
|
val notificationUserIds = queryRepository.getNotificationUserIds(creatorId)
|
||||||
val creatorFollowing = queryRepository.getCreatorFollowing(creatorId = creatorId, memberId = member.id!!)
|
val creatorFollowing = queryRepository.getCreatorFollowing(creatorId = creatorId, memberId = member.id!!)
|
||||||
val notificationRecipientCount = notificationUserIds.size
|
val notificationRecipientCount = notificationUserIds.size
|
||||||
|
|
||||||
// 후원랭킹
|
// 후원랭킹
|
||||||
val memberDonationRanking = if (creatorId == member.id!! || creatorAccount.isVisibleDonationRank) {
|
val memberDonationRanking = if (
|
||||||
|
isCreator && (creatorId == member.id!! || creatorAccount.isVisibleDonationRank)
|
||||||
|
) {
|
||||||
queryRepository.getMemberDonationRanking(
|
queryRepository.getMemberDonationRanking(
|
||||||
creatorId,
|
creatorId,
|
||||||
10,
|
10,
|
||||||
|
@ -160,37 +164,57 @@ class ExplorerService(
|
||||||
}
|
}
|
||||||
|
|
||||||
// 추천 크리에이터
|
// 추천 크리에이터
|
||||||
val similarCreatorList = queryRepository.getSimilarCreatorList(creatorId)
|
val similarCreatorList = if (isCreator) {
|
||||||
|
queryRepository.getSimilarCreatorList(creatorId)
|
||||||
|
} else {
|
||||||
|
listOf()
|
||||||
|
}
|
||||||
|
|
||||||
// 라이브
|
// 라이브
|
||||||
val liveRoomList = queryRepository.getLiveRoomList(
|
val liveRoomList = if (isCreator) {
|
||||||
creatorId,
|
queryRepository.getLiveRoomList(
|
||||||
userMember = member,
|
creatorId,
|
||||||
timezone = timezone,
|
userMember = member,
|
||||||
limit = 3
|
timezone = timezone,
|
||||||
)
|
limit = 3
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
listOf()
|
||||||
|
}
|
||||||
|
|
||||||
// 오디오 콘텐츠
|
// 오디오 콘텐츠
|
||||||
val contentList = audioContentService.getAudioContentList(
|
val contentList = if (isCreator) {
|
||||||
creatorId = creatorId,
|
audioContentService.getAudioContentList(
|
||||||
sortType = SortType.NEWEST,
|
creatorId = creatorId,
|
||||||
member = member,
|
sortType = SortType.NEWEST,
|
||||||
offset = 0,
|
member = member,
|
||||||
limit = 3
|
offset = 0,
|
||||||
).items
|
limit = 3
|
||||||
|
).items
|
||||||
|
} else {
|
||||||
|
listOf()
|
||||||
|
}
|
||||||
|
|
||||||
// 공지사항
|
// 공지사항
|
||||||
val notice = queryRepository.getNoticeString(creatorId)
|
val notice = if (isCreator) {
|
||||||
|
queryRepository.getNoticeString(creatorId)
|
||||||
|
} else {
|
||||||
|
""
|
||||||
|
}
|
||||||
|
|
||||||
// 커뮤니티
|
// 커뮤니티
|
||||||
val communityPostList = communityService.getCommunityPostList(
|
val communityPostList = if (isCreator) {
|
||||||
creatorId = creatorId,
|
communityService.getCommunityPostList(
|
||||||
memberId = member.id!!,
|
creatorId = creatorId,
|
||||||
timezone = timezone,
|
memberId = member.id!!,
|
||||||
offset = 0,
|
timezone = timezone,
|
||||||
limit = 3,
|
offset = 0,
|
||||||
isAdult = member.auth != null
|
limit = 3,
|
||||||
)
|
isAdult = member.auth != null
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
listOf()
|
||||||
|
}
|
||||||
|
|
||||||
// 응원
|
// 응원
|
||||||
val cheers = queryRepository.getCheersList(creatorId, timezone = timezone, offset = 0, limit = 4)
|
val cheers = queryRepository.getCheersList(creatorId, timezone = timezone, offset = 0, limit = 4)
|
||||||
|
@ -198,15 +222,29 @@ class ExplorerService(
|
||||||
// 차단한 크리에이터 인지 체크
|
// 차단한 크리에이터 인지 체크
|
||||||
val isBlock = memberService.isBlocked(blockedMemberId = creatorId, memberId = member.id!!)
|
val isBlock = memberService.isBlocked(blockedMemberId = creatorId, memberId = member.id!!)
|
||||||
|
|
||||||
// 활동요약 (라이브 횟수, 라이브 시간, 라이브 참여자, 콘텐츠 수)
|
val activitySummary = if (isCreator) {
|
||||||
val liveCount = queryRepository.getLiveCount(creatorId) ?: 0
|
// 활동요약 (라이브 횟수, 라이브 시간, 라이브 참여자, 콘텐츠 수)
|
||||||
val liveTime = queryRepository.getLiveTime(creatorId)
|
val liveCount = queryRepository.getLiveCount(creatorId) ?: 0
|
||||||
val liveContributorCount = queryRepository.getLiveContributorCount(creatorId) ?: 0
|
val liveTime = queryRepository.getLiveTime(creatorId)
|
||||||
val contentCount = queryRepository.getContentCount(creatorId) ?: 0
|
val liveContributorCount = queryRepository.getLiveContributorCount(creatorId) ?: 0
|
||||||
|
val contentCount = queryRepository.getContentCount(creatorId) ?: 0
|
||||||
|
GetCreatorActivitySummary(
|
||||||
|
liveCount = liveCount,
|
||||||
|
liveTime = liveTime,
|
||||||
|
liveContributorCount = liveContributorCount,
|
||||||
|
contentCount = contentCount
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
GetCreatorActivitySummary(0, 0, 0, 0)
|
||||||
|
}
|
||||||
|
|
||||||
val seriesList = seriesService
|
val seriesList = if (isCreator) {
|
||||||
.getSeriesList(creatorId = creatorId, member = member)
|
seriesService
|
||||||
.items
|
.getSeriesList(creatorId = creatorId, member = member)
|
||||||
|
.items
|
||||||
|
} else {
|
||||||
|
listOf()
|
||||||
|
}
|
||||||
|
|
||||||
return GetCreatorProfileResponse(
|
return GetCreatorProfileResponse(
|
||||||
creator = CreatorResponse(
|
creator = CreatorResponse(
|
||||||
|
@ -235,14 +273,10 @@ class ExplorerService(
|
||||||
notice = notice,
|
notice = notice,
|
||||||
communityPostList = communityPostList,
|
communityPostList = communityPostList,
|
||||||
cheers = cheers,
|
cheers = cheers,
|
||||||
activitySummary = GetCreatorActivitySummary(
|
activitySummary = activitySummary,
|
||||||
liveCount = liveCount,
|
|
||||||
liveTime = liveTime,
|
|
||||||
liveContributorCount = liveContributorCount,
|
|
||||||
contentCount = contentCount
|
|
||||||
),
|
|
||||||
seriesList = seriesList,
|
seriesList = seriesList,
|
||||||
isBlock = isBlock
|
isBlock = isBlock,
|
||||||
|
isCreator = isCreator
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,8 @@ data class GetCreatorProfileResponse(
|
||||||
val cheers: GetCheersResponse,
|
val cheers: GetCheersResponse,
|
||||||
val activitySummary: GetCreatorActivitySummary,
|
val activitySummary: GetCreatorActivitySummary,
|
||||||
val seriesList: List<GetSeriesListResponse.SeriesListItem>,
|
val seriesList: List<GetSeriesListResponse.SeriesListItem>,
|
||||||
val isBlock: Boolean
|
val isBlock: Boolean,
|
||||||
|
val isCreator: Boolean
|
||||||
)
|
)
|
||||||
|
|
||||||
data class GetCreatorActivitySummary(
|
data class GetCreatorActivitySummary(
|
||||||
|
|
Loading…
Reference in New Issue