package com.ga.core.vo.settle;

import lombok.Data;

import java.time.LocalDateTime;

/**
 * 보험사 회신 아웃바운드 VO (carrier_reconciliation_out 테이블 1:1)
 * INSERT/UPDATE 전용.
 */
@Data
public class CarrierReconciliationOutVO {
    private Long reconOutId;
    private Long carrierId;           // insurance_company.company_id
    private String settleMonth;       // YYYYMM
    private String filePath;          // 전송 파일 경로 (SFTP/S3)
    private String fileName;          // 파일명
    private Long fileSize;            // 파일 크기 (bytes)
    private Integer recordCount;      // 레코드 수
    private String status;            // READY/SENT/ACK/FAIL
    private LocalDateTime sentAt;     // 전송 일시
    private LocalDateTime ackAt;      // 보험사 수신 확인 일시
    private String ackMessage;        // 보험사 회신 메시지
    private String failReason;        // 실패 사유
    private Integer retryCount;       // 재시도 횟수
    private LocalDateTime lastRetryAt;
    private LocalDateTime createdAt;
    private Long createdBy;
    private LocalDateTime updatedAt;
}
