diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/explorer/profile/creatorCommunity/CreatorCommunityService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/explorer/profile/creatorCommunity/CreatorCommunityService.kt index 37e0dae..60ef7c4 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/explorer/profile/creatorCommunity/CreatorCommunityService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/explorer/profile/creatorCommunity/CreatorCommunityService.kt @@ -15,6 +15,7 @@ import kr.co.vividnext.sodalive.explorer.profile.creatorCommunity.like.PostCommu import kr.co.vividnext.sodalive.fcm.FcmEvent import kr.co.vividnext.sodalive.fcm.FcmEventType import kr.co.vividnext.sodalive.member.Member +import kr.co.vividnext.sodalive.member.block.BlockMemberRepository import kr.co.vividnext.sodalive.utils.generateFileName import org.springframework.beans.factory.annotation.Value import org.springframework.context.ApplicationEventPublisher @@ -28,6 +29,7 @@ import java.time.LocalDateTime @Service class CreatorCommunityService( private val repository: CreatorCommunityRepository, + private val blockMemberRepository: BlockMemberRepository, private val likeRepository: CreatorCommunityLikeRepository, private val commentRepository: CreatorCommunityCommentRepository, @@ -140,6 +142,12 @@ class CreatorCommunityService( return postList .asSequence() + .filter { + !blockMemberRepository.isBlocked( + blockedMemberId = memberId, + memberId = creatorId + ) + } .map { val isLike = likeRepository.findByPostIdAndMemberId(postId = it.id!!, memberId = memberId)?.isActive ?: false @@ -203,6 +211,9 @@ class CreatorCommunityService( val post = repository.findByIdAndActive(postId, isAdult = isAdult) ?: throw SodaException("잘못된 요청입니다.\n다시 시도해 주세요.") + val isBlocked = blockMemberRepository.isBlocked(blockedMemberId = memberId, memberId = post.member!!.id!!) + if (isBlocked) throw SodaException("${post.member!!.nickname}님의 요청으로 접근이 제한됩니다.") + val isLike = likeRepository.findByPostIdAndMemberId(postId = post.id!!, memberId = memberId)?.isActive ?: false val likeCount = likeRepository.totalCountCommunityPostLikeByPostId(post.id!!) val commentCount = if (post.isCommentAvailable) {