Compare commits

..

5 Commits

Author SHA1 Message Date
klaus e8f1bc09f9 Merge pull request 'test' (#325) from test into main
Reviewed-on: #325
2025-06-12 05:00:31 +00:00
Klaus 640f5ce6f5 fix: 팔로워 리스트
- 차단한 멤버는 팔로워 리스트에 보이지 않도록 수정
2025-06-12 13:51:03 +09:00
Klaus c0be30027c fix: 팔로워 리스트
- 차단한 멤버는 팔로워 리스트에 보이지 않도록 수정
2025-06-12 13:44:09 +09:00
Klaus 832586bd41 fix: 팔로워 리스트
- 차단한 멤버는 팔로워 리스트에 보이지 않도록 수정
2025-06-12 13:25:51 +09:00
Klaus 1a774937b3 fix: 커뮤니티 게시물 조회
- isAdult를 무조건 false로 조회되던 문제를 게시물의 isAdult에 따라 다르게 조회되도록 수정
2025-06-12 12:00:21 +09:00
3 changed files with 22 additions and 5 deletions

View File

@ -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
import kr.co.vividnext.sodalive.member.QMember.member import kr.co.vividnext.sodalive.member.QMember.member
import kr.co.vividnext.sodalive.member.auth.QAuth.auth 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.following.QCreatorFollowing.creatorFollowing
import kr.co.vividnext.sodalive.member.tag.QCreatorTag.creatorTag import kr.co.vividnext.sodalive.member.tag.QCreatorTag.creatorTag
import kr.co.vividnext.sodalive.member.tag.QMemberCreatorTag.memberCreatorTag import kr.co.vividnext.sodalive.member.tag.QMemberCreatorTag.memberCreatorTag
@ -557,14 +558,20 @@ class ExplorerQueryRepository(
} }
fun getFollowerListTotalCount(creatorId: Long): Int { 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) return queryFactory.select(creatorFollowing.id)
.from(creatorFollowing) .from(creatorFollowing)
.innerJoin(creatorFollowing.member, member) .innerJoin(creatorFollowing.member, member)
.leftJoin(blockMember).on(blockMemberCondition)
.where( .where(
member.isActive.isTrue member.isActive.isTrue
.and(creatorFollowing.isActive.isTrue) .and(creatorFollowing.isActive.isTrue)
.and(creatorFollowing.creator.id.eq(creatorId)) .and(creatorFollowing.creator.id.eq(creatorId))
.and(creatorFollowing.member.id.ne(creatorId)) .and(creatorFollowing.member.id.ne(creatorId))
.and(blockMember.id.isNull)
) )
.fetch() .fetch()
.size .size
@ -575,6 +582,10 @@ class ExplorerQueryRepository(
offset: Long, offset: Long,
limit: Long limit: Long
): List<GetFollowerListDto> { ): List<GetFollowerListDto> {
val blockMemberCondition = blockMember.member.id.eq(creatorId)
.and(blockMember.isActive.isTrue)
.and(blockMember.blockedMember.id.eq(member.id))
return queryFactory return queryFactory
.select( .select(
QGetFollowerListDto( QGetFollowerListDto(
@ -586,11 +597,13 @@ class ExplorerQueryRepository(
) )
.from(creatorFollowing) .from(creatorFollowing)
.innerJoin(creatorFollowing.member, member) .innerJoin(creatorFollowing.member, member)
.leftJoin(blockMember).on(blockMemberCondition)
.where( .where(
member.isActive.isTrue member.isActive.isTrue
.and(creatorFollowing.isActive.isTrue) .and(creatorFollowing.isActive.isTrue)
.and(creatorFollowing.creator.id.eq(creatorId)) .and(creatorFollowing.creator.id.eq(creatorId))
.and(creatorFollowing.member.id.ne(creatorId)) .and(creatorFollowing.member.id.ne(creatorId))
.and(blockMember.id.isNull)
) )
.offset(offset) .offset(offset)
.limit(limit) .limit(limit)

View File

@ -68,7 +68,8 @@ class CreatorCommunityQueryRepositoryImpl(private val queryFactory: JPAQueryFact
creatorCommunity.content, creatorCommunity.content,
creatorCommunity.createdAt, creatorCommunity.createdAt,
creatorCommunity.isCommentAvailable, creatorCommunity.isCommentAvailable,
creatorCommunity.price creatorCommunity.price,
creatorCommunity.isAdult
) )
) )
.from(creatorCommunity) .from(creatorCommunity)
@ -154,7 +155,8 @@ class CreatorCommunityQueryRepositoryImpl(private val queryFactory: JPAQueryFact
creatorCommunity.content, creatorCommunity.content,
creatorCommunity.createdAt, creatorCommunity.createdAt,
creatorCommunity.isCommentAvailable, creatorCommunity.isCommentAvailable,
creatorCommunity.price creatorCommunity.price,
creatorCommunity.isAdult
) )
) )
.from(creatorCommunity) .from(creatorCommunity)
@ -185,7 +187,8 @@ class CreatorCommunityQueryRepositoryImpl(private val queryFactory: JPAQueryFact
creatorCommunity.content, creatorCommunity.content,
creatorCommunity.createdAt, creatorCommunity.createdAt,
creatorCommunity.isCommentAvailable, creatorCommunity.isCommentAvailable,
creatorCommunity.price creatorCommunity.price,
creatorCommunity.isAdult
) )
) )
.from(creatorCommunity) .from(creatorCommunity)

View File

@ -14,7 +14,8 @@ data class SelectCommunityPostResponse @QueryProjection constructor(
val content: String, val content: String,
val date: LocalDateTime, val date: LocalDateTime,
val isCommentAvailable: Boolean, val isCommentAvailable: Boolean,
val price: Int val price: Int,
val isAdult: Boolean
) { ) {
fun toCommunityPostListResponse( fun toCommunityPostListResponse(
imageHost: String, imageHost: String,
@ -57,7 +58,7 @@ data class SelectCommunityPostResponse @QueryProjection constructor(
price = price, price = price,
date = date, date = date,
isCommentAvailable = isCommentAvailable, isCommentAvailable = isCommentAvailable,
isAdult = false, isAdult = isAdult,
isLike = isLike, isLike = isLike,
existOrdered = existOrdered, existOrdered = existOrdered,
likeCount = likeCount, likeCount = likeCount,