From 5a0bf61a36de27b2abd2007db3a39746a58d95f6 Mon Sep 17 00:00:00 2001 From: Klaus Date: Thu, 4 Jan 2024 00:09:45 +0900 Subject: [PATCH] =?UTF-8?q?=EC=BA=94=20=EC=9C=A0=ED=9A=A8=EC=84=B1=20?= =?UTF-8?q?=EA=B2=80=EC=82=AC=20-=20=EC=BF=A0=ED=8F=B0=20=EC=9C=A0?= =?UTF-8?q?=ED=9A=A8=EA=B8=B0=EA=B0=84=EA=B3=BC=20=ED=99=9C=EC=84=B1?= =?UTF-8?q?=ED=99=94=20=EC=BF=A0=ED=8F=B0=20=EA=B2=80=EC=82=AC=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sodalive/can/coupon/CanCouponIssueService.kt | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/can/coupon/CanCouponIssueService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/can/coupon/CanCouponIssueService.kt index c761f3b..2af50b1 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/can/coupon/CanCouponIssueService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/can/coupon/CanCouponIssueService.kt @@ -2,6 +2,7 @@ package kr.co.vividnext.sodalive.can.coupon import kr.co.vividnext.sodalive.common.SodaException import org.springframework.stereotype.Service +import java.time.LocalDateTime @Service class CanCouponIssueService(private val couponNumberRepository: CanCouponNumberRepository) { @@ -14,6 +15,8 @@ class CanCouponIssueService(private val couponNumberRepository: CanCouponNumberR throw SodaException("해당 쿠폰은 1회만 충전이 가능합니다.") } } + + validateCoupon(canCouponNumber.canCoupon!!) } private fun checkCanCouponNumber(couponNumber: String): CanCouponNumber { @@ -29,6 +32,16 @@ class CanCouponIssueService(private val couponNumberRepository: CanCouponNumberR private fun isMultipleUse(canCouponNumber: CanCouponNumber) = canCouponNumber.canCoupon!!.isMultipleUse + private fun validateCoupon(canCoupon: CanCoupon) { + if (canCoupon.validity < LocalDateTime.now()) { + throw SodaException("유효기간이 경과된 쿠폰입니다.") + } + + if (!canCoupon.isActive) { + throw SodaException("이용이 불가능한 쿠폰입니다.") + } + } + fun checkAnyChanges(request: ModifyCanCouponRequest) { if (request.isMultipleUse == null && request.isActive == null && request.validity == null) { throw SodaException("변경사항이 없습니다.")