-- 完整建表语句：label_pdf_cache 表
CREATE TABLE `label_pdf_cache` (
  `Id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID，自增',
  `NeutralWaybillNumber` varchar(50) NOT NULL COMMENT '中性面单单号',
  `PdfBytes` longblob COMMENT 'PDF二进制字节流',
  `PageCount` int DEFAULT NULL COMMENT 'PDF实际页数',
  `FileSize` int DEFAULT NULL COMMENT '文件大小（字节）',
  `OriginalUrl` varchar(500) DEFAULT NULL COMMENT '原始标签URL，便于追踪和重新下载',
  `Status` tinyint NOT NULL DEFAULT '0' COMMENT '缓存状态：0=待处理，1=处理成功，2=处理失败，3=已失效',
  `RetryCount` int NOT NULL DEFAULT '0' COMMENT '已重试次数，默认0',
  `LastRetryTime` datetime DEFAULT NULL COMMENT '最后重试时间',
  `ErrorMessage` varchar(500) DEFAULT NULL COMMENT '处理失败错误信息',
  `CreatedTime` datetime NOT NULL COMMENT '创建时间',
  `UpdatedTime` datetime NOT NULL COMMENT '更新时间',
  `FinalMileTrackingNumber` varchar(100) DEFAULT NULL COMMENT '尾程跟踪单号（与订单表字段一致）',
  `CustomerId` int DEFAULT NULL COMMENT '客户ID（与订单表字段一致，关联customers表）',
  `BarcodeNumber` varchar(100) DEFAULT NULL COMMENT '提取到的条码单号',
  `BarcodeType` tinyint NOT NULL DEFAULT '0' COMMENT '条码类型：0=未识别到，1=一维码，2=二维码',
  `BarcodeConfidence` int DEFAULT NULL COMMENT '识别置信度（0-100，数值越高识别结果越可靠）',
  `BarcodeExtractTime` datetime DEFAULT NULL COMMENT '条码提取完成时间',
  `ParseDurationMs` int DEFAULT NULL COMMENT 'PDF解析花费的时间（毫秒）',
  PRIMARY KEY (`Id`),
  UNIQUE KEY `IX_NeutralWaybillNumber` (`NeutralWaybillNumber`) COMMENT '中性面单号唯一索引',
  KEY `IX_Status_UpdatedTime` (`Status`,`UpdatedTime` DESC) COMMENT '缓存状态和更新时间复合索引',
  KEY `IX_CustomerId` (`CustomerId`) COMMENT '客户ID索引',
  KEY `IX_FinalMileTrackingNumber` (`FinalMileTrackingNumber`) COMMENT '尾程跟踪号索引'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='面单PDF缓存表';
