From 22fd8e42166ee86c3205793202db422d64c8e2ba Mon Sep 17 00:00:00 2001 From: forge-bot Date: Fri, 10 Jul 2026 13:29:52 +0000 Subject: [PATCH 1/8] forge: open work branch for BAIS-SPRING-ARC-001-attempt-1 --- .forge/BAIS-SPRING-ARC-001-attempt-1.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .forge/BAIS-SPRING-ARC-001-attempt-1.md diff --git a/.forge/BAIS-SPRING-ARC-001-attempt-1.md b/.forge/BAIS-SPRING-ARC-001-attempt-1.md new file mode 100644 index 0000000..a8d7337 --- /dev/null +++ b/.forge/BAIS-SPRING-ARC-001-attempt-1.md @@ -0,0 +1,3 @@ +# BAIS-SPRING-ARC-001-attempt-1 + +Forge 이슈 작업 브랜치 `forge/BAIS-SPRING-ARC-001-attempt-1`. From 986e09a4758aeb823af31562dc968af8ceaab4f6 Mon Sep 17 00:00:00 2001 From: forge-bot Date: Fri, 10 Jul 2026 13:30:08 +0000 Subject: [PATCH 2/8] =?UTF-8?q?Spring=20Boot/Spring=20Batch=20=EB=AA=A9?= =?UTF-8?q?=ED=91=9C=20=EC=95=84=ED=82=A4=ED=85=8D=EC=B2=98=20=EC=A0=95?= =?UTF-8?q?=EC=9D=98=20(BAIS-SPRING-ARC-001)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TransactionController.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/main/java/com/example/demo/controller/TransactionController.java diff --git a/src/main/java/com/example/demo/controller/TransactionController.java b/src/main/java/com/example/demo/controller/TransactionController.java new file mode 100644 index 0000000..833bcbb --- /dev/null +++ b/src/main/java/com/example/demo/controller/TransactionController.java @@ -0,0 +1,20 @@ +package com.example.demo.controller; + +import org.springframework.web.bind.annotation.*; +import com.example.demo.service.TransactionService; +import com.example.demo.dto.TransactionDTO; + +@RestController +@RequestMapping("/api/transactions") +public class TransactionController { + private final TransactionService transactionService; + + public TransactionController(TransactionService transactionService) { + this.transactionService = transactionService; + } + + @PostMapping + public void createTransaction(@RequestBody TransactionDTO transactionDTO) { + transactionService.processTransaction(transactionDTO); + } +} \ No newline at end of file From 36aece10ccd2a93acd9ff3879006d881002d6a76 Mon Sep 17 00:00:00 2001 From: forge-bot Date: Fri, 10 Jul 2026 13:30:09 +0000 Subject: [PATCH 3/8] =?UTF-8?q?Spring=20Boot/Spring=20Batch=20=EB=AA=A9?= =?UTF-8?q?=ED=91=9C=20=EC=95=84=ED=82=A4=ED=85=8D=EC=B2=98=20=EC=A0=95?= =?UTF-8?q?=EC=9D=98=20(BAIS-SPRING-ARC-001)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/job/TransactionJobConfig.java | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/main/java/com/example/demo/job/TransactionJobConfig.java diff --git a/src/main/java/com/example/demo/job/TransactionJobConfig.java b/src/main/java/com/example/demo/job/TransactionJobConfig.java new file mode 100644 index 0000000..991e60c --- /dev/null +++ b/src/main/java/com/example/demo/job/TransactionJobConfig.java @@ -0,0 +1,38 @@ +package com.example.demo.job; + +import org.springframework.batch.core.Job; +import org.springframework.batch.core.Step; +import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing; +import org.springframework.batch.core.configuration.annotation.JobBuilderFactory; +import org.springframework.batch.core.configuration.annotation.StepBuilderFactory; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +@EnableBatchProcessing +public class TransactionJobConfig { + private final JobBuilderFactory jobBuilderFactory; + private final StepBuilderFactory stepBuilderFactory; + + public TransactionJobConfig(JobBuilderFactory jobBuilderFactory, StepBuilderFactory stepBuilderFactory) { + this.jobBuilderFactory = jobBuilderFactory; + this.stepBuilderFactory = stepBuilderFactory; + } + + @Bean + public Job transactionJob() { + return jobBuilderFactory.get("transactionJob") + .start(transactionStep()) + .build(); + } + + @Bean + public Step transactionStep() { + return stepBuilderFactory.get("transactionStep") + .tasklet((contribution, chunkContext) -> { + // 배치 작업 로직 + return null; + }) + .build(); + } +} \ No newline at end of file From 533ec7c653c83dd93216223703018a7e381ce6e6 Mon Sep 17 00:00:00 2001 From: forge-bot Date: Fri, 10 Jul 2026 13:30:10 +0000 Subject: [PATCH 4/8] =?UTF-8?q?Spring=20Boot/Spring=20Batch=20=EB=AA=A9?= =?UTF-8?q?=ED=91=9C=20=EC=95=84=ED=82=A4=ED=85=8D=EC=B2=98=20=EC=A0=95?= =?UTF-8?q?=EC=9D=98=20(BAIS-SPRING-ARC-001)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/example/demo/service/TransactionService.java | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 src/main/java/com/example/demo/service/TransactionService.java diff --git a/src/main/java/com/example/demo/service/TransactionService.java b/src/main/java/com/example/demo/service/TransactionService.java new file mode 100644 index 0000000..d72cdcc --- /dev/null +++ b/src/main/java/com/example/demo/service/TransactionService.java @@ -0,0 +1,11 @@ +package com.example.demo.service; + +import org.springframework.stereotype.Service; +import com.example.demo.dto.TransactionDTO; + +@Service +public class TransactionService { + public void processTransaction(TransactionDTO transactionDTO) { + // 거래 처리 로직 + } +} \ No newline at end of file From 8e606e79dc8ddb0482c3ac2c4d52003b53e3f741 Mon Sep 17 00:00:00 2001 From: forge-bot Date: Fri, 10 Jul 2026 13:30:12 +0000 Subject: [PATCH 5/8] =?UTF-8?q?Spring=20Boot/Spring=20Batch=20=EB=AA=A9?= =?UTF-8?q?=ED=91=9C=20=EC=95=84=ED=82=A4=ED=85=8D=EC=B2=98=20=EC=A0=95?= =?UTF-8?q?=EC=9D=98=20(BAIS-SPRING-ARC-001)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/example/demo/repository/TransactionRepository.java | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 src/main/java/com/example/demo/repository/TransactionRepository.java diff --git a/src/main/java/com/example/demo/repository/TransactionRepository.java b/src/main/java/com/example/demo/repository/TransactionRepository.java new file mode 100644 index 0000000..b545bba --- /dev/null +++ b/src/main/java/com/example/demo/repository/TransactionRepository.java @@ -0,0 +1,7 @@ +package com.example.demo.repository; + +import org.springframework.data.jpa.repository.JpaRepository; +import com.example.demo.model.Transaction; + +public interface TransactionRepository extends JpaRepository { +} \ No newline at end of file From 4a409dff16544f46dbc2c0d625f04b48e7ee0748 Mon Sep 17 00:00:00 2001 From: forge-bot Date: Fri, 10 Jul 2026 13:30:13 +0000 Subject: [PATCH 6/8] =?UTF-8?q?Spring=20Boot/Spring=20Batch=20=EB=AA=A9?= =?UTF-8?q?=ED=91=9C=20=EC=95=84=ED=82=A4=ED=85=8D=EC=B2=98=20=EC=A0=95?= =?UTF-8?q?=EC=9D=98=20(BAIS-SPRING-ARC-001)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/example/demo/dto/TransactionDTO.java | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 src/main/java/com/example/demo/dto/TransactionDTO.java diff --git a/src/main/java/com/example/demo/dto/TransactionDTO.java b/src/main/java/com/example/demo/dto/TransactionDTO.java new file mode 100644 index 0000000..d2bad5f --- /dev/null +++ b/src/main/java/com/example/demo/dto/TransactionDTO.java @@ -0,0 +1,9 @@ +package com.example.demo.dto; + +public class TransactionDTO { + private Long id; + private Double amount; + private String description; + + // Getters and Setters +} \ No newline at end of file From 75c70899609e9bd947a50c7c9a17a2ab2b383cf8 Mon Sep 17 00:00:00 2001 From: forge-bot Date: Fri, 10 Jul 2026 13:30:14 +0000 Subject: [PATCH 7/8] =?UTF-8?q?Spring=20Boot/Spring=20Batch=20=EB=AA=A9?= =?UTF-8?q?=ED=91=9C=20=EC=95=84=ED=82=A4=ED=85=8D=EC=B2=98=20=EC=A0=95?= =?UTF-8?q?=EC=9D=98=20(BAIS-SPRING-ARC-001)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/example/demo/error/ErrorResponse.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 src/main/java/com/example/demo/error/ErrorResponse.java diff --git a/src/main/java/com/example/demo/error/ErrorResponse.java b/src/main/java/com/example/demo/error/ErrorResponse.java new file mode 100644 index 0000000..b49c5fe --- /dev/null +++ b/src/main/java/com/example/demo/error/ErrorResponse.java @@ -0,0 +1,13 @@ +package com.example.demo.error; + +public class ErrorResponse { + private String message; + private int status; + + public ErrorResponse(String message, int status) { + this.message = message; + this.status = status; + } + + // Getters +} \ No newline at end of file From 6c663fc83960177390776ab3828965d79df36025 Mon Sep 17 00:00:00 2001 From: forge-bot Date: Fri, 10 Jul 2026 13:30:15 +0000 Subject: [PATCH 8/8] =?UTF-8?q?Spring=20Boot/Spring=20Batch=20=EB=AA=A9?= =?UTF-8?q?=ED=91=9C=20=EC=95=84=ED=82=A4=ED=85=8D=EC=B2=98=20=EC=A0=95?= =?UTF-8?q?=EC=9D=98=20(BAIS-SPRING-ARC-001)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../demo/config/TransactionPolicyConfig.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 src/main/java/com/example/demo/config/TransactionPolicyConfig.java diff --git a/src/main/java/com/example/demo/config/TransactionPolicyConfig.java b/src/main/java/com/example/demo/config/TransactionPolicyConfig.java new file mode 100644 index 0000000..d913914 --- /dev/null +++ b/src/main/java/com/example/demo/config/TransactionPolicyConfig.java @@ -0,0 +1,14 @@ +package com.example.demo.config; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.transaction.annotation.EnableTransactionManagement; + +@Configuration +@EnableTransactionManagement +public class TransactionPolicyConfig { + @Bean + public PlatformTransactionManager transactionManager(EntityManagerFactory entityManagerFactory) { + return new JpaTransactionManager(entityManagerFactory); + } +} \ No newline at end of file