diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt index 37445a0..7fa6d25 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/AudioContentService.kt @@ -450,8 +450,10 @@ class AudioContentService( val creator = explorerQueryRepository.getMember(creatorId) ?: throw SodaException("없는 사용자 입니다.") - val notificationUserIds = explorerQueryRepository.getNotificationUserIds(creatorId) - val isFollowing = notificationUserIds.contains(member.id) + val creatorFollowing = explorerQueryRepository.getCreatorFollowing( + creatorId = creatorId, + memberId = member.id!! + ) // 구매 여부 확인 val isExistsBundleAudioContent = bundleAudioContentList @@ -640,7 +642,9 @@ class AudioContentService( } else { "$coverImageHost/profile/default-profile.png" }, - isFollowing = isFollowing + isFollowing = creatorFollowing?.isFollow ?: false, + isFollow = creatorFollowing?.isFollow ?: false, + isNotify = creatorFollowing?.isNotify ?: false ) ) } diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/GetAudioContentDetailResponse.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/GetAudioContentDetailResponse.kt index 77e5ea7..baf2cbc 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/GetAudioContentDetailResponse.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/GetAudioContentDetailResponse.kt @@ -47,5 +47,7 @@ data class AudioContentCreator( val creatorId: Long, val nickname: String, val profileImageUrl: String, - val isFollowing: Boolean + val isFollowing: Boolean, + val isFollow: Boolean, + val isNotify: Boolean ) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/series/ContentSeriesService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/series/ContentSeriesService.kt index 665eb2e..86a0191 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/series/ContentSeriesService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/series/ContentSeriesService.kt @@ -61,7 +61,7 @@ class ContentSeriesService( throw SodaException("잘못된 시리즈 입니다.\n다시 시도해 주세요") } - val isFollow = explorerQueryRepository.isFollow( + val creatorFollowing = explorerQueryRepository.getCreatorFollowing( creatorId = series.member!!.id!!, memberId = member.id!! ) @@ -102,7 +102,8 @@ class ContentSeriesService( creatorId = series.member!!.id!!, nickname = series.member!!.nickname, profileImage = "$coverImageHost/${series.member!!.profileImage}", - isFollow = isFollow + isFollow = creatorFollowing?.isFollow ?: false, + isNotice = creatorFollowing?.isNotify ?: false ), rentalMinPrice = rentalMinPrice, rentalMaxPrice = rentalMaxPrice, diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/content/series/GetSeriesDetailResponse.kt b/src/main/kotlin/kr/co/vividnext/sodalive/content/series/GetSeriesDetailResponse.kt index 508c441..a827760 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/content/series/GetSeriesDetailResponse.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/content/series/GetSeriesDetailResponse.kt @@ -27,6 +27,7 @@ data class GetSeriesDetailResponse( val creatorId: Long, val nickname: String, val profileImage: String, - val isFollow: Boolean + val isFollow: Boolean, + val isNotice: Boolean ) } diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/live/recommend/GetCreatorFollowingAllListResponse.kt b/src/main/kotlin/kr/co/vividnext/sodalive/live/recommend/GetCreatorFollowingAllListResponse.kt index 2ae3bc4..286bdfc 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/live/recommend/GetCreatorFollowingAllListResponse.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/live/recommend/GetCreatorFollowingAllListResponse.kt @@ -1,13 +1,16 @@ package kr.co.vividnext.sodalive.live.recommend +import com.querydsl.core.annotations.QueryProjection + data class GetCreatorFollowingAllListResponse( val totalCount: Int, val items: List ) -data class GetCreatorFollowingAllListItem( +data class GetCreatorFollowingAllListItem @QueryProjection constructor( val creatorId: Long, val nickname: String, val profileImageUrl: String, - val isFollow: Boolean + val isFollow: Boolean, + val isNotify: Boolean ) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/live/recommend/LiveRecommendRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/live/recommend/LiveRecommendRepository.kt index 2032a5b..b3c3bf5 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/live/recommend/LiveRecommendRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/live/recommend/LiveRecommendRepository.kt @@ -239,12 +239,12 @@ class LiveRecommendRepository( return queryFactory .select( - Projections.constructor( - GetCreatorFollowingAllListItem::class.java, + QGetCreatorFollowingAllListItem( member.id, member.nickname, member.profileImage.prepend("/").prepend(cloudFrontHost), - Expressions.asBoolean(true) + Expressions.asBoolean(true), + creatorFollowing.isNotify ) ) .from(creatorFollowing)