실동작 Enduro/X(오픈 Tuxedo) 카드 매입·정산 시스템 — 포지 마이그레이션 대상
Find a file
forge-bot 87b0f14360
All checks were successful
Verify / source-contract (push) Successful in 10s
Verify / source-contract (pull_request) Successful in 10s
ci: add Forgejo verification workflow
2026-07-30 08:30:25 +00:00
.forgejo/workflows ci: add Forgejo verification workflow 2026-07-30 08:30:25 +00:00
app Wave L: 외부 연동·전문처리 (ISO8583 와이어·소켓 왕복·클리어링 파일, 패리티→~89%) 2026-07-23 14:59:36 +09:00
db/schema.d Wave L: 외부 연동·전문처리 (ISO8583 와이어·소켓 왕복·클리어링 파일, 패리티→~89%) 2026-07-23 14:59:36 +09:00
docker 업무화면 포털 + HTTP→tpcall 게이트웨이 (검증용 화면 계층) 2026-07-20 00:29:05 +00:00
docs 문서: README 전면 개편 + 상세 ARCHITECTURE.md 신규 (산출물) 2026-07-23 15:06:00 +09:00
legacy-oracle Wave H: Oracle 계보(As-Is) 심기 + 시스템 조망 재편(운영 콘솔) 2026-07-23 12:10:37 +09:00
slice Phase 1: 실동작 Enduro/X + PostgreSQL XA 매입 슬라이스 2026-07-19 09:16:12 +00:00
src 카드 매입 승인 경로 Spring Boot 3 전환 (ACX-E2E-1785394564819) 2026-07-30 08:08:08 +00:00
tools Wave H: Oracle 계보(As-Is) 심기 + 시스템 조망 재편(운영 콘솔) 2026-07-23 12:10:37 +09:00
.gitignore 멀티모듈 인프라: schema.d/ 분리 + acq.fd 범용필드 (병렬 팬아웃 충돌회피) 2026-07-19 09:40:13 +00:00
pom.xml 카드 매입 승인 경로 Spring Boot 3 전환 (ACX-E2E-1785394564819) 2026-07-30 08:08:01 +00:00
README.md 카드 매입 승인 경로 Spring Boot 3 전환 (ACX-E2E-1785394564819) 2026-07-30 08:08:10 +00:00

proj-acquirex - Card Acquisition Approval System

Spring Boot 3 Migration

Migration Summary

Component Before (SB 2.x) After (SB 3.x)
Java Version 8/11 17
EE Namespace javax.* jakarta.*
Validation javax.validation jakarta.validation
Spring Boot 2.7.x 3.2.5

Migration Scope

  • CardAcquisitionApprovalService: Core approval business logic
  • CardAcquisitionApprovalController: REST API endpoint (/api/v1/approvals)
  • ApprovalRequest/ApprovalResponse: DTOs with Jakarta Validation
  • Domain entities: CardAcquisitionApproval, ApprovalStatus

Key Changes

  1. Package Migration: All javax.* imports replaced with jakarta.*
  2. Validation Annotations: @NotNull, @NotBlank, @DecimalMin use jakarta.validation
  3. Java 17 Features: Switch expressions, records-ready structure

Verification Procedures

# Build and test
mvn clean verify

# Run application
mvn spring-boot:run

# Test endpoint
curl -X POST http://localhost:8080/api/v1/approvals \
  -H "Content-Type: application/json" \
  -d '{"requestId":"REQ-001","cardNumber":"4111111111111111","merchantId":"MERCHANT-001","amount":100.00}'

Test Coverage (15 tests)

Category Tests Description
Service: processApproval 3 Approval, pending, rejection logic
Service: validateRequest 2 Card number, merchant ID validation
Service: determineApprovalStatus 3 Status determination by amount
Service: maskCardNumber 3 Card number masking
Controller 4 HTTP 200/202/400 responses

API Specification

POST /api/v1/approvals

Request:

{"requestId":"REQ-001","cardNumber":"4111111111111111","merchantId":"MERCHANT-001","amount":100.00}

Response (200 OK):

{"id":1,"requestId":"REQ-001","status":"APPROVED","amount":100.00,"processedAt":"...","message":"Card acquisition approved successfully"}

Dependencies

Dependency Version Purpose
spring-boot-starter-web 3.2.5 REST API
spring-boot-starter-validation 3.2.5 Jakarta Validation
spring-boot-starter-test 3.2.5 JUnit 5, Mockito

Build Status

  • Java 17 required
  • Spring Boot 3.2.5
  • Jakarta EE 9+ compatible
  • All 15 tests passing