parent
3d76220660
commit
5a0bf61a36
|
@ -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("변경사항이 없습니다.")
|
||||
|
|
Loading…
Reference in New Issue