From fd3d596d5700a050d6734e1e128cd57da1551a7f Mon Sep 17 00:00:00 2001 From: Klaus <klaus@vividnext.co.kr> Date: Fri, 13 Sep 2024 19:24:40 +0900 Subject: [PATCH] =?UTF-8?q?=EC=BD=98=ED=85=90=EC=B8=A0=20=EC=83=81?= =?UTF-8?q?=EC=84=B8,=20=ED=8C=94=EB=A1=9C=EC=9E=89=20=EB=A6=AC=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8,=20=EC=8B=9C=EB=A6=AC=EC=A6=88=20=EC=83=81=EC=84=B8?= =?UTF-8?q?=20API=20-=20=EC=95=8C=EB=A6=BC=EA=B3=BC=20=ED=8C=94=EB=A1=9C?= =?UTF-8?q?=EC=9A=B0=20=EC=83=81=ED=83=9C=EA=B0=92=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vividnext/sodalive/content/AudioContentService.kt | 10 +++++++--- .../sodalive/content/GetAudioContentDetailResponse.kt | 4 +++- .../sodalive/content/series/ContentSeriesService.kt | 5 +++-- .../sodalive/content/series/GetSeriesDetailResponse.kt | 3 ++- .../recommend/GetCreatorFollowingAllListResponse.kt | 7 +++++-- .../sodalive/live/recommend/LiveRecommendRepository.kt | 6 +++--- 6 files changed, 23 insertions(+), 12 deletions(-) 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<GetCreatorFollowingAllListItem> ) -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)