parent
39b27b2a17
commit
c63949992f
|
@ -53,6 +53,7 @@ class LiveRecommendRepository(
|
|||
fun getOnAirRecommendChannelList(
|
||||
memberId: Long,
|
||||
isBlocked: (Long) -> Boolean,
|
||||
isCreator: Boolean,
|
||||
isAdult: Boolean
|
||||
): List<GetRecommendChannelResponse> {
|
||||
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<GetRecommendChannelResponse> {
|
||||
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(
|
||||
|
|
|
@ -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!!,
|
||||
|
|
Loading…
Reference in New Issue