package com.ga.core.vo.commission;

import jakarta.validation.constraints.DecimalMin;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.math.BigDecimal;

/**
 * clawback_installment_plan 단건 등록 요청 (V118).
 * 일괄 생성은 Service의 generate(receivableId, count) 사용.
 */
@Data
public class ClawbackInstallmentPlanSaveReq {

    @NotNull
    private Long receivableId;

    @NotNull
    @Min(1)
    private Integer installmentNo;

    @NotNull
    @DecimalMin(value = "0", inclusive = false)
    private BigDecimal installmentAmount;

    @NotBlank
    private String dueMonth;
}
