package com.acquirex.approval;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Positive;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CardAcquisitionApprovalRequest {
    @NotBlank(message = "가맹점 ID는 필수입니다")
    private String merchantId;

    @NotBlank(message = "카드사 코드는 필수입니다")
    private String cardCompanyCode;

    @NotNull(message = "거래 금액은 필수입니다")
    @Positive(message = "거래 금액은 양수여야 합니다")
    private BigDecimal transactionAmount;

    @NotBlank(message = "거래 유형은 필수입니다")
    private String transactionType;

    private String merchantName;
    private LocalDateTime requestDateTime;
}
