diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/can/charge/event/ChargeEventService.kt b/src/main/kotlin/kr/co/vividnext/sodalive/can/charge/event/ChargeEventService.kt index 632b623..add2181 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/can/charge/event/ChargeEventService.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/can/charge/event/ChargeEventService.kt @@ -10,6 +10,7 @@ import kr.co.vividnext.sodalive.common.SodaException import kr.co.vividnext.sodalive.fcm.FcmEvent import kr.co.vividnext.sodalive.fcm.FcmEventType import kr.co.vividnext.sodalive.member.Member +import kr.co.vividnext.sodalive.member.MemberRepository import kr.co.vividnext.sodalive.member.auth.AuthRepository import org.springframework.context.ApplicationEventPublisher import org.springframework.data.repository.findByIdOrNull @@ -22,22 +23,26 @@ import kotlin.math.round class ChargeEventService( private val repository: ChargeEventRepository, private val authRepository: AuthRepository, + private val memberRepository: MemberRepository, private val chargeRepository: ChargeRepository, private val chargeEventRepository: ChargeEventRepository, private val applicationEventPublisher: ApplicationEventPublisher ) { @Transactional - fun applyChargeEvent(chargeId: Long, member: Member) { + fun applyChargeEvent(chargeId: Long, memberId: Long) { val charge = chargeRepository.findByIdOrNull(chargeId) - ?: throw SodaException("이벤트가 적용되지 않았습니다.") + ?: throw SodaException("이벤트가 적용되지 않았습니다.\n고객센터에 문의해 주세요.") + + val member = memberRepository.findByIdOrNull(memberId) + ?: throw SodaException("이벤트가 적용되지 않았습니다.\n고객센터에 문의해 주세요.") if (member.auth != null) { val authDate = authRepository.getOldestCreatedAtByDi(member.auth!!.di) val memberIds = authRepository.getMemberIdsByDi(member.auth!!.di) var chargeCount = 0 - for (memberId in memberIds) { - chargeCount += chargeRepository.getChargeCountAfterDate(memberId = memberId, authDate) + for (id in memberIds) { + chargeCount += chargeRepository.getChargeCountAfterDate(memberId = id, authDate) } if (chargeCount > 0) { diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/can/charge/event/ChargeSpringEvent.kt b/src/main/kotlin/kr/co/vividnext/sodalive/can/charge/event/ChargeSpringEvent.kt index 928eee4..c2d2888 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/can/charge/event/ChargeSpringEvent.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/can/charge/event/ChargeSpringEvent.kt @@ -20,6 +20,6 @@ class ChargeSpringEventListener( @TransactionalEventListener @Transactional(propagation = Propagation.REQUIRES_NEW) fun applyChargeEvent(event: ChargeSpringEvent) { - chargeEventService.applyChargeEvent(event.chargeId, event.member) + chargeEventService.applyChargeEvent(event.chargeId, event.member.id!!) } }