From c63949992ff638946a07b9d06c486055fe0a47b0 Mon Sep 17 00:00:00 2001 From: Klaus Date: Tue, 14 May 2024 17:44:32 +0900 Subject: [PATCH] =?UTF-8?q?=EB=9D=BC=EC=9D=B4=EB=B8=8C=20=EC=B6=94?= =?UTF-8?q?=EC=B2=9C/=ED=8C=94=EB=A1=9C=EC=9E=89=20=EC=B1=84=EB=84=90=20-?= =?UTF-8?q?=20=EC=9E=85=EC=9E=A5=20=EA=B0=80=EB=8A=A5=ED=95=9C=20=EB=9D=BC?= =?UTF-8?q?=EC=9D=B4=EB=B8=8C=EA=B0=80=20=EC=9E=88=EC=9D=84=20=EB=96=84?= =?UTF-8?q?=EB=A7=8C=20OnAir=EB=A5=BC=20=ED=91=9C=EC=8B=9C=ED=95=98?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../live/recommend/LiveRecommendRepository.kt | 12 ++++++++++-- .../sodalive/live/recommend/LiveRecommendService.kt | 11 +++++------ 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/live/recommend/LiveRecommendRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/live/recommend/LiveRecommendRepository.kt index e6ece32..6cb0357 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/live/recommend/LiveRecommendRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/live/recommend/LiveRecommendRepository.kt @@ -53,6 +53,7 @@ class LiveRecommendRepository( fun getOnAirRecommendChannelList( memberId: Long, isBlocked: (Long) -> Boolean, + isCreator: Boolean, isAdult: Boolean ): List { var where = member.role.eq(MemberRole.CREATOR) @@ -62,6 +63,10 @@ class LiveRecommendRepository( where = where.and(liveRoom.isAdult.isFalse) } + if (isCreator) { + where = where.and(liveRoom.isAvailableJoinCreator.isTrue) + } + return queryFactory .select( Projections.constructor( @@ -113,14 +118,13 @@ class LiveRecommendRepository( .orderBy(Expressions.numberTemplate(Double::class.java, "function('rand')").asc()) .limit(limit) .fetch() - .asSequence() .filter { !isBlocked(it.creatorId) } - .toList() } fun getOnAirFollowingChannelList( memberId: Long, isBlocked: (Long) -> Boolean, + isCreator: Boolean, isAdult: Boolean ): List { var where = member.role.eq(MemberRole.CREATOR) @@ -130,6 +134,10 @@ class LiveRecommendRepository( where = where.and(liveRoom.isAdult.isFalse) } + if (isCreator) { + where = where.and(liveRoom.isAvailableJoinCreator.isTrue) + } + return queryFactory .select( Projections.constructor( diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/live/recommend/LiveRecommendService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/live/recommend/LiveRecommendService.kt index 1c6e486..5ec9478 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/live/recommend/LiveRecommendService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/live/recommend/LiveRecommendService.kt @@ -1,6 +1,7 @@ package kr.co.vividnext.sodalive.live.recommend import kr.co.vividnext.sodalive.member.Member +import kr.co.vividnext.sodalive.member.MemberRole import kr.co.vividnext.sodalive.member.block.BlockMemberRepository import org.springframework.data.domain.Pageable import org.springframework.stereotype.Service @@ -23,6 +24,7 @@ class LiveRecommendService( val onAirChannelList = repository.getOnAirRecommendChannelList( member.id!!, isBlocked = { blockMemberRepository.isBlocked(blockedMemberId = member.id!!, memberId = it) }, + isCreator = member.role == MemberRole.CREATOR, isAdult = member.auth != null ) @@ -30,9 +32,7 @@ class LiveRecommendService( return onAirChannelList } - val onAirCreatorIdList = onAirChannelList.asSequence() - .map { it.creatorId } - .toList() + val onAirCreatorIdList = onAirChannelList.map { it.creatorId } val notOnAirCreatorList = repository.getRecommendChannelList( member.id!!, @@ -48,6 +48,7 @@ class LiveRecommendService( val onAirFollowingChannelList = repository.getOnAirFollowingChannelList( memberId = member.id!!, isBlocked = { blockMemberRepository.isBlocked(blockedMemberId = member.id!!, memberId = it) }, + isCreator = member.role == MemberRole.CREATOR, isAdult = member.auth != null ) @@ -55,9 +56,7 @@ class LiveRecommendService( return onAirFollowingChannelList } - val onAirCreatorIdList = onAirFollowingChannelList.asSequence() - .map { it.creatorId } - .toList() + val onAirCreatorIdList = onAirFollowingChannelList.map { it.creatorId } val notOnAirFollowingChannelList = repository.getFollowingChannelList( memberId = member.id!!,