Merge pull request '커뮤니티 게시물 조회 - 차단된 유저는 조회되지 않도록 수정' (#103) from test into main

Reviewed-on: #103
This commit is contained in:
klaus 2023-12-21 19:05:12 +00:00
commit 039bd11963
1 changed files with 11 additions and 0 deletions

View File

@ -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.FcmEvent
import kr.co.vividnext.sodalive.fcm.FcmEventType import kr.co.vividnext.sodalive.fcm.FcmEventType
import kr.co.vividnext.sodalive.member.Member import kr.co.vividnext.sodalive.member.Member
import kr.co.vividnext.sodalive.member.block.BlockMemberRepository
import kr.co.vividnext.sodalive.utils.generateFileName import kr.co.vividnext.sodalive.utils.generateFileName
import org.springframework.beans.factory.annotation.Value import org.springframework.beans.factory.annotation.Value
import org.springframework.context.ApplicationEventPublisher import org.springframework.context.ApplicationEventPublisher
@ -28,6 +29,7 @@ import java.time.LocalDateTime
@Service @Service
class CreatorCommunityService( class CreatorCommunityService(
private val repository: CreatorCommunityRepository, private val repository: CreatorCommunityRepository,
private val blockMemberRepository: BlockMemberRepository,
private val likeRepository: CreatorCommunityLikeRepository, private val likeRepository: CreatorCommunityLikeRepository,
private val commentRepository: CreatorCommunityCommentRepository, private val commentRepository: CreatorCommunityCommentRepository,
@ -140,6 +142,12 @@ class CreatorCommunityService(
return postList return postList
.asSequence() .asSequence()
.filter {
!blockMemberRepository.isBlocked(
blockedMemberId = memberId,
memberId = creatorId
)
}
.map { .map {
val isLike = val isLike =
likeRepository.findByPostIdAndMemberId(postId = it.id!!, memberId = memberId)?.isActive ?: false likeRepository.findByPostIdAndMemberId(postId = it.id!!, memberId = memberId)?.isActive ?: false
@ -203,6 +211,9 @@ class CreatorCommunityService(
val post = repository.findByIdAndActive(postId, isAdult = isAdult) val post = repository.findByIdAndActive(postId, isAdult = isAdult)
?: throw SodaException("잘못된 요청입니다.\n다시 시도해 주세요.") ?: 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 isLike = likeRepository.findByPostIdAndMemberId(postId = post.id!!, memberId = memberId)?.isActive ?: false
val likeCount = likeRepository.totalCountCommunityPostLikeByPostId(post.id!!) val likeCount = likeRepository.totalCountCommunityPostLikeByPostId(post.id!!)
val commentCount = if (post.isCommentAvailable) { val commentCount = if (post.isCommentAvailable) {