package com.ga.core.vo.chargeback;

import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Positive;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;

@Data
public class ChargebackGradeSaveReq {

    private String productCategory;   // NULL = 전체 상품

    @NotNull(message = "경과월 시작은 필수입니다")
    @Min(value = 0, message = "경과월 시작은 0 이상이어야 합니다")
    private Integer monthsFrom;

    private Integer monthsTo;         // NULL = 무한대

    @NotNull(message = "환수율은 필수입니다")
    @Min(value = 0, message = "환수율은 0 이상이어야 합니다")
    private BigDecimal chargebackPercent;

    @NotNull(message = "적용 시작일은 필수입니다")
    private LocalDate effectiveFrom;

    private LocalDate effectiveTo;
}
