package cn.iocoder.yudao.module.qcreport.controller.admin.instance.vo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; /** * PDF 出件结果:把实例里已存的渲染产物 HTML 打印成 PDF 并归档到附件库。 */ @Schema(description = "管理后台 - 智能质检报告 PDF 出件 Response VO") @Data public class QcReportInstancePdfRespVO { @Schema(description = "实例编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") private Long id; @Schema(description = "报告编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "QR20260918-0001") private String reportNo; @Schema(description = "PDF 文件名", requiredMode = Schema.RequiredMode.REQUIRED, example = "QR20260918-0001.pdf") private String fileName; @Schema(description = "PDF 字节数", requiredMode = Schema.RequiredMode.REQUIRED, example = "58214") private Long byteSize; @Schema(description = "文件编号(system_storage_blob 主键)", example = "2048") private Long blobId; @Schema(description = "附件关联编号(system_storage_attachment 主键)", example = "4096") private Long attachmentId; @Schema(description = "预览地址(临时签名,会过期;要长期可用请重新查询附件列表)") private String previewURL; @Schema(description = "下载地址(临时签名,会过期;要长期可用请重新查询附件列表)") private String downloadURL; @Schema(description = "本次出件总耗时(毫秒)", example = "1820") private Long durationMs; @Schema(description = "打印耗时(毫秒),仅含等页面资源与打印,与总耗时之差为排队/启动等待", example = "940") private Long pdfDurationMs; @Schema(description = "浏览器状态:READY(复用已有实例)/ RESTARTED(本次重启了浏览器)", example = "READY") private String browserStatus; }