package com.ga.core.vo.external;

import lombok.Data;

import java.time.LocalDateTime;

/**
 * external_call_log — 외부 연동(펌뱅킹/SMS·카카오) 호출 감사 이력 (V85).
 * AOP @Around 가 INSERT. 운영 감사·장애 추적용. PII 는 이미 어댑터에서 마스킹된 값만 들어간다.
 */
@Data
public class ExternalCallLogVO {
    private Long logId;
    /** BANK / MESSAGE */
    private String callType;
    /** 실제 호출된 구현체 (Mock/Kftc/Toast) */
    private String adapterClass;
    /** requestTransfer / queryStatus / send */
    private String methodName;
    /** WITHDRAW / APPROVAL 등 (가능 시) */
    private String targetRefType;
    private Long   targetRefId;
    /** 요청 요약 (마스킹된 JSON 한 줄) */
    private String requestSummary;
    private String responseSummary;
    private String resultCode;
    private String resultMessage;
    private Boolean success;
    private Integer durationMs;
    private String errorClass;
    private String errorMessage;
    private LocalDateTime calledAt;
    private Long createdBy;
}
