Compare commits
2 Commits
872e84baf1
...
b556219e36
Author | SHA1 | Date |
---|---|---|
|
b556219e36 | |
|
6ff38decab |
|
@ -85,7 +85,7 @@ class AdminChargeStatusService(val repository: AdminChargeStatusQueryRepository)
|
||||||
}
|
}
|
||||||
.map {
|
.map {
|
||||||
GetChargeStatusDetailResponse(
|
GetChargeStatusDetailResponse(
|
||||||
accountId = it.accountId,
|
memberId = it.memberId,
|
||||||
nickname = it.nickname,
|
nickname = it.nickname,
|
||||||
method = it.method,
|
method = it.method,
|
||||||
amount = if (paymentGateway == PaymentGateway.APPLE_IAP) {
|
amount = if (paymentGateway == PaymentGateway.APPLE_IAP) {
|
||||||
|
|
|
@ -3,7 +3,7 @@ package kr.co.vividnext.sodalive.admin.charge
|
||||||
import com.querydsl.core.annotations.QueryProjection
|
import com.querydsl.core.annotations.QueryProjection
|
||||||
|
|
||||||
data class GetChargeStatusDetailQueryDto @QueryProjection constructor(
|
data class GetChargeStatusDetailQueryDto @QueryProjection constructor(
|
||||||
val accountId: Long,
|
val memberId: Long,
|
||||||
val nickname: String,
|
val nickname: String,
|
||||||
val method: String,
|
val method: String,
|
||||||
val appleChargeAmount: Double,
|
val appleChargeAmount: Double,
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
package kr.co.vividnext.sodalive.admin.charge
|
package kr.co.vividnext.sodalive.admin.charge
|
||||||
|
|
||||||
data class GetChargeStatusDetailResponse(
|
data class GetChargeStatusDetailResponse(
|
||||||
val accountId: Long,
|
val memberId: Long,
|
||||||
val nickname: String,
|
val nickname: String,
|
||||||
val method: String,
|
val method: String,
|
||||||
val amount: Int,
|
val amount: Int,
|
||||||
|
|
|
@ -149,12 +149,12 @@ class ExplorerQueryRepository(
|
||||||
.distinct()
|
.distinct()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getSearchChannel(channel: String, accountId: Long): List<Member> {
|
fun getSearchChannel(channel: String, memberId: Long): List<Member> {
|
||||||
return queryFactory.selectFrom(member)
|
return queryFactory.selectFrom(member)
|
||||||
.where(
|
.where(
|
||||||
member.nickname.containsIgnoreCase(channel)
|
member.nickname.containsIgnoreCase(channel)
|
||||||
.and(member.isActive.isTrue)
|
.and(member.isActive.isTrue)
|
||||||
.and(member.id.ne(accountId))
|
.and(member.id.ne(memberId))
|
||||||
.and(member.role.eq(MemberRole.CREATOR))
|
.and(member.role.eq(MemberRole.CREATOR))
|
||||||
)
|
)
|
||||||
.fetch()
|
.fetch()
|
||||||
|
@ -266,8 +266,8 @@ class ExplorerQueryRepository(
|
||||||
},
|
},
|
||||||
account.tags
|
account.tags
|
||||||
.asSequence()
|
.asSequence()
|
||||||
.filter { accountCounselorTag -> accountCounselorTag.tag.isActive }
|
.filter { tag -> tag.tag.isActive }
|
||||||
.map { accountCounselorTag -> accountCounselorTag.tag.tag }
|
.map { tag -> tag.tag.tag }
|
||||||
.toList()
|
.toList()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -313,8 +313,8 @@ class ExplorerQueryRepository(
|
||||||
},
|
},
|
||||||
it.tags
|
it.tags
|
||||||
.asSequence()
|
.asSequence()
|
||||||
.filter { accountCounselorTag -> accountCounselorTag.tag.isActive }
|
.filter { tag -> tag.tag.isActive }
|
||||||
.map { accountCounselorTag -> accountCounselorTag.tag.tag }
|
.map { tag -> tag.tag.tag }
|
||||||
.toList()
|
.toList()
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,6 +42,7 @@ import kr.co.vividnext.sodalive.member.Gender
|
||||||
import kr.co.vividnext.sodalive.member.Member
|
import kr.co.vividnext.sodalive.member.Member
|
||||||
import kr.co.vividnext.sodalive.member.MemberRepository
|
import kr.co.vividnext.sodalive.member.MemberRepository
|
||||||
import kr.co.vividnext.sodalive.member.MemberRole
|
import kr.co.vividnext.sodalive.member.MemberRole
|
||||||
|
import kr.co.vividnext.sodalive.member.block.BlockMemberRepository
|
||||||
import kr.co.vividnext.sodalive.utils.generateFileName
|
import kr.co.vividnext.sodalive.utils.generateFileName
|
||||||
import org.springframework.beans.factory.annotation.Value
|
import org.springframework.beans.factory.annotation.Value
|
||||||
import org.springframework.data.domain.Pageable
|
import org.springframework.data.domain.Pageable
|
||||||
|
@ -63,6 +64,7 @@ class LiveRoomService(
|
||||||
private val roomInfoRepository: LiveRoomInfoRedisRepository,
|
private val roomInfoRepository: LiveRoomInfoRedisRepository,
|
||||||
private val roomCancelRepository: LiveRoomCancelRepository,
|
private val roomCancelRepository: LiveRoomCancelRepository,
|
||||||
private val kickOutService: LiveRoomKickOutService,
|
private val kickOutService: LiveRoomKickOutService,
|
||||||
|
private val blockMemberRepository: BlockMemberRepository,
|
||||||
|
|
||||||
private val useCanCalculateRepository: UseCanCalculateRepository,
|
private val useCanCalculateRepository: UseCanCalculateRepository,
|
||||||
private val reservationRepository: LiveReservationRepository,
|
private val reservationRepository: LiveReservationRepository,
|
||||||
|
@ -419,6 +421,12 @@ class LiveRoomService(
|
||||||
throw SodaException("비밀번호가 일치하지 않습니다.\n다시 확인 후 입력해주세요.")
|
throw SodaException("비밀번호가 일치하지 않습니다.\n다시 확인 후 입력해주세요.")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val isBlocked = blockMemberRepository.isBlocked(blockedMemberId = member.id!!, memberId = room.member!!.id!!)
|
||||||
|
if (isBlocked) throw SodaException("${room.member!!.nickname}님의 요청으로 라이브에 입장할 수 없습니다.")
|
||||||
|
|
||||||
|
val kickOutCount = kickOutService.getKickOutCount(roomId = room.id!!, userId = member.id!!)
|
||||||
|
if (kickOutCount >= 2) throw SodaException("${room.member!!.nickname}님의 요청으로 라이브에 참여할 수 없습니다.")
|
||||||
|
|
||||||
val lock = getOrCreateLock(memberId = member.id!!)
|
val lock = getOrCreateLock(memberId = member.id!!)
|
||||||
lock.write {
|
lock.write {
|
||||||
var roomInfo = roomInfoRepository.findByIdOrNull(request.roomId)
|
var roomInfo = roomInfoRepository.findByIdOrNull(request.roomId)
|
||||||
|
|
|
@ -14,7 +14,7 @@ import org.springframework.stereotype.Service
|
||||||
class LiveRoomKickOutService(
|
class LiveRoomKickOutService(
|
||||||
private val roomInfoRepository: LiveRoomInfoRedisRepository,
|
private val roomInfoRepository: LiveRoomInfoRedisRepository,
|
||||||
private val repository: LiveRoomKickOutRedisRepository,
|
private val repository: LiveRoomKickOutRedisRepository,
|
||||||
private val accountRepository: MemberRepository,
|
private val memberRepository: MemberRepository,
|
||||||
private val roomRepository: LiveRoomRepository,
|
private val roomRepository: LiveRoomRepository,
|
||||||
|
|
||||||
@Value("\${cloud.aws.cloud-front.host}")
|
@Value("\${cloud.aws.cloud-front.host}")
|
||||||
|
@ -43,7 +43,7 @@ class LiveRoomKickOutService(
|
||||||
liveRoomKickOut.kickOut(request.userId)
|
liveRoomKickOut.kickOut(request.userId)
|
||||||
repository.save(liveRoomKickOut)
|
repository.save(liveRoomKickOut)
|
||||||
|
|
||||||
val kickOutUser = accountRepository.findByIdOrNull(request.userId)
|
val kickOutUser = memberRepository.findByIdOrNull(request.userId)
|
||||||
if (kickOutUser != null) {
|
if (kickOutUser != null) {
|
||||||
roomInfo.removeSpeaker(kickOutUser)
|
roomInfo.removeSpeaker(kickOutUser)
|
||||||
roomInfo.removeListener(kickOutUser)
|
roomInfo.removeListener(kickOutUser)
|
||||||
|
|
Loading…
Reference in New Issue