마이페이지 - 라이브 예약 수, 구매내역 추가
This commit is contained in:
parent
91d25081c0
commit
3ad2256a66
|
@ -25,6 +25,8 @@ interface LiveReservationQueryRepository {
|
||||||
reservationId: Long,
|
reservationId: Long,
|
||||||
memberId: Long
|
memberId: Long
|
||||||
): LiveReservation?
|
): LiveReservation?
|
||||||
|
|
||||||
|
fun getReservationCount(memberId: Long): Int
|
||||||
}
|
}
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
|
@ -97,4 +99,16 @@ class LiveReservationQueryRepositoryImpl(private val queryFactory: JPAQueryFacto
|
||||||
)
|
)
|
||||||
.fetchFirst()
|
.fetchFirst()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun getReservationCount(memberId: Long): Int {
|
||||||
|
return queryFactory
|
||||||
|
.selectFrom(liveReservation)
|
||||||
|
.where(
|
||||||
|
liveReservation.member.id.eq(memberId)
|
||||||
|
.and(liveReservation.isActive.isTrue)
|
||||||
|
.and(liveReservation.room.isActive.isTrue)
|
||||||
|
)
|
||||||
|
.fetch()
|
||||||
|
.size
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,8 +7,10 @@ import kr.co.vividnext.sodalive.can.payment.CanPaymentService
|
||||||
import kr.co.vividnext.sodalive.can.use.CanUsage
|
import kr.co.vividnext.sodalive.can.use.CanUsage
|
||||||
import kr.co.vividnext.sodalive.common.ApiResponse
|
import kr.co.vividnext.sodalive.common.ApiResponse
|
||||||
import kr.co.vividnext.sodalive.common.SodaException
|
import kr.co.vividnext.sodalive.common.SodaException
|
||||||
|
import kr.co.vividnext.sodalive.content.order.OrderService
|
||||||
import kr.co.vividnext.sodalive.email.SendEmailService
|
import kr.co.vividnext.sodalive.email.SendEmailService
|
||||||
import kr.co.vividnext.sodalive.jwt.TokenProvider
|
import kr.co.vividnext.sodalive.jwt.TokenProvider
|
||||||
|
import kr.co.vividnext.sodalive.live.reservation.LiveReservationRepository
|
||||||
import kr.co.vividnext.sodalive.live.room.detail.GetRoomDetailUser
|
import kr.co.vividnext.sodalive.live.room.detail.GetRoomDetailUser
|
||||||
import kr.co.vividnext.sodalive.member.block.BlockMember
|
import kr.co.vividnext.sodalive.member.block.BlockMember
|
||||||
import kr.co.vividnext.sodalive.member.block.BlockMemberRepository
|
import kr.co.vividnext.sodalive.member.block.BlockMemberRepository
|
||||||
|
@ -66,7 +68,9 @@ class MemberService(
|
||||||
private val signOutRepository: SignOutRepository,
|
private val signOutRepository: SignOutRepository,
|
||||||
private val nicknameChangeLogRepository: NicknameChangeLogRepository,
|
private val nicknameChangeLogRepository: NicknameChangeLogRepository,
|
||||||
private val memberTagRepository: MemberTagRepository,
|
private val memberTagRepository: MemberTagRepository,
|
||||||
|
private val liveReservationRepository: LiveReservationRepository,
|
||||||
|
|
||||||
|
private val orderService: OrderService,
|
||||||
private val emailService: SendEmailService,
|
private val emailService: SendEmailService,
|
||||||
private val canPaymentService: CanPaymentService,
|
private val canPaymentService: CanPaymentService,
|
||||||
private val memberNotificationService: MemberNotificationService,
|
private val memberNotificationService: MemberNotificationService,
|
||||||
|
@ -165,6 +169,14 @@ class MemberService(
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getMyPage(member: Member, container: String): MyPageResponse {
|
fun getMyPage(member: Member, container: String): MyPageResponse {
|
||||||
|
val liveReservationCount = liveReservationRepository.getReservationCount(memberId = member.id!!)
|
||||||
|
|
||||||
|
val orderList = orderService.getAudioContentOrderList(
|
||||||
|
member = member,
|
||||||
|
offset = 0,
|
||||||
|
limit = 4
|
||||||
|
)
|
||||||
|
|
||||||
return MyPageResponse(
|
return MyPageResponse(
|
||||||
nickname = member.nickname,
|
nickname = member.nickname,
|
||||||
profileUrl = if (member.profileImage != null) {
|
profileUrl = if (member.profileImage != null) {
|
||||||
|
@ -178,8 +190,9 @@ class MemberService(
|
||||||
instagramUrl = member.instagramUrl,
|
instagramUrl = member.instagramUrl,
|
||||||
websiteUrl = member.websiteUrl,
|
websiteUrl = member.websiteUrl,
|
||||||
blogUrl = member.blogUrl,
|
blogUrl = member.blogUrl,
|
||||||
liveReservationCount = 0,
|
liveReservationCount = liveReservationCount,
|
||||||
isAuth = member.auth != null
|
isAuth = member.auth != null,
|
||||||
|
orderList = orderList
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package kr.co.vividnext.sodalive.member.myPage
|
package kr.co.vividnext.sodalive.member.myPage
|
||||||
|
|
||||||
|
import kr.co.vividnext.sodalive.content.order.GetAudioContentOrderListResponse
|
||||||
|
|
||||||
data class MyPageResponse(
|
data class MyPageResponse(
|
||||||
val nickname: String,
|
val nickname: String,
|
||||||
val profileUrl: String,
|
val profileUrl: String,
|
||||||
|
@ -10,5 +12,6 @@ data class MyPageResponse(
|
||||||
val websiteUrl: String? = null,
|
val websiteUrl: String? = null,
|
||||||
val blogUrl: String? = null,
|
val blogUrl: String? = null,
|
||||||
val liveReservationCount: Int,
|
val liveReservationCount: Int,
|
||||||
val isAuth: Boolean
|
val isAuth: Boolean,
|
||||||
|
val orderList: GetAudioContentOrderListResponse
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue