test #5
| @@ -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, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user