충전이벤트가 적용되지 않는 버그 수정
This commit is contained in:
parent
0d56b61b2e
commit
586f4d21d4
|
@ -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) {
|
||||
|
|
|
@ -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!!)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue