From 52dee34ff33e67a158d0576a3aed4117fac7c8db Mon Sep 17 00:00:00 2001 From: forge-bot Date: Thu, 30 Jul 2026 08:08:05 +0000 Subject: [PATCH] =?UTF-8?q?=EC=B9=B4=EB=93=9C=20=EB=A7=A4=EC=9E=85=20?= =?UTF-8?q?=EC=8A=B9=EC=9D=B8=20=EA=B2=BD=EB=A1=9C=20Spring=20Boot=203=20?= =?UTF-8?q?=EC=A0=84=ED=99=98=20(ACX-E2E-1785394564819)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/acquirex/approval/dto/DtoClasses.java | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 src/main/java/com/acquirex/approval/dto/DtoClasses.java diff --git a/src/main/java/com/acquirex/approval/dto/DtoClasses.java b/src/main/java/com/acquirex/approval/dto/DtoClasses.java new file mode 100644 index 0000000..8d843a6 --- /dev/null +++ b/src/main/java/com/acquirex/approval/dto/DtoClasses.java @@ -0,0 +1,82 @@ +package com.acquirex.approval.dto; + +import com.acquirex.approval.domain.ApprovalStatus; +import jakarta.validation.constraints.DecimalMin; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +/** + * DTO for card acquisition approval request. + * Uses Jakarta Validation annotations (Spring Boot 3 requirement). + */ +public class ApprovalRequest { + @NotBlank(message = "Request ID is required") + private String requestId; + + @NotBlank(message = "Card number is required") + private String cardNumber; + + @NotBlank(message = "Merchant ID is required") + private String merchantId; + + @NotNull(message = "Amount is required") + @DecimalMin(value = "0.01", message = "Amount must be greater than zero") + private BigDecimal amount; + + public ApprovalRequest() {} + + public ApprovalRequest(String requestId, String cardNumber, String merchantId, BigDecimal amount) { + this.requestId = requestId; + this.cardNumber = cardNumber; + this.merchantId = merchantId; + this.amount = amount; + } + + public String getRequestId() { return requestId; } + public void setRequestId(String requestId) { this.requestId = requestId; } + public String getCardNumber() { return cardNumber; } + public void setCardNumber(String cardNumber) { this.cardNumber = cardNumber; } + public String getMerchantId() { return merchantId; } + public void setMerchantId(String merchantId) { this.merchantId = merchantId; } + public BigDecimal getAmount() { return amount; } + public void setAmount(BigDecimal amount) { this.amount = amount; } +} + +/** + * DTO for card acquisition approval response. + */ +class ApprovalResponse { + private Long id; + private String requestId; + private ApprovalStatus status; + private BigDecimal amount; + private LocalDateTime processedAt; + private String message; + + public ApprovalResponse() {} + + public ApprovalResponse(Long id, String requestId, ApprovalStatus status, + BigDecimal amount, LocalDateTime processedAt, String message) { + this.id = id; + this.requestId = requestId; + this.status = status; + this.amount = amount; + this.processedAt = processedAt; + this.message = message; + } + + public Long getId() { return id; } + public void setId(Long id) { this.id = id; } + public String getRequestId() { return requestId; } + public void setRequestId(String requestId) { this.requestId = requestId; } + public ApprovalStatus getStatus() { return status; } + public void setStatus(ApprovalStatus status) { this.status = status; } + public BigDecimal getAmount() { return amount; } + public void setAmount(BigDecimal amount) { this.amount = amount; } + public LocalDateTime getProcessedAt() { return processedAt; } + public void setProcessedAt(LocalDateTime processedAt) { this.processedAt = processedAt; } + public String getMessage() { return message; } + public void setMessage(String message) { this.message = message; } +} \ No newline at end of file