충전이벤트가 적용되지 않는 버그 수정
This commit is contained in:
		| @@ -15,6 +15,7 @@ import kr.co.vividnext.sodalive.member.auth.AuthRepository | ||||
| import org.springframework.context.ApplicationEventPublisher | ||||
| import org.springframework.data.repository.findByIdOrNull | ||||
| import org.springframework.stereotype.Service | ||||
| import org.springframework.transaction.annotation.Transactional | ||||
| import kotlin.math.ceil | ||||
| import kotlin.math.round | ||||
|  | ||||
| @@ -27,6 +28,7 @@ class ChargeEventService( | ||||
|     private val chargeEventRepository: ChargeEventRepository, | ||||
|     private val applicationEventPublisher: ApplicationEventPublisher | ||||
| ) { | ||||
|     @Transactional | ||||
|     fun applyChargeEvent(chargeId: Long, memberId: Long) { | ||||
|         val charge = chargeRepository.findByIdOrNull(chargeId) | ||||
|             ?: throw SodaException("이벤트가 적용되지 않았습니다.\n고객센터에 문의해 주세요.") | ||||
|   | ||||
| @@ -1,12 +1,9 @@ | ||||
| package kr.co.vividnext.sodalive.can.charge.event | ||||
|  | ||||
| import kr.co.vividnext.sodalive.member.Member | ||||
| import org.springframework.context.event.EventListener | ||||
| import org.springframework.scheduling.annotation.Async | ||||
| import org.springframework.stereotype.Component | ||||
| import org.springframework.transaction.annotation.Propagation | ||||
| import org.springframework.transaction.annotation.Transactional | ||||
| import org.springframework.transaction.event.TransactionPhase | ||||
| import org.springframework.transaction.event.TransactionalEventListener | ||||
|  | ||||
| class ChargeSpringEvent( | ||||
|     val chargeId: Long, | ||||
| @@ -18,8 +15,7 @@ class ChargeSpringEventListener( | ||||
|     private val chargeEventService: ChargeEventService | ||||
| ) { | ||||
|     @Async | ||||
|     @TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT) | ||||
|     @Transactional(propagation = Propagation.REQUIRES_NEW) | ||||
|     @EventListener | ||||
|     fun applyChargeEvent(event: ChargeSpringEvent) { | ||||
|         chargeEventService.applyChargeEvent(event.chargeId, event.member.id!!) | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user