parent
f80b8248e8
commit
d20f51ceac
|
@ -10,7 +10,8 @@ interface CanCouponRepository : JpaRepository<CanCoupon, Long>, CanCouponQueryRe
|
||||||
interface CanCouponQueryRepository {
|
interface CanCouponQueryRepository {
|
||||||
fun getCouponTotalCount(): Int
|
fun getCouponTotalCount(): Int
|
||||||
fun getCouponList(offset: Long, limit: Long): List<CanCoupon>
|
fun getCouponList(offset: Long, limit: Long): List<CanCoupon>
|
||||||
fun getCouponNumberList(couponId: Long, offset: Long, limit: Long): List<GetCouponNumberListResponse>
|
fun getCouponNumberTotalCount(couponId: Long): Int
|
||||||
|
fun getCouponNumberList(couponId: Long, offset: Long, limit: Long): List<GetCouponNumberListItemResponse>
|
||||||
}
|
}
|
||||||
|
|
||||||
class CanCouponQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : CanCouponQueryRepository {
|
class CanCouponQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : CanCouponQueryRepository {
|
||||||
|
@ -31,10 +32,19 @@ class CanCouponQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) :
|
||||||
.fetch()
|
.fetch()
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getCouponNumberList(couponId: Long, offset: Long, limit: Long): List<GetCouponNumberListResponse> {
|
override fun getCouponNumberTotalCount(couponId: Long): Int {
|
||||||
|
return queryFactory
|
||||||
|
.select(canCouponNumber.id)
|
||||||
|
.from(canCouponNumber)
|
||||||
|
.where(canCouponNumber.canCoupon.id.eq(couponId))
|
||||||
|
.fetch()
|
||||||
|
.size
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun getCouponNumberList(couponId: Long, offset: Long, limit: Long): List<GetCouponNumberListItemResponse> {
|
||||||
return queryFactory
|
return queryFactory
|
||||||
.select(
|
.select(
|
||||||
QGetCouponNumberListResponse(
|
QGetCouponNumberListItemResponse(
|
||||||
canCouponNumber.id,
|
canCouponNumber.id,
|
||||||
canCouponNumber.couponNumber,
|
canCouponNumber.couponNumber,
|
||||||
canCouponNumber.member.isNotNull
|
canCouponNumber.member.isNotNull
|
||||||
|
@ -42,6 +52,9 @@ class CanCouponQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) :
|
||||||
)
|
)
|
||||||
.from(canCouponNumber)
|
.from(canCouponNumber)
|
||||||
.where(canCouponNumber.canCoupon.id.eq(couponId))
|
.where(canCouponNumber.canCoupon.id.eq(couponId))
|
||||||
|
.orderBy(canCouponNumber.id.asc())
|
||||||
|
.offset(offset)
|
||||||
|
.limit(limit)
|
||||||
.fetch()
|
.fetch()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,7 +43,9 @@ class CanCouponService(
|
||||||
return GetCouponListResponse(totalCount, items)
|
return GetCouponListResponse(totalCount, items)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getCouponNumberList(couponId: Long, offset: Long, limit: Long): List<GetCouponNumberListResponse> {
|
fun getCouponNumberList(couponId: Long, offset: Long, limit: Long): GetCouponNumberListResponse {
|
||||||
return repository.getCouponNumberList(couponId = couponId, offset = offset, limit = limit)
|
val totalCount = repository.getCouponNumberTotalCount(couponId = couponId)
|
||||||
|
val items = repository.getCouponNumberList(couponId = couponId, offset = offset, limit = limit)
|
||||||
|
return GetCouponNumberListResponse(totalCount, items)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,12 @@ package kr.co.vividnext.sodalive.can.coupon
|
||||||
|
|
||||||
import com.querydsl.core.annotations.QueryProjection
|
import com.querydsl.core.annotations.QueryProjection
|
||||||
|
|
||||||
data class GetCouponNumberListResponse @QueryProjection constructor(
|
data class GetCouponNumberListResponse(
|
||||||
|
val totalCount: Int,
|
||||||
|
val items: List<GetCouponNumberListItemResponse>
|
||||||
|
)
|
||||||
|
|
||||||
|
data class GetCouponNumberListItemResponse @QueryProjection constructor(
|
||||||
val couponNumberId: Long,
|
val couponNumberId: Long,
|
||||||
val couponNumber: String,
|
val couponNumber: String,
|
||||||
val isUsed: Boolean
|
val isUsed: Boolean
|
||||||
|
|
Loading…
Reference in New Issue