package com.ga.core.vo.withdraw;

import lombok.Data;

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

/**
 * withdraw_request — 출금 신청 (V53)
 * account_no 는 AES 암호화 대상 — Mapper XML에서 EncryptTypeHandler 적용.
 */
@Data
public class WithdrawRequestVO {
    private Long requestId;
    private Long settleMasterId;
    private Long agentId;
    private BigDecimal amount;
    private Long requestedBy;
    private LocalDateTime requestedAt;
    private Long approvalRequestId;
    private String bankCode;
    /** AES 암호화 대상 (EncryptTypeHandler) */
    private String accountNo;
    /** WithdrawStatus: REQUESTED/APPROVED/SENT/COMPLETED/FAILED/CANCELLED */
    private String status;
    private LocalDateTime sentAt;
    private LocalDateTime completedAt;
    private String failReason;
    private String transferTxId;
    private String transferStatus;
    private LocalDateTime transferAt;
    private LocalDateTime createdAt;
    private LocalDateTime updatedAt;
}
