Files
tougao/sql/add_plagiarism_check_table.sql
2026-05-07 11:45:55 +08:00

45 lines
2.7 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- 查重任务表Turnitin TCA / Crossref Similarity Check
--
-- 一篇 article 可重复触发多次查重;同一 article 的最近一次显示在编辑详情页。
-- state 流转0 待上传 → 1 上传中 → 2 比对中 → 3 完成 → 4 失败
-- 失败可重新触发,会创建新行(保留历史)
--
-- 报告永久保留pdf_local_path 指向 runtime/plagiarism/ 下的本地 PDF
-- view_only_url 是 Turnitin 临时签名(数小时过期),过期需重新生成
DROP TABLE IF EXISTS `t_plagiarism_check`;
CREATE TABLE `t_plagiarism_check` (
`check_id` INT NOT NULL AUTO_INCREMENT,
`article_id` INT NOT NULL DEFAULT 0 COMMENT '关联投稿 t_article.article_id',
`journal_id` INT NOT NULL DEFAULT 0 COMMENT '所属期刊(冗余便于按期刊统计)',
`triggered_by` INT NOT NULL DEFAULT 0 COMMENT '触发人 user_id手工触发时编辑的 user_id',
`trigger_source` VARCHAR(32) NOT NULL DEFAULT 'manual' COMMENT 'manual/auto_initial_review/...',
`state` TINYINT NOT NULL DEFAULT 0 COMMENT '0待上传 1上传中 2比对中 3完成 4失败',
-- Turnitin 端的实体 ID
`tii_submission_id` VARCHAR(64) NOT NULL DEFAULT '' COMMENT 'Turnitin submission UUID',
`tii_report_status` VARCHAR(32) NOT NULL DEFAULT '' COMMENT 'PROCESSING/COMPLETE/ERROR',
-- 结果
`similarity_score` DECIMAL(5,2) NOT NULL DEFAULT 0 COMMENT '总相似度 %(如 12.34',
`view_only_url` VARCHAR(1024) NOT NULL DEFAULT '' COMMENT '在线查看报告 URL临时签名',
`view_only_url_expire` INT NOT NULL DEFAULT 0 COMMENT '在线查看 URL 过期时间戳',
`pdf_local_path` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '本地缓存的 PDF 报告相对路径',
-- 文件元数据(上传时记录,便于追踪)
`source_file_name` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '原始 PDF 文件名',
`source_file_size` INT NOT NULL DEFAULT 0 COMMENT '原始 PDF 字节数',
-- 调试与重试
`attempts` INT NOT NULL DEFAULT 0 COMMENT '总轮询/重试次数',
`error_msg` VARCHAR(1024) NOT NULL DEFAULT '' COMMENT '失败原因',
`raw_response` MEDIUMTEXT COMMENT '最近一次 Turnitin API 原始返回(调试用)',
`ctime` INT NOT NULL DEFAULT 0,
`utime` INT NOT NULL DEFAULT 0,
PRIMARY KEY (`check_id`),
KEY `idx_article` (`article_id`, `state`),
KEY `idx_state` (`state`),
KEY `idx_tii_submission` (`tii_submission_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COMMENT='Turnitin 查重任务表';