From 3b97364f24080d28797cc5320cc8a753db48bece Mon Sep 17 00:00:00 2001 From: Klaus Date: Tue, 2 Jan 2024 00:02:43 +0900 Subject: [PATCH] =?UTF-8?q?=EC=BF=A0=ED=8F=B0=20=EB=A6=AC=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20=EA=B0=80=EC=A0=B8=EC=98=A4=EA=B8=B0=20API=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20AS-IS:=20=EC=9D=91=EB=8B=B5=EA=B0=92?= =?UTF-8?q?=EC=97=90=20=EC=A0=84=EC=B2=B4=20=EA=B0=9C=EC=88=98=20=EC=97=86?= =?UTF-8?q?=EC=9D=8C=20TO-BE:=20=EC=9D=91=EB=8B=B5=EA=B0=92=EC=97=90=20?= =?UTF-8?q?=EC=A0=84=EC=B2=B4=20=EA=B0=9C=EC=88=98=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sodalive/can/coupon/CanCouponRepository.kt | 9 +++++++++ .../vividnext/sodalive/can/coupon/CanCouponService.kt | 10 +++++++--- .../sodalive/can/coupon/GetCouponListResponse.kt | 5 +++++ 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/can/coupon/CanCouponRepository.kt b/src/main/kotlin/kr/co/vividnext/sodalive/can/coupon/CanCouponRepository.kt index 49a8b1e..e84b387 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/can/coupon/CanCouponRepository.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/can/coupon/CanCouponRepository.kt @@ -8,11 +8,20 @@ import org.springframework.data.jpa.repository.JpaRepository interface CanCouponRepository : JpaRepository, CanCouponQueryRepository interface CanCouponQueryRepository { + fun getCouponTotalCount(): Int fun getCouponList(offset: Long, limit: Long): List fun getCouponNumberList(couponId: Long, offset: Long, limit: Long): List } class CanCouponQueryRepositoryImpl(private val queryFactory: JPAQueryFactory) : CanCouponQueryRepository { + override fun getCouponTotalCount(): Int { + return queryFactory + .select(canCoupon.id) + .from(canCoupon) + .fetch() + .size + } + override fun getCouponList(offset: Long, limit: Long): List { return queryFactory .selectFrom(canCoupon) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/can/coupon/CanCouponService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/can/coupon/CanCouponService.kt index 679b5a7..20cb12f 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/can/coupon/CanCouponService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/can/coupon/CanCouponService.kt @@ -20,12 +20,14 @@ class CanCouponService( applicationEventPublisher.publishEvent(SqsEvent(type = SqsEventType.GENERATE_COUPON, message = message)) } - fun getCouponList(offset: Long, limit: Long): List { - return repository.getCouponList(offset = offset, limit = limit) + fun getCouponList(offset: Long, limit: Long): GetCouponListResponse { + val totalCount = repository.getCouponTotalCount() + + val items = repository.getCouponList(offset = offset, limit = limit) .asSequence() .map { val useCouponCount = couponNumberRepository.getUseCouponCount(id = it.id!!) - GetCouponListResponse( + GetCouponListItemResponse( id = it.id!!, couponName = it.couponName, can = "${it.can}μΊ”", @@ -37,6 +39,8 @@ class CanCouponService( ) } .toList() + + return GetCouponListResponse(totalCount, items) } fun getCouponNumberList(couponId: Long, offset: Long, limit: Long): List { diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/can/coupon/GetCouponListResponse.kt b/src/main/kotlin/kr/co/vividnext/sodalive/can/coupon/GetCouponListResponse.kt index 3bec552..72b5aaa 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/can/coupon/GetCouponListResponse.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/can/coupon/GetCouponListResponse.kt @@ -1,6 +1,11 @@ package kr.co.vividnext.sodalive.can.coupon data class GetCouponListResponse( + val totalCount: Int, + val items: List +) + +data class GetCouponListItemResponse( val id: Long, val couponName: String, val can: String,