commit
897726e1ec
|
@ -7,6 +7,7 @@ import com.querydsl.jpa.impl.JPAQueryFactory
|
|||
import kr.co.vividnext.sodalive.can.use.CanUsage
|
||||
import kr.co.vividnext.sodalive.can.use.QUseCan.useCan
|
||||
import kr.co.vividnext.sodalive.common.SodaException
|
||||
import kr.co.vividnext.sodalive.content.QAudioContent.audioContent
|
||||
import kr.co.vividnext.sodalive.explorer.follower.GetFollowerListDto
|
||||
import kr.co.vividnext.sodalive.explorer.follower.QGetFollowerListDto
|
||||
import kr.co.vividnext.sodalive.explorer.profile.ChannelNotice
|
||||
|
@ -364,6 +365,7 @@ class ExplorerQueryRepository(
|
|||
val isPaid = if (it.channelName != null) {
|
||||
val useCan = queryFactory
|
||||
.selectFrom(useCan)
|
||||
.innerJoin(useCan.member, member)
|
||||
.where(
|
||||
useCan.member.id.eq(member.id)
|
||||
.and(useCan.room.id.eq(it.id!!))
|
||||
|
@ -597,4 +599,15 @@ class ExplorerQueryRepository(
|
|||
.where(channelNotice.member.id.eq(creatorId))
|
||||
.fetchFirst()
|
||||
}
|
||||
|
||||
fun getContentCount(creatorId: Long): Long? {
|
||||
return queryFactory
|
||||
.select(audioContent.id.count())
|
||||
.from(audioContent)
|
||||
.where(
|
||||
audioContent.isActive.isTrue
|
||||
.and(audioContent.member.id.eq(creatorId))
|
||||
)
|
||||
.fetchFirst()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
package kr.co.vividnext.sodalive.explorer
|
||||
|
||||
import kr.co.vividnext.sodalive.common.SodaException
|
||||
import kr.co.vividnext.sodalive.content.AudioContentService
|
||||
import kr.co.vividnext.sodalive.content.SortType
|
||||
import kr.co.vividnext.sodalive.explorer.follower.GetFollowerListResponse
|
||||
import kr.co.vividnext.sodalive.explorer.follower.GetFollowerListResponseItem
|
||||
import kr.co.vividnext.sodalive.explorer.profile.ChannelNotice
|
||||
|
@ -22,6 +24,7 @@ import org.springframework.transaction.annotation.Transactional
|
|||
@Transactional(readOnly = true)
|
||||
class ExplorerService(
|
||||
private val memberService: MemberService,
|
||||
private val audioContentService: AudioContentService,
|
||||
private val queryRepository: ExplorerQueryRepository,
|
||||
private val cheersRepository: CreatorCheersRepository,
|
||||
private val noticeRepository: ChannelNoticeRepository,
|
||||
|
@ -185,6 +188,15 @@ class ExplorerService(
|
|||
limit = 4
|
||||
)
|
||||
|
||||
// 오디오 콘텐츠
|
||||
val contentList = audioContentService.getAudioContentList(
|
||||
creatorId = creatorId,
|
||||
sortType = SortType.NEWEST,
|
||||
member = member,
|
||||
offset = 0,
|
||||
limit = 4
|
||||
).items
|
||||
|
||||
// 공지사항
|
||||
val notice = queryRepository.getNoticeString(creatorId)
|
||||
|
||||
|
@ -198,7 +210,7 @@ class ExplorerService(
|
|||
val liveCount = queryRepository.getLiveCount(creatorId) ?: 0
|
||||
val liveTime = queryRepository.getLiveTime(creatorId)
|
||||
val liveContributorCount = queryRepository.getLiveContributorCount(creatorId) ?: 0
|
||||
val contentCount = 0L
|
||||
val contentCount = queryRepository.getContentCount(creatorId) ?: 0
|
||||
|
||||
return GetCreatorProfileResponse(
|
||||
creator = CreatorResponse(
|
||||
|
@ -221,6 +233,7 @@ class ExplorerService(
|
|||
userDonationRanking = userDonationRanking,
|
||||
similarCreatorList = similarCreatorList,
|
||||
liveRoomList = liveRoomList,
|
||||
contentList = contentList,
|
||||
notice = notice,
|
||||
cheers = cheers,
|
||||
activitySummary = GetCreatorActivitySummary(
|
||||
|
|
|
@ -1,10 +1,13 @@
|
|||
package kr.co.vividnext.sodalive.explorer
|
||||
|
||||
import kr.co.vividnext.sodalive.content.GetAudioContentListItem
|
||||
|
||||
data class GetCreatorProfileResponse(
|
||||
val creator: CreatorResponse,
|
||||
val userDonationRanking: List<UserDonationRankingResponse>,
|
||||
val similarCreatorList: List<SimilarCreatorResponse>,
|
||||
val liveRoomList: List<LiveRoomResponse>,
|
||||
val contentList: List<GetAudioContentListItem>,
|
||||
val notice: String,
|
||||
val cheers: GetCheersResponse,
|
||||
val activitySummary: GetCreatorActivitySummary,
|
||||
|
|
Loading…
Reference in New Issue