From ac5741b9af65350671546ea7bd534a46e9d4560a Mon Sep 17 00:00:00 2001 From: Klaus Date: Mon, 2 Feb 2026 17:51:05 +0900 Subject: [PATCH] =?UTF-8?q?=ED=81=AC=EB=A6=AC=EC=97=90=EC=9D=B4=ED=84=B0?= =?UTF-8?q?=20=ED=94=84=EB=A1=9C=ED=95=84=20=EB=9D=BC=EC=9D=B4=EB=B8=8C=20?= =?UTF-8?q?=EC=84=B1=EB=B3=84=20=EC=A0=9C=ED=95=9C=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../explorer/ExplorerQueryRepository.kt | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) 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 d11e69d6..cce60c55 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerQueryRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/explorer/ExplorerQueryRepository.kt @@ -22,11 +22,13 @@ import kr.co.vividnext.sodalive.explorer.profile.TimeDifferenceResult import kr.co.vividnext.sodalive.i18n.Lang import kr.co.vividnext.sodalive.i18n.LangContext import kr.co.vividnext.sodalive.i18n.SodaMessageSource +import kr.co.vividnext.sodalive.live.room.GenderRestriction import kr.co.vividnext.sodalive.live.room.LiveRoom import kr.co.vividnext.sodalive.live.room.LiveRoomType import kr.co.vividnext.sodalive.live.room.QLiveRoom.liveRoom import kr.co.vividnext.sodalive.live.room.cancel.QLiveRoomCancel.liveRoomCancel import kr.co.vividnext.sodalive.live.room.visit.QLiveRoomVisit.liveRoomVisit +import kr.co.vividnext.sodalive.member.Gender import kr.co.vividnext.sodalive.member.Member import kr.co.vividnext.sodalive.member.MemberRole import kr.co.vividnext.sodalive.member.QMember @@ -342,6 +344,21 @@ class ExplorerQueryRepository( .and(liveRoom.cancel.id.isNull) .and(liveRoom.isActive.isTrue) + val effectiveGender = if (userMember.auth != null) { + if (userMember.auth!!.gender == 1) Gender.MALE else Gender.FEMALE + } else { + userMember.gender + } + + if (effectiveGender != Gender.NONE) { + val genderCondition = when (effectiveGender) { + Gender.MALE -> liveRoom.genderRestriction.`in`(GenderRestriction.ALL, GenderRestriction.MALE_ONLY) + Gender.FEMALE -> liveRoom.genderRestriction.`in`(GenderRestriction.ALL, GenderRestriction.FEMALE_ONLY) + Gender.NONE -> liveRoom.genderRestriction.isNotNull + } + where = where.and(genderCondition.or(liveRoom.member.id.eq(userMember.id))) + } + if (userMember.auth == null) { where = where.and(liveRoom.isAdult.isFalse) }