From 1f611ef46ecc96aff2315b8384078d268687b448 Mon Sep 17 00:00:00 2001 From: Klaus Date: Wed, 25 Feb 2026 22:23:37 +0900 Subject: [PATCH] =?UTF-8?q?fix(rank):=20=EC=9D=B8=EA=B8=B0=20=ED=81=AC?= =?UTF-8?q?=EB=A6=AC=EC=97=90=EC=9D=B4=ED=84=B0=20=EC=B0=A8=EB=8B=A8=20?= =?UTF-8?q?=ED=95=84=ED=84=B0=EB=A5=BC=20=EC=96=91=EB=B0=A9=ED=96=A5?= =?UTF-8?q?=EC=9C=BC=EB=A1=9C=20=EC=A0=81=EC=9A=A9=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/20260225_인기크리에이터차단필터링.md | 13 +++++++++++++ .../co/vividnext/sodalive/rank/RankingRepository.kt | 12 +++++++++--- 2 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 docs/20260225_인기크리에이터차단필터링.md diff --git a/docs/20260225_인기크리에이터차단필터링.md b/docs/20260225_인기크리에이터차단필터링.md new file mode 100644 index 00000000..7044a11c --- /dev/null +++ b/docs/20260225_인기크리에이터차단필터링.md @@ -0,0 +1,13 @@ +- [x] 홈 인기 크리에이터 조회 경로 확인 및 차단 필터 적용 지점 확정 +- [x] 인기 크리에이터 목록에서 내가 차단한 크리에이터 제외 로직 적용 +- [x] 변경 파일 진단 및 테스트/빌드 검증 수행 +- [x] 검증 결과 기록 + +## 1차 구현 검증 기록 +- 무엇: 홈 인기 크리에이터 조회 시 차단 관계 조건을 양방향으로 반영해 내가 차단한 크리에이터가 노출되지 않도록 수정했다. +- 왜: 일반 유저가 차단한 크리에이터가 인기 크리에이터 목록에 계속 노출되는 문제를 해결하기 위해서다. +- 어떻게: + - `lsp_diagnostics`: Kotlin LSP 서버가 환경에 구성되지 않아 해당 도구 기반 진단은 수행 불가. + - `./gradlew ktlintCheck`: 성공. + - `./gradlew test`: 성공. + - `./gradlew build -x test`: 성공. diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/rank/RankingRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/rank/RankingRepository.kt index b813d9ae..a95c5e05 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/rank/RankingRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/rank/RankingRepository.kt @@ -36,9 +36,15 @@ class RankingRepository( ) { fun getCreatorRankings(memberId: Long? = null): List { val blockMemberCondition = if (memberId != null) { - blockMember.member.id.eq(member.id) - .and(blockMember.isActive.isTrue) - .and(blockMember.blockedMember.id.eq(memberId)) + blockMember.isActive.isTrue + .and( + blockMember.member.id.eq(member.id) + .and(blockMember.blockedMember.id.eq(memberId)) + .or( + blockMember.member.id.eq(memberId) + .and(blockMember.blockedMember.id.eq(member.id)) + ) + ) } else { null }