parent
6dd6be183b
commit
3ff84074bd
|
@ -38,8 +38,6 @@ class LiveRoomController(
|
|||
@AuthenticationPrincipal(expression = "#this == 'anonymousUser' ? null : member") member: Member?,
|
||||
pageable: Pageable
|
||||
) = run {
|
||||
if (member == null) throw SodaException("로그인 정보를 확인해주세요.")
|
||||
|
||||
ApiResponse.ok(
|
||||
service.getRoomList(
|
||||
dateString,
|
||||
|
|
|
@ -29,7 +29,7 @@ interface LiveRoomQueryRepository {
|
|||
offset: Long,
|
||||
limit: Long,
|
||||
timezone: String,
|
||||
memberId: Long,
|
||||
memberId: Long?,
|
||||
isCreator: Boolean,
|
||||
isAdult: Boolean
|
||||
): List<LiveRoom>
|
||||
|
@ -38,14 +38,14 @@ interface LiveRoomQueryRepository {
|
|||
date: LocalDateTime,
|
||||
offset: Long,
|
||||
limit: Long,
|
||||
memberId: Long,
|
||||
memberId: Long?,
|
||||
isCreator: Boolean,
|
||||
isAdult: Boolean
|
||||
): List<LiveRoom>
|
||||
|
||||
fun getLiveRoomListReservationWithoutDate(
|
||||
timezone: String,
|
||||
memberId: Long,
|
||||
memberId: Long?,
|
||||
isCreator: Boolean,
|
||||
isAdult: Boolean
|
||||
): List<LiveRoom>
|
||||
|
@ -72,7 +72,7 @@ class LiveRoomQueryRepositoryImpl(
|
|||
offset: Long,
|
||||
limit: Long,
|
||||
timezone: String,
|
||||
memberId: Long,
|
||||
memberId: Long?,
|
||||
isCreator: Boolean,
|
||||
isAdult: Boolean
|
||||
): List<LiveRoom> {
|
||||
|
@ -85,7 +85,7 @@ class LiveRoomQueryRepositoryImpl(
|
|||
where = where.and(liveRoom.isAdult.isFalse)
|
||||
}
|
||||
|
||||
if (isCreator) {
|
||||
if (isCreator && memberId != null) {
|
||||
where = where.and(
|
||||
liveRoom.isAvailableJoinCreator.isTrue
|
||||
.or(liveRoom.member.id.eq(memberId))
|
||||
|
@ -112,7 +112,7 @@ class LiveRoomQueryRepositoryImpl(
|
|||
date: LocalDateTime,
|
||||
offset: Long,
|
||||
limit: Long,
|
||||
memberId: Long,
|
||||
memberId: Long?,
|
||||
isCreator: Boolean,
|
||||
isAdult: Boolean
|
||||
): List<LiveRoom> {
|
||||
|
@ -129,7 +129,7 @@ class LiveRoomQueryRepositoryImpl(
|
|||
where = where.and(liveRoom.isAdult.isFalse)
|
||||
}
|
||||
|
||||
if (isCreator) {
|
||||
if (isCreator && memberId != null) {
|
||||
where = where.and(
|
||||
liveRoom.isAvailableJoinCreator.isTrue
|
||||
.or(liveRoom.member.id.eq(memberId))
|
||||
|
@ -148,7 +148,7 @@ class LiveRoomQueryRepositoryImpl(
|
|||
|
||||
override fun getLiveRoomListReservationWithoutDate(
|
||||
timezone: String,
|
||||
memberId: Long,
|
||||
memberId: Long?,
|
||||
isCreator: Boolean,
|
||||
isAdult: Boolean
|
||||
): List<LiveRoom> {
|
||||
|
@ -169,7 +169,7 @@ class LiveRoomQueryRepositoryImpl(
|
|||
where = where.and(liveRoom.isAdult.isFalse)
|
||||
}
|
||||
|
||||
if (isCreator) {
|
||||
if (isCreator && memberId != null) {
|
||||
where = where.and(
|
||||
liveRoom.isAvailableJoinCreator.isTrue
|
||||
.or(liveRoom.member.id.eq(memberId))
|
||||
|
|
|
@ -118,42 +118,54 @@ class LiveRoomService(
|
|||
status: LiveRoomStatus,
|
||||
isAdultContentVisible: Boolean,
|
||||
pageable: Pageable,
|
||||
member: Member,
|
||||
member: Member?,
|
||||
timezone: String
|
||||
): List<GetRoomListResponse> {
|
||||
val roomList = if (status == LiveRoomStatus.NOW) {
|
||||
getLiveRoomListNow(
|
||||
pageable,
|
||||
timezone,
|
||||
memberId = member.id!!,
|
||||
isCreator = member.role == MemberRole.CREATOR,
|
||||
isAdult = member.auth != null && isAdultContentVisible
|
||||
memberId = member?.id,
|
||||
isCreator = member?.role == MemberRole.CREATOR,
|
||||
isAdult = member?.auth != null && isAdultContentVisible
|
||||
)
|
||||
} else if (dateString != null) {
|
||||
getLiveRoomListReservationWithDate(
|
||||
dateString,
|
||||
pageable,
|
||||
timezone,
|
||||
memberId = member.id!!,
|
||||
isCreator = member.role == MemberRole.CREATOR,
|
||||
isAdult = member.auth != null && isAdultContentVisible
|
||||
memberId = member?.id,
|
||||
isCreator = member?.role == MemberRole.CREATOR,
|
||||
isAdult = member?.auth != null && isAdultContentVisible
|
||||
)
|
||||
} else {
|
||||
getLiveRoomListReservationWithoutDate(
|
||||
timezone,
|
||||
isCreator = member.role == MemberRole.CREATOR,
|
||||
memberId = member.id!!,
|
||||
isAdult = member.auth != null && isAdultContentVisible
|
||||
isCreator = member?.role == MemberRole.CREATOR,
|
||||
memberId = member?.id,
|
||||
isAdult = member?.auth != null && isAdultContentVisible
|
||||
)
|
||||
}
|
||||
|
||||
return roomList
|
||||
.filter { !blockMemberRepository.isBlocked(blockedMemberId = member.id!!, memberId = it.member!!.id!!) }
|
||||
.filter {
|
||||
if (member?.id != null) {
|
||||
!blockMemberRepository.isBlocked(blockedMemberId = member.id!!, memberId = it.member!!.id!!)
|
||||
} else {
|
||||
true
|
||||
}
|
||||
}
|
||||
.map {
|
||||
val roomInfo = roomInfoRepository.findByIdOrNull(it.id!!)
|
||||
|
||||
val reservations = it.reservations
|
||||
.filter { reservation -> reservation.member!!.id!! == member.id!! && reservation.isActive }
|
||||
.filter { reservation ->
|
||||
if (member?.id != null) {
|
||||
reservation.member!!.id!! == member.id!! && reservation.isActive
|
||||
} else {
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
val beginDateTime = it.beginDateTime
|
||||
.atZone(ZoneId.of("UTC"))
|
||||
|
@ -202,7 +214,7 @@ class LiveRoomService(
|
|||
private fun getLiveRoomListNow(
|
||||
pageable: Pageable,
|
||||
timezone: String,
|
||||
memberId: Long,
|
||||
memberId: Long?,
|
||||
isCreator: Boolean,
|
||||
isAdult: Boolean
|
||||
): List<LiveRoom> {
|
||||
|
@ -220,7 +232,7 @@ class LiveRoomService(
|
|||
dateString: String,
|
||||
pageable: Pageable,
|
||||
timezone: String,
|
||||
memberId: Long,
|
||||
memberId: Long?,
|
||||
isCreator: Boolean,
|
||||
isAdult: Boolean
|
||||
): List<LiveRoom> {
|
||||
|
@ -242,7 +254,7 @@ class LiveRoomService(
|
|||
|
||||
private fun getLiveRoomListReservationWithoutDate(
|
||||
timezone: String,
|
||||
memberId: Long,
|
||||
memberId: Long?,
|
||||
isCreator: Boolean,
|
||||
isAdult: Boolean
|
||||
): List<LiveRoom> {
|
||||
|
|
Loading…
Reference in New Issue