package com.ga.core.vo.settle;

import lombok.Data;

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

/**
 * 수수료 이의신청 VO (commission_dispute 테이블 1:1)
 * INSERT/UPDATE 전용.
 */
@Data
public class CommissionDisputeVO {
    private Long disputeId;
    private Long agentId;
    private String settleMonth;          // YYYYMM
    private Long settleId;               // 연관 정산 (선택)
    private String status;               // OPEN/IN_REVIEW/APPROVED/REJECTED
    private BigDecimal disputedAmount;   // 이의 제기 금액 (NULL=전체)
    private BigDecimal claimAmount;      // 설계사 주장 금액
    private String reason;               // 이의 신청 사유
    private String evidenceUrl;          // 증빙 자료 URL
    private Long reviewerId;             // 검토 담당자
    private LocalDateTime reviewedAt;    // 검토 시작 일시
    private Long resolvedBy;             // 최종 처리자
    private LocalDateTime resolvedAt;    // 최종 처리 일시
    private String resolution;           // 처리 결과 상세
    private BigDecimal adjustmentAmount; // 인정된 조정 금액 (APPROVED 시)
    private Long correctionId;           // 연계 정정건
    private LocalDateTime createdAt;
    private LocalDateTime updatedAt;
}
