쿠폰 번호 관련 로직 이동

- couponRepository -> couponNumberRepository로 이동
This commit is contained in:
Klaus 2024-01-03 03:21:30 +09:00
parent 123b21cab2
commit fb66ea3347
3 changed files with 50 additions and 49 deletions

View File

@ -8,6 +8,12 @@ interface CanCouponNumberRepository : JpaRepository<CanCouponNumber, Long>, CanC
interface CanCouponNumberQueryRepository {
fun getUseCouponCount(id: Long): Int
fun getCouponNumberTotalCount(couponId: Long): Int
fun getCouponNumberList(couponId: Long, offset: Long, limit: Long): List<GetCouponNumberListItemResponse>
fun getAllCouponNumberList(couponId: Long): List<GetCouponNumberListItemResponse>
}
class CanCouponNumberQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : CanCouponNumberQueryRepository {
@ -19,4 +25,45 @@ class CanCouponNumberQueryRepositoryImpl(private val queryFactory: JPAQueryFacto
.fetch()
.size
}
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
.select(
QGetCouponNumberListItemResponse(
canCouponNumber.id,
canCouponNumber.couponNumber,
canCouponNumber.member.isNotNull
)
)
.from(canCouponNumber)
.where(canCouponNumber.canCoupon.id.eq(couponId))
.orderBy(canCouponNumber.id.asc())
.offset(offset)
.limit(limit)
.fetch()
}
override fun getAllCouponNumberList(couponId: Long): List<GetCouponNumberListItemResponse> {
return queryFactory
.select(
QGetCouponNumberListItemResponse(
canCouponNumber.id,
canCouponNumber.couponNumber,
canCouponNumber.member.isNotNull
)
)
.from(canCouponNumber)
.where(canCouponNumber.canCoupon.id.eq(couponId))
.orderBy(canCouponNumber.id.asc())
.fetch()
}
}

View File

@ -2,7 +2,6 @@ package kr.co.vividnext.sodalive.can.coupon
import com.querydsl.jpa.impl.JPAQueryFactory
import kr.co.vividnext.sodalive.can.coupon.QCanCoupon.canCoupon
import kr.co.vividnext.sodalive.can.coupon.QCanCouponNumber.canCouponNumber
import org.springframework.data.jpa.repository.JpaRepository
interface CanCouponRepository : JpaRepository<CanCoupon, Long>, CanCouponQueryRepository
@ -10,10 +9,6 @@ interface CanCouponRepository : JpaRepository<CanCoupon, Long>, CanCouponQueryRe
interface CanCouponQueryRepository {
fun getCouponTotalCount(): Int
fun getCouponList(offset: Long, limit: Long): List<CanCoupon>
fun getCouponNumberTotalCount(couponId: Long): Int
fun getCouponNumberList(couponId: Long, offset: Long, limit: Long): List<GetCouponNumberListItemResponse>
fun getAllCouponNumberList(couponId: Long): List<GetCouponNumberListItemResponse>
}
class CanCouponQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : CanCouponQueryRepository {
@ -33,45 +28,4 @@ class CanCouponQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) :
.limit(limit)
.fetch()
}
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
.select(
QGetCouponNumberListItemResponse(
canCouponNumber.id,
canCouponNumber.couponNumber,
canCouponNumber.member.isNotNull
)
)
.from(canCouponNumber)
.where(canCouponNumber.canCoupon.id.eq(couponId))
.orderBy(canCouponNumber.id.asc())
.offset(offset)
.limit(limit)
.fetch()
}
override fun getAllCouponNumberList(couponId: Long): List<GetCouponNumberListItemResponse> {
return queryFactory
.select(
QGetCouponNumberListItemResponse(
canCouponNumber.id,
canCouponNumber.couponNumber,
canCouponNumber.member.isNotNull
)
)
.from(canCouponNumber)
.where(canCouponNumber.canCoupon.id.eq(couponId))
.orderBy(canCouponNumber.id.asc())
.fetch()
}
}

View File

@ -49,15 +49,15 @@ class CanCouponService(
}
fun getCouponNumberList(couponId: Long, offset: Long, limit: Long): GetCouponNumberListResponse {
val totalCount = repository.getCouponNumberTotalCount(couponId = couponId)
val items = repository.getCouponNumberList(couponId = couponId, offset = offset, limit = limit)
val totalCount = couponNumberRepository.getCouponNumberTotalCount(couponId = couponId)
val items = couponNumberRepository.getCouponNumberList(couponId = couponId, offset = offset, limit = limit)
return GetCouponNumberListResponse(totalCount, items)
}
fun downloadCouponNumberList(couponId: Long): ByteArrayInputStream {
val header = listOf("순번", "쿠폰번호", "사용여부")
val byteArrayOutputStream = ByteArrayOutputStream()
val couponNumberList = repository.getAllCouponNumberList(couponId)
val couponNumberList = couponNumberRepository.getAllCouponNumberList(couponId)
val workbook = XSSFWorkbook()
try {