카드 매입 승인 경로 Spring Boot 3 전환 #12

Closed
forge-bot wants to merge 8 commits from forge/ACX-E2E-1785394564819-attempt-13-run-dada4efd8b46 into main
Showing only changes of commit b7f1481968 - Show all commits

View file

@ -0,0 +1,86 @@
package com.acquirex.approval.domain;
import jakarta.persistence.*;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 카드 매입 승인 도메인 엔티티
* Spring Boot 3: javax.* jakarta.* 마이그레이션
*/
@Entity
@Table(name = "acquisition_approval")
public class AcquisitionApproval {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "merchant_id", nullable = false, length = 20)
private String merchantId;
@Column(name = "card_number", nullable = false, length = 19)
private String cardNumber;
@Column(name = "approval_amount", nullable = false, precision = 15, scale = 2)
private BigDecimal approvalAmount;
@Column(name = "approval_number", nullable = false, length = 12)
private String approvalNumber;
@Enumerated(EnumType.STRING)
@Column(name = "status", nullable = false, length = 20)
private ApprovalStatus status;
@Column(name = "approval_datetime", nullable = false)
private LocalDateTime approvalDatetime;
@Column(name = "created_at", nullable = false)
private LocalDateTime createdAt;
@Column(name = "updated_at")
private LocalDateTime updatedAt;
public AcquisitionApproval() {}
public AcquisitionApproval(String merchantId, String cardNumber, BigDecimal approvalAmount,
String approvalNumber, ApprovalStatus status, LocalDateTime approvalDatetime) {
this.merchantId = merchantId;
this.cardNumber = cardNumber;
this.approvalAmount = approvalAmount;
this.approvalNumber = approvalNumber;
this.status = status;
this.approvalDatetime = approvalDatetime;
this.createdAt = LocalDateTime.now();
}
public Long getId() { return id; }
public void setId(Long id) { this.id = id; }
public String getMerchantId() { return merchantId; }
public void setMerchantId(String merchantId) { this.merchantId = merchantId; }
public String getCardNumber() { return cardNumber; }
public void setCardNumber(String cardNumber) { this.cardNumber = cardNumber; }
public BigDecimal getApprovalAmount() { return approvalAmount; }
public void setApprovalAmount(BigDecimal approvalAmount) { this.approvalAmount = approvalAmount; }
public String getApprovalNumber() { return approvalNumber; }
public void setApprovalNumber(String approvalNumber) { this.approvalNumber = approvalNumber; }
public ApprovalStatus getStatus() { return status; }
public void setStatus(ApprovalStatus status) { this.status = status; }
public LocalDateTime getApprovalDatetime() { return approvalDatetime; }
public void setApprovalDatetime(LocalDateTime approvalDatetime) { this.approvalDatetime = approvalDatetime; }
public LocalDateTime getCreatedAt() { return createdAt; }
public void setCreatedAt(LocalDateTime createdAt) { this.createdAt = createdAt; }
public LocalDateTime getUpdatedAt() { return updatedAt; }
public void setUpdatedAt(LocalDateTime updatedAt) { this.updatedAt = updatedAt; }
@PreUpdate
protected void onUpdate() { this.updatedAt = LocalDateTime.now(); }
/** 매입 승인 상태 열거형 */
public enum ApprovalStatus {
PENDING("대기"), APPROVED("승인"), REJECTED("거절"), CANCELLED("취소");
private final String description;
ApprovalStatus(String description) { this.description = description; }
public String getDescription() { return description; }
}
}