package com.ga.core.vo.commission;

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

/**
 * clawback_receivable 대손/직접상환 처리 요청 (write-off 전용).
 * 수동 회수 엔드포인트 없음 — 회수는 배치 상계만.
 */
@Data
public class ClawbackReceivableSaveReq {

    /**
     * 전이할 상태: CLEARED(직접상환) 또는 WRITTEN_OFF(대손).
     * OUTSTANDING/RECOVERING 인 채권에만 적용 가능.
     */
    @NotBlank
    private String status;

    /** 대손/직접상환 사유 */
    @NotNull
    @NotBlank
    private String writeoffReason;
}
