From ee64ab761b7a30e0755954205fe2a8402a3183bc Mon Sep 17 00:00:00 2001 From: forge-bot Date: Thu, 30 Jul 2026 13:40:57 +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/domain/CardAcquisition.java | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/main/java/com/acquirex/domain/CardAcquisition.java diff --git a/src/main/java/com/acquirex/domain/CardAcquisition.java b/src/main/java/com/acquirex/domain/CardAcquisition.java new file mode 100644 index 0000000..42fd37b --- /dev/null +++ b/src/main/java/com/acquirex/domain/CardAcquisition.java @@ -0,0 +1,51 @@ +package com.acquirex.domain; + +import jakarta.persistence.*; +import lombok.*; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Entity +@Table(name = "card_acquisitions") +@Getter +@Setter +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class CardAcquisition { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @Column(name = "card_number", nullable = false, length = 20) + private String cardNumber; + + @Column(name = "merchant_id", nullable = false, length = 20) + private String merchantId; + + @Column(name = "amount", nullable = false, precision = 15, scale = 2) + private BigDecimal amount; + + @Enumerated(EnumType.STRING) + @Column(name = "status", nullable = false, length = 20) + private AcquisitionStatus status; + + @Column(name = "requested_at", nullable = false) + private LocalDateTime requestedAt; + + @Column(name = "approved_at") + private LocalDateTime approvedAt; + + @Column(name = "approved_by", length = 50) + private String approvedBy; + + @PrePersist + protected void onCreate() { + if (requestedAt == null) requestedAt = LocalDateTime.now(); + if (status == null) status = AcquisitionStatus.PENDING; + } +} + +enum AcquisitionStatus { + PENDING, APPROVED, REJECTED, CANCELLED +} \ No newline at end of file