feat(personal): add scanned PDF OCR schema

This commit is contained in:
2026-07-12 21:14:53 +08:00
parent 92e2140abf
commit 88bfe1d815
3 changed files with 68 additions and 2 deletions
@@ -128,3 +128,42 @@ CREATE TABLE IF NOT EXISTS `aihr_personal_cleanup_job` (
UNIQUE KEY `uk_personal_cleanup_item` (`tenant_id`, `owner_user_id`, `item_id`),
KEY `idx_personal_cleanup_status` (`status`, `update_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='个人AI助理资料清理任务';
CREATE TABLE IF NOT EXISTS `aihr_personal_ocr_job` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'OCR任务ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户编号',
`owner_user_id` bigint NOT NULL COMMENT '资料所属用户ID',
`item_id` bigint NOT NULL COMMENT '资料ID',
`status` varchar(20) NOT NULL DEFAULT 'PENDING' COMMENT 'PENDING/RUNNING/RETRY/COMPLETED/FAILED',
`total_pages` int NOT NULL COMMENT 'PDF总页数',
`processed_pages` int NOT NULL DEFAULT 0 COMMENT '已处理页数',
`success_pages` int NOT NULL DEFAULT 0 COMMENT '识别成功页数',
`failed_pages` int NOT NULL DEFAULT 0 COMMENT '识别失败页数',
`failed_page_numbers_json` json COMMENT '识别失败页码JSON',
`next_page` int NOT NULL DEFAULT 1 COMMENT '下一待处理页码,从1开始',
`attempt_count` int NOT NULL DEFAULT 0 COMMENT '任务领取次数',
`last_error_code` varchar(80) DEFAULT NULL COMMENT '脱敏后的错误码',
`lease_until` datetime DEFAULT NULL COMMENT '任务租约截止时间',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_personal_ocr_job_item` (`tenant_id`, `owner_user_id`, `item_id`),
KEY `idx_personal_ocr_job_status` (`status`, `update_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='个人AI助理扫描PDF OCR任务';
CREATE TABLE IF NOT EXISTS `aihr_personal_ocr_page` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT 'OCR页记录ID',
`tenant_id` varchar(20) NOT NULL COMMENT '租户编号',
`owner_user_id` bigint NOT NULL COMMENT '资料所属用户ID',
`item_id` bigint NOT NULL COMMENT '资料ID',
`page_number` int NOT NULL COMMENT '页码,从1开始',
`status` varchar(20) NOT NULL DEFAULT 'PENDING' COMMENT 'PENDING/RUNNING/SUCCESS/FAILED',
`ocr_text` longtext COMMENT '页级OCR文本',
`attempt_count` int NOT NULL DEFAULT 0 COMMENT '识别尝试次数',
`last_error_code` varchar(80) DEFAULT NULL COMMENT '脱敏后的错误码',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_personal_ocr_page_number` (`tenant_id`, `owner_user_id`, `item_id`, `page_number`),
KEY `idx_personal_ocr_page_status` (`status`, `update_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='个人AI助理扫描PDF OCR页结果';