From 888a38c1562103b89806bb69fa6bcd136aa087a9 Mon Sep 17 00:00:00 2001 From: pricelees Date: Sun, 28 Sep 2025 13:23:58 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20TransactionExecutionUtil=20?= =?UTF-8?q?=EB=AA=A8=EB=93=88=20=EC=9D=B4=EB=8F=99(service=20->=20persiste?= =?UTF-8?q?nce)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/persistence/build.gradle.kts | 1 + .../com/sangdol/common/persistence/PersistenceConfig.kt | 8 ++++++++ .../common/persistence}/TransactionExecutionUtil.kt | 8 +++----- .../sangdol/roomescape/payment/business/PaymentService.kt | 2 +- .../kotlin/com/sangdol/data/DefaultDataInitializer.kt | 2 +- 5 files changed, 14 insertions(+), 7 deletions(-) rename {service/src/main/kotlin/com/sangdol/roomescape/common/util => common/persistence/src/main/kotlin/com/sangdol/common/persistence}/TransactionExecutionUtil.kt (91%) diff --git a/common/persistence/build.gradle.kts b/common/persistence/build.gradle.kts index fe90c4d5..2c715a02 100644 --- a/common/persistence/build.gradle.kts +++ b/common/persistence/build.gradle.kts @@ -17,6 +17,7 @@ dependencies { testImplementation("io.kotest.extensions:kotest-extensions-spring:1.3.0") implementation(project(":common:utils")) + implementation(project(":common:types")) } tasks.named("bootJar") { diff --git a/common/persistence/src/main/kotlin/com/sangdol/common/persistence/PersistenceConfig.kt b/common/persistence/src/main/kotlin/com/sangdol/common/persistence/PersistenceConfig.kt index 1cf26620..08ac9cca 100644 --- a/common/persistence/src/main/kotlin/com/sangdol/common/persistence/PersistenceConfig.kt +++ b/common/persistence/src/main/kotlin/com/sangdol/common/persistence/PersistenceConfig.kt @@ -8,6 +8,7 @@ import org.springframework.context.annotation.Configuration import org.springframework.context.annotation.Primary import org.springframework.data.domain.AuditorAware import org.springframework.data.jpa.repository.config.EnableJpaAuditing +import org.springframework.transaction.PlatformTransactionManager import java.util.* @Configuration @@ -29,6 +30,13 @@ class PersistenceConfig { return TsidIDGenerator(tsidFactory) } + + @Bean + fun transactionExecutionUtil( + transactionManager: PlatformTransactionManager + ): TransactionExecutionUtil { + return TransactionExecutionUtil(transactionManager) + } } class MdcAuditorAware : AuditorAware { diff --git a/service/src/main/kotlin/com/sangdol/roomescape/common/util/TransactionExecutionUtil.kt b/common/persistence/src/main/kotlin/com/sangdol/common/persistence/TransactionExecutionUtil.kt similarity index 91% rename from service/src/main/kotlin/com/sangdol/roomescape/common/util/TransactionExecutionUtil.kt rename to common/persistence/src/main/kotlin/com/sangdol/common/persistence/TransactionExecutionUtil.kt index fb05ec7b..cc964a77 100644 --- a/service/src/main/kotlin/com/sangdol/roomescape/common/util/TransactionExecutionUtil.kt +++ b/common/persistence/src/main/kotlin/com/sangdol/common/persistence/TransactionExecutionUtil.kt @@ -1,17 +1,15 @@ -package com.sangdol.roomescape.common.util +package com.sangdol.common.persistence +import com.sangdol.common.types.exception.CommonErrorCode +import com.sangdol.common.types.exception.RoomescapeException import io.github.oshai.kotlinlogging.KLogger import io.github.oshai.kotlinlogging.KotlinLogging -import org.springframework.stereotype.Component import org.springframework.transaction.PlatformTransactionManager import org.springframework.transaction.TransactionDefinition import org.springframework.transaction.support.TransactionTemplate -import com.sangdol.common.types.exception.CommonErrorCode -import com.sangdol.common.types.exception.RoomescapeException private val log: KLogger = KotlinLogging.logger {} -@Component class TransactionExecutionUtil( private val transactionManager: PlatformTransactionManager ) { diff --git a/service/src/main/kotlin/com/sangdol/roomescape/payment/business/PaymentService.kt b/service/src/main/kotlin/com/sangdol/roomescape/payment/business/PaymentService.kt index 126be6b0..dc77b7bb 100644 --- a/service/src/main/kotlin/com/sangdol/roomescape/payment/business/PaymentService.kt +++ b/service/src/main/kotlin/com/sangdol/roomescape/payment/business/PaymentService.kt @@ -4,7 +4,7 @@ import io.github.oshai.kotlinlogging.KLogger import io.github.oshai.kotlinlogging.KotlinLogging import org.springframework.stereotype.Service import org.springframework.transaction.annotation.Transactional -import com.sangdol.roomescape.common.util.TransactionExecutionUtil +import com.sangdol.common.persistence.TransactionExecutionUtil import com.sangdol.roomescape.payment.exception.PaymentErrorCode import com.sangdol.roomescape.payment.exception.PaymentException import com.sangdol.roomescape.payment.infrastructure.client.PaymentClientCancelResponse diff --git a/service/src/test/kotlin/com/sangdol/data/DefaultDataInitializer.kt b/service/src/test/kotlin/com/sangdol/data/DefaultDataInitializer.kt index 2b494fb4..43d88804 100644 --- a/service/src/test/kotlin/com/sangdol/data/DefaultDataInitializer.kt +++ b/service/src/test/kotlin/com/sangdol/data/DefaultDataInitializer.kt @@ -4,7 +4,7 @@ import com.sangdol.common.persistence.IDGenerator import com.sangdol.roomescape.admin.infrastructure.persistence.AdminEntity import com.sangdol.roomescape.admin.infrastructure.persistence.AdminPermissionLevel import com.sangdol.roomescape.admin.infrastructure.persistence.AdminType -import com.sangdol.roomescape.common.util.TransactionExecutionUtil +import com.sangdol.common.persistence.TransactionExecutionUtil import com.sangdol.roomescape.payment.infrastructure.common.* import com.sangdol.roomescape.reservation.infrastructure.persistence.ReservationStatus import com.sangdol.roomescape.schedule.infrastructure.persistence.ScheduleStatus