package com.ga.core.vo.regulatory;

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

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

@Data
public class RegulatoryLimitSaveReq {

    @NotBlank(message = "한도유형은 필수입니다")
    private String limitType;

    private String productCategory;

    @NotNull(message = "한도값은 필수입니다")
    @Positive(message = "한도값은 양수여야 합니다")
    private BigDecimal limitValue;

    @NotBlank(message = "단위는 필수입니다")
    private String unit;

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

    private LocalDate effectiveTo;

    @Size(max = 100)
    private String regulationRef;

    @Size(max = 500)
    private String description;
}
