Compare commits

...

2 Commits

Author SHA1 Message Date
Klaus fc6916fc2d 크리에이터 채널 라이브 리스트
- 입장 가능한 라이브만 조회되도록 수정
2024-05-14 17:46:51 +09:00
Klaus c63949992f 라이브 추천/팔로잉 채널
- 입장 가능한 라이브가 있을 떄만 OnAir를 표시하도록 수정
2024-05-14 17:44:32 +09:00
3 changed files with 19 additions and 8 deletions

View File

@ -351,6 +351,10 @@ class ExplorerQueryRepository(
where = where.and(liveRoom.isAdult.isFalse)
}
if (userMember.role == MemberRole.CREATOR) {
where = where.and(liveRoom.isAvailableJoinCreator.isTrue)
}
val result = mutableListOf<LiveRoom>()
if (offset == 0L) {

View File

@ -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(

View File

@ -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!!,