캔 유효성 검사

- 쿠폰 유효기간과 활성화 쿠폰 검사 추가
This commit is contained in:
Klaus 2024-01-04 00:09:45 +09:00
parent 3d76220660
commit 5a0bf61a36
1 changed files with 13 additions and 0 deletions

View File

@ -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("변경사항이 없습니다.")