From 04a4b362da27dca3c0f47f6c8cf06b169fbf5243 Mon Sep 17 00:00:00 2001 From: Klaus Date: Mon, 2 Feb 2026 17:22:09 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B3=B8=EC=9D=B8=20=EB=B0=A9=20=EC=84=B1?= =?UTF-8?q?=EB=B3=84=20=EC=A0=9C=ED=95=9C=20=EC=98=88=EC=99=B8=20=EC=A0=81?= =?UTF-8?q?=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sodalive/live/room/LiveRoomRepository.kt | 51 ++++++++++--------- 1 file changed, 27 insertions(+), 24 deletions(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomRepository.kt index 435e568e..9fbac274 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/live/room/LiveRoomRepository.kt @@ -101,14 +101,15 @@ class LiveRoomQueryRepositoryImpl( } if (effectiveGender != null && effectiveGender != Gender.NONE) { - where = when (effectiveGender) { - Gender.MALE -> where.and( - liveRoom.genderRestriction.`in`(GenderRestriction.ALL, GenderRestriction.MALE_ONLY) - ) - Gender.FEMALE -> where.and( - liveRoom.genderRestriction.`in`(GenderRestriction.ALL, GenderRestriction.FEMALE_ONLY) - ) - Gender.NONE -> where + 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 = if (memberId != null) { + where.and(genderCondition.or(liveRoom.member.id.eq(memberId))) + } else { + where.and(genderCondition) } } @@ -169,14 +170,15 @@ class LiveRoomQueryRepositoryImpl( } if (effectiveGender != null && effectiveGender != Gender.NONE) { - where = when (effectiveGender) { - Gender.MALE -> where.and( - liveRoom.genderRestriction.`in`(GenderRestriction.ALL, GenderRestriction.MALE_ONLY) - ) - Gender.FEMALE -> where.and( - liveRoom.genderRestriction.`in`(GenderRestriction.ALL, GenderRestriction.FEMALE_ONLY) - ) - Gender.NONE -> where + 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 = if (memberId != null) { + where.and(genderCondition.or(liveRoom.member.id.eq(memberId))) + } else { + where.and(genderCondition) } } @@ -233,14 +235,15 @@ class LiveRoomQueryRepositoryImpl( } if (effectiveGender != null && effectiveGender != Gender.NONE) { - where = when (effectiveGender) { - Gender.MALE -> where.and( - liveRoom.genderRestriction.`in`(GenderRestriction.ALL, GenderRestriction.MALE_ONLY) - ) - Gender.FEMALE -> where.and( - liveRoom.genderRestriction.`in`(GenderRestriction.ALL, GenderRestriction.FEMALE_ONLY) - ) - Gender.NONE -> where + 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 = if (memberId != null) { + where.and(genderCondition.or(liveRoom.member.id.eq(memberId))) + } else { + where.and(genderCondition) } }