package com.ga.core.vo.commission;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.PositiveOrZero;
import lombok.Data;

import java.math.BigDecimal;

/**
 * commission_master 등록/수정 요청 DTO.
 * ID, 상태, 일시 필드는 제외. 배치 upsert 시에도 이 필드 셋을 사용.
 */
@Data
public class CommissionMasterSaveReq {
    @NotNull
    private Long agentId;

    @NotBlank
    private String commissionType;

    @NotBlank
    private String settleMonth;

    @NotBlank
    private String sourceTable;

    @NotNull
    private Long sourceId;

    @NotNull
    @PositiveOrZero
    private BigDecimal grossAmount;

    @NotNull
    @PositiveOrZero
    private BigDecimal taxAmount;

    @NotNull
    @PositiveOrZero
    private BigDecimal netAmount;
}
