diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerQueryRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerQueryRepository.kt index 9de8a29..a8a55aa 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerQueryRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerQueryRepository.kt @@ -28,6 +28,7 @@ import kr.co.vividnext.sodalive.member.MemberRole import kr.co.vividnext.sodalive.member.QMember import kr.co.vividnext.sodalive.member.QMember.member import kr.co.vividnext.sodalive.member.auth.QAuth.auth +import kr.co.vividnext.sodalive.member.block.QBlockMember.blockMember import kr.co.vividnext.sodalive.member.following.QCreatorFollowing.creatorFollowing import kr.co.vividnext.sodalive.member.tag.QCreatorTag.creatorTag import kr.co.vividnext.sodalive.member.tag.QMemberCreatorTag.memberCreatorTag @@ -557,14 +558,20 @@ class ExplorerQueryRepository( } fun getFollowerListTotalCount(creatorId: Long): Int { + val blockMemberCondition = blockMember.member.id.eq(creatorId) + .and(blockMember.isActive.isTrue) + .and(blockMember.blockedMember.id.eq(member.id)) + return queryFactory.select(creatorFollowing.id) .from(creatorFollowing) .innerJoin(creatorFollowing.member, member) + .leftJoin(blockMember).on(blockMemberCondition) .where( member.isActive.isTrue .and(creatorFollowing.isActive.isTrue) .and(creatorFollowing.creator.id.eq(creatorId)) .and(creatorFollowing.member.id.ne(creatorId)) + .and(blockMember.id.isNull) ) .fetch() .size @@ -575,6 +582,10 @@ class ExplorerQueryRepository( offset: Long, limit: Long ): List { + val blockMemberCondition = blockMember.member.id.eq(creatorId) + .and(blockMember.isActive.isTrue) + .and(blockMember.blockedMember.id.eq(member.id)) + return queryFactory .select( QGetFollowerListDto( @@ -586,11 +597,13 @@ class ExplorerQueryRepository( ) .from(creatorFollowing) .innerJoin(creatorFollowing.member, member) + .leftJoin(blockMember).on(blockMemberCondition) .where( member.isActive.isTrue .and(creatorFollowing.isActive.isTrue) .and(creatorFollowing.creator.id.eq(creatorId)) .and(creatorFollowing.member.id.ne(creatorId)) + .and(blockMember.id.isNull) ) .offset(offset) .limit(limit) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/explorer/profile/creatorCommunity/CreatorCommunityRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/explorer/profile/creatorCommunity/CreatorCommunityRepository.kt index 6f3ffcf..1b31eec 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/explorer/profile/creatorCommunity/CreatorCommunityRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/explorer/profile/creatorCommunity/CreatorCommunityRepository.kt @@ -68,7 +68,8 @@ class CreatorCommunityQueryRepositoryImpl(private val queryFactory: JPAQueryFact creatorCommunity.content, creatorCommunity.createdAt, creatorCommunity.isCommentAvailable, - creatorCommunity.price + creatorCommunity.price, + creatorCommunity.isAdult ) ) .from(creatorCommunity) @@ -154,7 +155,8 @@ class CreatorCommunityQueryRepositoryImpl(private val queryFactory: JPAQueryFact creatorCommunity.content, creatorCommunity.createdAt, creatorCommunity.isCommentAvailable, - creatorCommunity.price + creatorCommunity.price, + creatorCommunity.isAdult ) ) .from(creatorCommunity) @@ -185,7 +187,8 @@ class CreatorCommunityQueryRepositoryImpl(private val queryFactory: JPAQueryFact creatorCommunity.content, creatorCommunity.createdAt, creatorCommunity.isCommentAvailable, - creatorCommunity.price + creatorCommunity.price, + creatorCommunity.isAdult ) ) .from(creatorCommunity) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/explorer/profile/creatorCommunity/SelectCommunityPostResponse.kt b/src/main/kotlin/kr/co/vividnext/sodalive/explorer/profile/creatorCommunity/SelectCommunityPostResponse.kt index 8f69f6f..c290067 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/explorer/profile/creatorCommunity/SelectCommunityPostResponse.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/explorer/profile/creatorCommunity/SelectCommunityPostResponse.kt @@ -14,7 +14,8 @@ data class SelectCommunityPostResponse @QueryProjection constructor( val content: String, val date: LocalDateTime, val isCommentAvailable: Boolean, - val price: Int + val price: Int, + val isAdult: Boolean ) { fun toCommunityPostListResponse( imageHost: String, @@ -57,7 +58,7 @@ data class SelectCommunityPostResponse @QueryProjection constructor( price = price, date = date, isCommentAvailable = isCommentAvailable, - isAdult = false, + isAdult = isAdult, isLike = isLike, existOrdered = existOrdered, likeCount = likeCount,