충전이벤트가 적용되지 않는 버그 수정

This commit is contained in:
Klaus 2023-08-27 20:25:14 +09:00
parent f2ecf3a676
commit 2e249db5f5
2 changed files with 4 additions and 6 deletions

View File

@ -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고객센터에 문의해 주세요.")

View File

@ -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!!)
}