카드 매입 승인 경로 Spring Boot 3 전환 (ACX-E2E-1785394564819)
Some checks failed
Verify / source-contract (push) Has been cancelled
Some checks failed
Verify / source-contract (push) Has been cancelled
This commit is contained in:
parent
56533bbd44
commit
6bb9a58a18
1 changed files with 131 additions and 0 deletions
131
src/main/java/com/acquirex/domain/DomainClasses.java
Normal file
131
src/main/java/com/acquirex/domain/DomainClasses.java
Normal file
|
|
@ -0,0 +1,131 @@
|
||||||
|
package com.acquirex.domain;
|
||||||
|
|
||||||
|
import jakarta.persistence.*;
|
||||||
|
import jakarta.validation.constraints.NotBlank;
|
||||||
|
import jakarta.validation.constraints.NotNull;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
|
// ===== AcquisitionCard Entity =====
|
||||||
|
@Entity
|
||||||
|
@Table(name = "acquisition_cards")
|
||||||
|
class AcquisitionCard {
|
||||||
|
@Id
|
||||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@NotBlank
|
||||||
|
@Column(name = "card_number", length = 20)
|
||||||
|
private String cardNumber;
|
||||||
|
|
||||||
|
@NotBlank
|
||||||
|
@Column(name = "card_company_code", length = 10)
|
||||||
|
private String cardCompanyCode;
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
@Column(name = "merchant_number", length = 15)
|
||||||
|
private String merchantNumber;
|
||||||
|
|
||||||
|
@Enumerated(EnumType.STRING)
|
||||||
|
@Column(name = "status", length = 20)
|
||||||
|
private CardStatus status = CardStatus.PENDING;
|
||||||
|
|
||||||
|
@Column(name = "created_at")
|
||||||
|
private LocalDateTime createdAt;
|
||||||
|
|
||||||
|
@Column(name = "updated_at")
|
||||||
|
private LocalDateTime updatedAt;
|
||||||
|
|
||||||
|
public enum CardStatus { PENDING, APPROVED, REJECTED, CANCELLED }
|
||||||
|
|
||||||
|
@PrePersist
|
||||||
|
protected void onCreate() {
|
||||||
|
createdAt = LocalDateTime.now();
|
||||||
|
updatedAt = LocalDateTime.now();
|
||||||
|
}
|
||||||
|
|
||||||
|
@PreUpdate
|
||||||
|
protected void onUpdate() {
|
||||||
|
updatedAt = LocalDateTime.now();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getId() { return id; }
|
||||||
|
public void setId(Long id) { this.id = id; }
|
||||||
|
public String getCardNumber() { return cardNumber; }
|
||||||
|
public void setCardNumber(String cardNumber) { this.cardNumber = cardNumber; }
|
||||||
|
public String getCardCompanyCode() { return cardCompanyCode; }
|
||||||
|
public void setCardCompanyCode(String cardCompanyCode) { this.cardCompanyCode = cardCompanyCode; }
|
||||||
|
public String getMerchantNumber() { return merchantNumber; }
|
||||||
|
public void setMerchantNumber(String merchantNumber) { this.merchantNumber = merchantNumber; }
|
||||||
|
public CardStatus getStatus() { return status; }
|
||||||
|
public void setStatus(CardStatus status) { this.status = status; }
|
||||||
|
public LocalDateTime getCreatedAt() { return createdAt; }
|
||||||
|
public LocalDateTime getUpdatedAt() { return updatedAt; }
|
||||||
|
}
|
||||||
|
|
||||||
|
// ===== ApprovalRequest Entity =====
|
||||||
|
@Entity
|
||||||
|
@Table(name = "approval_requests")
|
||||||
|
class ApprovalRequest {
|
||||||
|
@Id
|
||||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
@Column(name = "card_id")
|
||||||
|
private Long cardId;
|
||||||
|
|
||||||
|
@NotBlank
|
||||||
|
@Column(name = "transaction_id", length = 30, unique = true)
|
||||||
|
private String transactionId;
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
@Column(name = "amount", precision = 15, scale = 2)
|
||||||
|
private BigDecimal amount;
|
||||||
|
|
||||||
|
@Column(name = "vat", precision = 15, scale = 2)
|
||||||
|
private BigDecimal vat;
|
||||||
|
|
||||||
|
@Enumerated(EnumType.STRING)
|
||||||
|
@Column(name = "approval_status", length = 20)
|
||||||
|
private ApprovalStatus approvalStatus = ApprovalStatus.REQUESTED;
|
||||||
|
|
||||||
|
@Column(name = "approval_number", length = 20)
|
||||||
|
private String approvalNumber;
|
||||||
|
|
||||||
|
@Column(name = "requested_at")
|
||||||
|
private LocalDateTime requestedAt;
|
||||||
|
|
||||||
|
@Column(name = "approved_at")
|
||||||
|
private LocalDateTime approvedAt;
|
||||||
|
|
||||||
|
@Column(name = "rejection_reason", length = 200)
|
||||||
|
private String rejectionReason;
|
||||||
|
|
||||||
|
public enum ApprovalStatus { REQUESTED, APPROVED, REJECTED, CANCELLED }
|
||||||
|
|
||||||
|
@PrePersist
|
||||||
|
protected void onCreate() {
|
||||||
|
requestedAt = LocalDateTime.now();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getId() { return id; }
|
||||||
|
public void setId(Long id) { this.id = id; }
|
||||||
|
public Long getCardId() { return cardId; }
|
||||||
|
public void setCardId(Long cardId) { this.cardId = cardId; }
|
||||||
|
public String getTransactionId() { return transactionId; }
|
||||||
|
public void setTransactionId(String transactionId) { this.transactionId = transactionId; }
|
||||||
|
public BigDecimal getAmount() { return amount; }
|
||||||
|
public void setAmount(BigDecimal amount) { this.amount = amount; }
|
||||||
|
public BigDecimal getVat() { return vat; }
|
||||||
|
public void setVat(BigDecimal vat) { this.vat = vat; }
|
||||||
|
public ApprovalStatus getApprovalStatus() { return approvalStatus; }
|
||||||
|
public void setApprovalStatus(ApprovalStatus approvalStatus) { this.approvalStatus = approvalStatus; }
|
||||||
|
public String getApprovalNumber() { return approvalNumber; }
|
||||||
|
public void setApprovalNumber(String approvalNumber) { this.approvalNumber = approvalNumber; }
|
||||||
|
public LocalDateTime getRequestedAt() { return requestedAt; }
|
||||||
|
public LocalDateTime getApprovedAt() { return approvedAt; }
|
||||||
|
public void setApprovedAt(LocalDateTime approvedAt) { this.approvedAt = approvedAt; }
|
||||||
|
public String getRejectionReason() { return rejectionReason; }
|
||||||
|
public void setRejectionReason(String rejectionReason) { this.rejectionReason = rejectionReason; }
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue