feat(personal): expose authenticated API and deletion workflow

This commit is contained in:
2026-07-12 11:41:47 +08:00
parent 664fdb639b
commit b559bb315b
9 changed files with 957 additions and 9 deletions
@@ -96,3 +96,19 @@ CREATE TABLE IF NOT EXISTS `aihr_personal_chat_message` (
KEY `idx_personal_message_session` (`session_id`, `create_time`),
KEY `idx_personal_message_owner` (`tenant_id`, `owner_user_id`, `session_id`, `create_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='个人AI助理对话消息';
CREATE TABLE IF NOT EXISTS `aihr_personal_cleanup_job` (
`id` bigint NOT NULL COMMENT '清理任务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/RETRY/DONE',
`attempt_count` int NOT NULL DEFAULT 0 COMMENT '执行次数',
`last_error` varchar(100) DEFAULT NULL COMMENT '脱敏后的错误类型',
`completed_at` 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_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助理资料清理任务';