package com.ga.core.vo.commission;

import lombok.Data;

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

/**
 * referral_commission_ledger — 소개·이관수수료 원장 (V89)
 * commission_amount = base_amount × commission_rate (RATE) or fixed_amount (FIXED)
 */
@Data
public class ReferralCommissionLedgerVO {
    private Long ledgerId;
    private Long contractId;
    /** 소개/이관한 설계사 FK */
    private Long referrerAgentId;
    /** 정산 귀속월 (YYYYMM) */
    private String settleMonth;
    /** ReferralType: REFERRAL / TRANSFER */
    private String referralType;
    /** 기준금액 (수수료 또는 보험료) */
    private BigDecimal baseAmount;
    /** 적용 정률 요율 (RATE 방식 시) */
    private BigDecimal commissionRate;
    /** 수수료액 */
    private BigDecimal commissionAmount;
    /** CALCULATED / CONFIRMED / CANCELLED */
    private String status;
    private LocalDateTime createdAt;
    private LocalDateTime updatedAt;
}
