From 141b287e2f7fe0a90e6aba3acb51e9d0953cfc49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=8B=A0=EA=B4=80=EA=B7=9C?= Date: Tue, 22 Jul 2025 20:16:51 +0900 Subject: [PATCH 1/5] =?UTF-8?q?fix:=20=EA=B2=B0=EC=A0=9C=EC=84=9C=EB=B2=84?= =?UTF-8?q?=20=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EC=86=8C=EC=8A=A4=20=EC=82=AD?= =?UTF-8?q?=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataSource/KoinPaymentDBProperties.java | 12 ---- .../KoinPaymentDataSourceConfig.java | 70 ------------------- 2 files changed, 82 deletions(-) delete mode 100644 src/main/java/in/koreatech/payment/common/config/dataSource/KoinPaymentDBProperties.java delete mode 100644 src/main/java/in/koreatech/payment/common/config/dataSource/KoinPaymentDataSourceConfig.java diff --git a/src/main/java/in/koreatech/payment/common/config/dataSource/KoinPaymentDBProperties.java b/src/main/java/in/koreatech/payment/common/config/dataSource/KoinPaymentDBProperties.java deleted file mode 100644 index 0140871..0000000 --- a/src/main/java/in/koreatech/payment/common/config/dataSource/KoinPaymentDBProperties.java +++ /dev/null @@ -1,12 +0,0 @@ -package in.koreatech.payment.common.config.dataSource; - -import org.springframework.boot.context.properties.ConfigurationProperties; - -@ConfigurationProperties(prefix = "spring.datasource.koin-payment.hibernate") -public record KoinPaymentDBProperties( - String ddlAuto, - Boolean showSql, - String packagesToScan, - String formatSql -) { -} diff --git a/src/main/java/in/koreatech/payment/common/config/dataSource/KoinPaymentDataSourceConfig.java b/src/main/java/in/koreatech/payment/common/config/dataSource/KoinPaymentDataSourceConfig.java deleted file mode 100644 index db9542d..0000000 --- a/src/main/java/in/koreatech/payment/common/config/dataSource/KoinPaymentDataSourceConfig.java +++ /dev/null @@ -1,70 +0,0 @@ -package in.koreatech.payment.common.config.dataSource; - -import java.util.HashMap; -import java.util.Map; - -import javax.sql.DataSource; - -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.boot.jdbc.DataSourceBuilder; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Primary; -import org.springframework.data.jpa.repository.config.EnableJpaRepositories; -import org.springframework.orm.jpa.JpaTransactionManager; -import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; -import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter; -import org.springframework.transaction.PlatformTransactionManager; -import org.springframework.transaction.annotation.EnableTransactionManagement; - -import jakarta.persistence.EntityManagerFactory; -import lombok.RequiredArgsConstructor; - -@Configuration -@RequiredArgsConstructor -@EnableTransactionManagement -@EnableJpaRepositories( - basePackages = "in.koreatech.payment", - entityManagerFactoryRef = "koinPaymentEntityManagerFactory", - transactionManagerRef = "koinPaymentTransactionManager" -) -public class KoinPaymentDataSourceConfig { - - private final KoinPaymentDBProperties koinPaymentDBProperties; - - @Bean(name = "koinPaymentDataSource") - @ConfigurationProperties("spring.datasource.koin-payment") - public DataSource koinPaymentDataSource() { - return DataSourceBuilder.create().build(); - } - - @Primary - @Bean(name = "koinPaymentEntityManagerFactory") - public LocalContainerEntityManagerFactoryBean koinPaymentEntityManagerFactory( - @Qualifier(value = "koinPaymentDataSource") DataSource dataSource - ) { - LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean(); - em.setDataSource(dataSource); - em.setPackagesToScan(koinPaymentDBProperties.packagesToScan()); - em.setJpaVendorAdapter(new HibernateJpaVendorAdapter()); - em.setJpaPropertyMap(createJpaVendorProperties()); - return em; - } - - private Map createJpaVendorProperties() { - Map properties = new HashMap<>(); - properties.put("hibernate.show_sql", koinPaymentDBProperties.showSql()); - properties.put("hibernate.hbm2ddl.auto", koinPaymentDBProperties.ddlAuto()); - properties.put("hibernate.format_sql", koinPaymentDBProperties.formatSql()); - return properties; - } - - @Primary - @Bean(name = "koinPaymentTransactionManager") - public PlatformTransactionManager koinPaymentTransactionManager( - @Qualifier(value = "koinPaymentEntityManagerFactory") EntityManagerFactory entityManagerFactory - ) { - return new JpaTransactionManager(entityManagerFactory); - } -} From 2110b762db25b50aed24123c1075588cea947c71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=8B=A0=EA=B4=80=EA=B7=9C?= Date: Tue, 22 Jul 2025 20:18:18 +0900 Subject: [PATCH 2/5] =?UTF-8?q?fix:=20=EC=BD=94=EC=9D=B8=20=EB=8D=B0?= =?UTF-8?q?=EC=9D=B4=ED=84=B0=20=EC=86=8C=EC=8A=A4=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/dataSource/KoinDBProperties.java | 12 ---- .../dataSource/KoinDataSourceConfig.java | 67 ------------------- 2 files changed, 79 deletions(-) delete mode 100644 src/main/java/in/koreatech/payment/common/config/dataSource/KoinDBProperties.java delete mode 100644 src/main/java/in/koreatech/payment/common/config/dataSource/KoinDataSourceConfig.java diff --git a/src/main/java/in/koreatech/payment/common/config/dataSource/KoinDBProperties.java b/src/main/java/in/koreatech/payment/common/config/dataSource/KoinDBProperties.java deleted file mode 100644 index f13b7a6..0000000 --- a/src/main/java/in/koreatech/payment/common/config/dataSource/KoinDBProperties.java +++ /dev/null @@ -1,12 +0,0 @@ -package in.koreatech.payment.common.config.dataSource; - -import org.springframework.boot.context.properties.ConfigurationProperties; - -@ConfigurationProperties(prefix = "spring.datasource.koin.hibernate") -public record KoinDBProperties( - String ddlAuto, - Boolean showSql, - String packagesToScan, - String formatSql -) { -} diff --git a/src/main/java/in/koreatech/payment/common/config/dataSource/KoinDataSourceConfig.java b/src/main/java/in/koreatech/payment/common/config/dataSource/KoinDataSourceConfig.java deleted file mode 100644 index cba5bd8..0000000 --- a/src/main/java/in/koreatech/payment/common/config/dataSource/KoinDataSourceConfig.java +++ /dev/null @@ -1,67 +0,0 @@ -package in.koreatech.payment.common.config.dataSource; - -import java.util.HashMap; -import java.util.Map; - -import javax.sql.DataSource; - -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.boot.jdbc.DataSourceBuilder; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.data.jpa.repository.config.EnableJpaRepositories; -import org.springframework.orm.jpa.JpaTransactionManager; -import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; -import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter; -import org.springframework.transaction.PlatformTransactionManager; -import org.springframework.transaction.annotation.EnableTransactionManagement; - -import jakarta.persistence.EntityManagerFactory; -import lombok.RequiredArgsConstructor; - -@Configuration -@RequiredArgsConstructor -@EnableTransactionManagement -@EnableJpaRepositories( - basePackages = "in.koreatech.koin", - entityManagerFactoryRef = "koinEntityManagerFactory", - transactionManagerRef = "koinTransactionManager" -) -public class KoinDataSourceConfig { - - private final KoinDBProperties koinDBProperties; - - @Bean(name = "koinDataSource") - @ConfigurationProperties("spring.datasource.koin") - public DataSource koinDataSource() { - return DataSourceBuilder.create().build(); - } - - @Bean(name = "koinEntityManagerFactory") - public LocalContainerEntityManagerFactoryBean koinEntityManagerFactory( - @Qualifier(value = "koinDataSource") DataSource dataSource - ) { - LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean(); - em.setDataSource(dataSource); - em.setPackagesToScan(koinDBProperties.packagesToScan()); - em.setJpaVendorAdapter(new HibernateJpaVendorAdapter()); - em.setJpaPropertyMap(createJpaVendorProperties()); - return em; - } - - private Map createJpaVendorProperties() { - Map properties = new HashMap<>(); - properties.put("hibernate.show_sql", koinDBProperties.showSql()); - properties.put("hibernate.hbm2ddl.auto", koinDBProperties.ddlAuto()); - properties.put("hibernate.format_sql", koinDBProperties.formatSql()); - return properties; - } - - @Bean(name = "koinTransactionManager") - public PlatformTransactionManager koinTransactionManager( - @Qualifier(value = "koinEntityManagerFactory") EntityManagerFactory entityManagerFactory - ) { - return new JpaTransactionManager(entityManagerFactory); - } -} From 28fa62fb461d7fa684eeb57bd718cdd3b1bbfd2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=8B=A0=EA=B4=80=EA=B7=9C?= Date: Tue, 22 Jul 2025 20:35:44 +0900 Subject: [PATCH 3/5] =?UTF-8?q?feat:=20=EC=97=94=ED=8B=B0=ED=8B=B0,=20?= =?UTF-8?q?=EB=A6=AC=ED=8C=8C=EC=A7=80=ED=86=A0=EB=A6=AC=20=EC=8A=A4?= =?UTF-8?q?=EC=BA=94=20=EB=B2=94=EC=9C=84=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../payment/KoinPaymentApplication.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/main/java/in/koreatech/payment/KoinPaymentApplication.java b/src/main/java/in/koreatech/payment/KoinPaymentApplication.java index a4716fc..a072058 100644 --- a/src/main/java/in/koreatech/payment/KoinPaymentApplication.java +++ b/src/main/java/in/koreatech/payment/KoinPaymentApplication.java @@ -2,10 +2,25 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.domain.EntityScan; import org.springframework.boot.context.properties.ConfigurationPropertiesScan; +import org.springframework.data.jpa.repository.config.EnableJpaRepositories; -@SpringBootApplication @ConfigurationPropertiesScan +@SpringBootApplication( + scanBasePackages = { + "in.koreatech.payment", + "in.koreatech.koin" + } +) +@EnableJpaRepositories(basePackages = { + "in.koreatech.payment", + "in.koreatech.koin" +}) +@EntityScan(basePackages = { + "in.koreatech.payment", + "in.koreatech.koin" +}) public class KoinPaymentApplication { public static void main(String[] args) { From 952393d8c4d2e571c37d578340c5df71510c1e9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=8B=A0=EA=B4=80=EA=B7=9C?= Date: Tue, 22 Jul 2025 20:48:30 +0900 Subject: [PATCH 4/5] =?UTF-8?q?fix:=20POST=20/payments/takeout/temporary?= =?UTF-8?q?=20=EC=9A=94=EC=B2=AD=20dto=20=EC=8A=A4=EB=84=A4=EC=9D=B4?= =?UTF-8?q?=ED=81=AC=20=EC=BC=80=EC=9D=B4=EC=8A=A4=EB=A1=9C=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/request/TemporaryTakeoutPaymentSaveRequest.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/in/koreatech/payment/dto/request/TemporaryTakeoutPaymentSaveRequest.java b/src/main/java/in/koreatech/payment/dto/request/TemporaryTakeoutPaymentSaveRequest.java index b3abd5b..dde2ff8 100644 --- a/src/main/java/in/koreatech/payment/dto/request/TemporaryTakeoutPaymentSaveRequest.java +++ b/src/main/java/in/koreatech/payment/dto/request/TemporaryTakeoutPaymentSaveRequest.java @@ -1,12 +1,16 @@ package in.koreatech.payment.dto.request; +import static com.fasterxml.jackson.databind.PropertyNamingStrategies.SnakeCaseStrategy; import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.NOT_REQUIRED; import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.REQUIRED; +import com.fasterxml.jackson.databind.annotation.JsonNaming; + import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; +@JsonNaming(value = SnakeCaseStrategy.class) public record TemporaryTakeoutPaymentSaveRequest( @Schema(description = "연락처", example = "01012345678", requiredMode = REQUIRED) @NotBlank(message = "연락처는 필수 입력사항입니다.") From 2b4d106bfc2b3b3476f823796473bf1dba7e3fd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=8B=A0=EA=B4=80=EA=B7=9C?= Date: Tue, 22 Jul 2025 20:50:14 +0900 Subject: [PATCH 5/5] =?UTF-8?q?fix:=20=EC=BD=94=EC=9D=B8DB=20=ED=8A=B8?= =?UTF-8?q?=EB=9E=9C=EC=9E=AD=EC=85=98=20=EB=A9=94=EB=8B=88=EC=A0=80=20?= =?UTF-8?q?=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/in/koreatech/payment/service/TossService.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/in/koreatech/payment/service/TossService.java b/src/main/java/in/koreatech/payment/service/TossService.java index d5e032d..007fa5e 100644 --- a/src/main/java/in/koreatech/payment/service/TossService.java +++ b/src/main/java/in/koreatech/payment/service/TossService.java @@ -137,7 +137,7 @@ public String createTemporaryTakeoutPayment(String accessToken, TemporaryTakeout return orderId; } - @Transactional(transactionManager = "koinTransactionManager") + @Transactional public PaymentConfirmResponse confirmPayment(String accessToken, String paymentKey, String orderId, Integer amount) { Integer userId = jwtTokenResolver.getUserId(accessToken); User user = userRepository.getById(userId); @@ -170,7 +170,7 @@ public PaymentConfirmResponse confirmPayment(String accessToken, String paymentK return response; } - @Transactional(transactionManager = "koinTransactionManager") + @Transactional public List cancelPayment(String accessToken, String paymentKey, String cancelReason) { Integer userId = jwtTokenResolver.getUserId(accessToken); User user = userRepository.getById(userId);