Merge pull request '예약 라이브 개수 제한' (#217) from test into main
Reviewed-on: #217
This commit is contained in:
commit
4c935c3bee
|
@ -52,6 +52,7 @@ interface LiveRoomQueryRepository {
|
||||||
fun getDonationTotal(roomId: Long, isLiveCreator: Boolean): Int?
|
fun getDonationTotal(roomId: Long, isLiveCreator: Boolean): Int?
|
||||||
fun getDonationList(roomId: Long, isLiveCreator: Boolean): List<GetLiveRoomDonationItem>
|
fun getDonationList(roomId: Long, isLiveCreator: Boolean): List<GetLiveRoomDonationItem>
|
||||||
fun getRoomActiveAndChannelNameIsNotNull(memberId: Long): List<LiveRoom>
|
fun getRoomActiveAndChannelNameIsNotNull(memberId: Long): List<LiveRoom>
|
||||||
|
fun getActiveRoomIdList(memberId: Long): Int
|
||||||
}
|
}
|
||||||
|
|
||||||
class LiveRoomQueryRepositoryImpl(
|
class LiveRoomQueryRepositoryImpl(
|
||||||
|
@ -283,4 +284,17 @@ class LiveRoomQueryRepositoryImpl(
|
||||||
)
|
)
|
||||||
.fetch()
|
.fetch()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun getActiveRoomIdList(memberId: Long): Int {
|
||||||
|
return queryFactory
|
||||||
|
.select(liveRoom.id)
|
||||||
|
.from(liveRoom)
|
||||||
|
.where(
|
||||||
|
liveRoom.isActive.isTrue
|
||||||
|
.and(liveRoom.channelName.isNull)
|
||||||
|
.and(liveRoom.member.id.eq(memberId))
|
||||||
|
)
|
||||||
|
.fetch()
|
||||||
|
.size
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -247,6 +247,10 @@ class LiveRoomService(
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
fun createLiveRoom(coverImage: MultipartFile?, requestString: String, member: Member): CreateLiveRoomResponse {
|
fun createLiveRoom(coverImage: MultipartFile?, requestString: String, member: Member): CreateLiveRoomResponse {
|
||||||
|
if (repository.getActiveRoomIdList(memberId = member.id!!) >= 3) {
|
||||||
|
throw SodaException("예약 라이브는 최대 3개까지 가능합니다.")
|
||||||
|
}
|
||||||
|
|
||||||
val request = objectMapper.readValue(requestString, CreateLiveRoomRequest::class.java)
|
val request = objectMapper.readValue(requestString, CreateLiveRoomRequest::class.java)
|
||||||
if (request.coverImageUrl == null && coverImage == null) {
|
if (request.coverImageUrl == null && coverImage == null) {
|
||||||
throw SodaException("커버이미지를 선택해 주세요.")
|
throw SodaException("커버이미지를 선택해 주세요.")
|
||||||
|
|
Loading…
Reference in New Issue