package com.ga.core.vo.settle;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size;
import lombok.Data;

/**
 * 보험사 회신 전송 등록 요청 VO.
 * 배치에서 파일 생성 후 전송 이력 등록 시 사용.
 */
@Data
public class CarrierReconciliationOutSaveReq {

    @NotNull(message = "보험사 ID는 필수입니다")
    private Long carrierId;

    @NotBlank(message = "정산월은 필수입니다")
    @Pattern(regexp = "\\d{6}", message = "정산월은 6자리 숫자(YYYYMM)여야 합니다")
    private String settleMonth;

    @Size(max = 1000)
    private String filePath;

    @Size(max = 300)
    private String fileName;

    private Long fileSize;
    private Integer recordCount;
}
