test #18

Merged
klaus merged 15 commits from test into main 2023-08-27 12:28:43 +00:00
2 changed files with 4 additions and 6 deletions
Showing only changes of commit 53bc8ed05a - Show all commits

View File

@ -15,6 +15,7 @@ import kr.co.vividnext.sodalive.member.auth.AuthRepository
import org.springframework.context.ApplicationEventPublisher import org.springframework.context.ApplicationEventPublisher
import org.springframework.data.repository.findByIdOrNull import org.springframework.data.repository.findByIdOrNull
import org.springframework.stereotype.Service import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Propagation
import org.springframework.transaction.annotation.Transactional import org.springframework.transaction.annotation.Transactional
import kotlin.math.ceil import kotlin.math.ceil
import kotlin.math.round import kotlin.math.round
@ -28,7 +29,7 @@ class ChargeEventService(
private val chargeEventRepository: ChargeEventRepository, private val chargeEventRepository: ChargeEventRepository,
private val applicationEventPublisher: ApplicationEventPublisher private val applicationEventPublisher: ApplicationEventPublisher
) { ) {
@Transactional @Transactional(propagation = Propagation.REQUIRES_NEW)
fun applyChargeEvent(chargeId: Long, memberId: Long) { fun applyChargeEvent(chargeId: Long, memberId: Long) {
val charge = chargeRepository.findByIdOrNull(chargeId) val charge = chargeRepository.findByIdOrNull(chargeId)
?: throw SodaException("이벤트가 적용되지 않았습니다.\n고객센터에 문의해 주세요.") ?: throw SodaException("이벤트가 적용되지 않았습니다.\n고객센터에 문의해 주세요.")

View File

@ -1,11 +1,9 @@
package kr.co.vividnext.sodalive.can.charge.event package kr.co.vividnext.sodalive.can.charge.event
import kr.co.vividnext.sodalive.member.Member import kr.co.vividnext.sodalive.member.Member
import org.springframework.context.event.EventListener
import org.springframework.scheduling.annotation.Async import org.springframework.scheduling.annotation.Async
import org.springframework.stereotype.Component import org.springframework.stereotype.Component
import org.springframework.transaction.annotation.Propagation import org.springframework.transaction.event.TransactionalEventListener
import org.springframework.transaction.annotation.Transactional
class ChargeSpringEvent( class ChargeSpringEvent(
val chargeId: Long, val chargeId: Long,
@ -17,8 +15,7 @@ class ChargeSpringEventListener(
private val chargeEventService: ChargeEventService private val chargeEventService: ChargeEventService
) { ) {
@Async @Async
@EventListener @TransactionalEventListener
@Transactional(propagation = Propagation.REQUIRES_NEW)
fun applyChargeEvent(event: ChargeSpringEvent) { fun applyChargeEvent(event: ChargeSpringEvent) {
chargeEventService.applyChargeEvent(event.chargeId, event.member.id!!) chargeEventService.applyChargeEvent(event.chargeId, event.member.id!!)
} }