캔 유효성 검사
- 쿠폰 유효기간과 활성화 쿠폰 검사 추가
This commit is contained in:
@@ -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("변경사항이 없습니다.")
|
||||
|
Reference in New Issue
Block a user