package com.ga.core.vo.commission;

import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * commission_master — 전 수수료 종류 통합 마스터 (V40)
 * 모든 수수료 원장(recruit_ledger / collection_commission_ledger 등)에서
 * 산출된 결과를 단일 허브로 집계. INSERT/UPDATE 전용.
 */
@Data
public class CommissionMasterVO {
    private Long masterId;
    private Long agentId;
    /** COMMISSION_TYPE 코드 (CommissionType enum) */
    private String commissionType;
    /** 정산 귀속월 YYYYMM */
    private String settleMonth;
    /** 원본 원장 테이블명 (예: recruit_ledger) */
    private String sourceTable;
    /** 원본 원장 PK */
    private Long sourceId;
    private BigDecimal grossAmount;
    private BigDecimal taxAmount;
    private BigDecimal netAmount;
    /** CALCULATED / CONFIRMED / PAID / CANCELLED */
    private String status;
    private LocalDateTime createdAt;
    private LocalDateTime updatedAt;
}
