충전이벤트가 적용되지 않는 버그 수정
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.Propagation
|
||||
import org.springframework.transaction.annotation.Transactional
|
||||
import kotlin.math.ceil
|
||||
import kotlin.math.round
|
||||
@@ -28,7 +29,7 @@ class ChargeEventService(
|
||||
private val chargeEventRepository: ChargeEventRepository,
|
||||
private val applicationEventPublisher: ApplicationEventPublisher
|
||||
) {
|
||||
@Transactional
|
||||
@Transactional(propagation = Propagation.REQUIRES_NEW)
|
||||
fun applyChargeEvent(chargeId: Long, memberId: Long) {
|
||||
val charge = chargeRepository.findByIdOrNull(chargeId)
|
||||
?: throw SodaException("이벤트가 적용되지 않았습니다.\n고객센터에 문의해 주세요.")
|
||||
|
@@ -1,11 +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.TransactionalEventListener
|
||||
|
||||
class ChargeSpringEvent(
|
||||
val chargeId: Long,
|
||||
@@ -17,8 +15,7 @@ class ChargeSpringEventListener(
|
||||
private val chargeEventService: ChargeEventService
|
||||
) {
|
||||
@Async
|
||||
@EventListener
|
||||
@Transactional(propagation = Propagation.REQUIRES_NEW)
|
||||
@TransactionalEventListener
|
||||
fun applyChargeEvent(event: ChargeSpringEvent) {
|
||||
chargeEventService.applyChargeEvent(event.chargeId, event.member.id!!)
|
||||
}
|
||||
|
Reference in New Issue
Block a user