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 jakarta.validation.constraints.Positive;
import lombok.Data;

/**
 * income_commission_ledger 등록/수정 요청.
 * income_amount는 Service가 계산 후 VO에 set하므로 요청에 포함하지 않는다.
 */
@Data
public class IncomeCommissionLedgerSaveReq {

    @NotNull
    private Long contractId;

    @NotNull
    private Long carrierId;

    @NotBlank
    private String settleMonth;

    @NotNull
    @Positive
    private java.math.BigDecimal premiumAmount;

    @NotNull
    @DecimalMin("0")
    @DecimalMax("1")
    private java.math.BigDecimal companyRate;

    @NotBlank
    private String commissionType;
}
