package com.ga.core.vo.commission;

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

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

@Data
public class PersistencyBonusRuleSaveReq {
    private Long gradeId;

    @NotNull
    private Integer retentionMonth;

    @NotNull
    @DecimalMin(value = "0", inclusive = false)
    @DecimalMax("1")
    private BigDecimal retentionRateThreshold;

    @NotBlank
    private String bonusType;

    @NotNull
    private BigDecimal bonusValue;

    @NotNull
    private LocalDate effectiveFrom;

    private LocalDate effectiveTo;
}
