-- 面单PDF缓存表建表语句
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 '文件大小（字节）',
  `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 '条码提取完成时间',
  PRIMARY KEY (`Id`),
  UNIQUE KEY `IX_NeutralWaybillNumber` (`NeutralWaybillNumber`),
  KEY `IX_Status_RetryCount` (`Status`,`RetryCount`),
  KEY `IX_CustomerId` (`CustomerId`),
  KEY `IX_FinalMileTrackingNumber` (`FinalMileTrackingNumber`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='面单PDF缓存表';
