package cn.nianxx.thhotel.platform.documentconversion.common.result;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;

/**
 * Excel 转 PDF 手动上传接口结果。返回 PDF 的 OSS 访问信息和安全转换摘要。
 *
 * @param conversionStatus 转换状态
 * @param sourceFileName 上传 Excel 文件名
 * @param sourceSizeBytes 上传 Excel 文件大小字节数
 * @param pdfFileName 生成 PDF 文件名
 * @param pdfUrl PDF OSS 访问 URL
 * @param objectKey PDF OSS 对象路径
 * @param contentType PDF MIME 类型
 * @param pdfSizeBytes PDF 文件大小字节数
 * @param durationMillis 转换耗时毫秒
 * @param safeErrorSummary 安全错误摘要，成功时为空
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
public record ExcelToPdfConversionResult(
        @JsonProperty("conversion_status")
        String conversionStatus,
        @JsonProperty("source_file_name")
        String sourceFileName,
        @JsonProperty("source_size_bytes")
        Long sourceSizeBytes,
        @JsonProperty("pdf_file_name")
        String pdfFileName,
        @JsonProperty("pdf_url")
        String pdfUrl,
        @JsonProperty("object_key")
        String objectKey,
        @JsonProperty("content_type")
        String contentType,
        @JsonProperty("pdf_size_bytes")
        Long pdfSizeBytes,
        @JsonProperty("duration_millis")
        Long durationMillis,
        @JsonProperty("safe_error_summary")
        String safeErrorSummary
) {
}
