feat: 创建评审模块数据库表
包含5张表:评委表、评审规则表、作品评委分配表、作品评分表、预设评语表 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
2f521c7249
commit
015f8718c4
@ -0,0 +1,127 @@
|
|||||||
|
-- 评审模块建表脚本
|
||||||
|
-- 执行时间:2026-04-07
|
||||||
|
|
||||||
|
-- ============================================================
|
||||||
|
-- 1. 评委表
|
||||||
|
-- ============================================================
|
||||||
|
CREATE TABLE IF NOT EXISTS t_biz_contest_judge (
|
||||||
|
id BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
contest_id BIGINT NOT NULL COMMENT '赛事ID',
|
||||||
|
judge_id BIGINT NOT NULL COMMENT '评委用户ID',
|
||||||
|
specialty VARCHAR(100) DEFAULT NULL COMMENT '专业领域',
|
||||||
|
weight DECIMAL(3,2) DEFAULT 1.00 COMMENT '评委权重 0-1',
|
||||||
|
description VARCHAR(500) DEFAULT NULL COMMENT '评委描述',
|
||||||
|
-- BaseEntity 审计字段
|
||||||
|
create_by VARCHAR(64) DEFAULT NULL COMMENT '创建人账号',
|
||||||
|
update_by VARCHAR(64) DEFAULT NULL COMMENT '更新人账号',
|
||||||
|
deleted TINYINT NOT NULL DEFAULT 0 COMMENT '逻辑删除:0-未删除,1-已删除',
|
||||||
|
creator INT DEFAULT NULL COMMENT '创建人ID',
|
||||||
|
modifier INT DEFAULT NULL COMMENT '修改人ID',
|
||||||
|
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
modify_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||||
|
valid_state TINYINT NOT NULL DEFAULT 1 COMMENT '有效状态:1-有效,2-失效',
|
||||||
|
PRIMARY KEY (id),
|
||||||
|
INDEX idx_contest_id (contest_id),
|
||||||
|
INDEX idx_judge_id (judge_id)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='赛事评委表';
|
||||||
|
|
||||||
|
-- ============================================================
|
||||||
|
-- 2. 评审规则表
|
||||||
|
-- ============================================================
|
||||||
|
CREATE TABLE IF NOT EXISTS t_biz_contest_review_rule (
|
||||||
|
id BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
tenant_id BIGINT DEFAULT NULL COMMENT '租户ID',
|
||||||
|
rule_name VARCHAR(200) NOT NULL COMMENT '规则名称',
|
||||||
|
rule_description VARCHAR(500) DEFAULT NULL COMMENT '规则描述',
|
||||||
|
judge_count INT NOT NULL DEFAULT 3 COMMENT '评委数量',
|
||||||
|
dimensions JSON DEFAULT NULL COMMENT '评分维度 JSON [{name,percentage,description}]',
|
||||||
|
calculation_rule VARCHAR(50) NOT NULL DEFAULT 'average' COMMENT '计算规则:average/remove_max_min/remove_min/max/weighted',
|
||||||
|
-- BaseEntity 审计字段
|
||||||
|
create_by VARCHAR(64) DEFAULT NULL COMMENT '创建人账号',
|
||||||
|
update_by VARCHAR(64) DEFAULT NULL COMMENT '更新人账号',
|
||||||
|
deleted TINYINT NOT NULL DEFAULT 0 COMMENT '逻辑删除:0-未删除,1-已删除',
|
||||||
|
creator INT DEFAULT NULL COMMENT '创建人ID',
|
||||||
|
modifier INT DEFAULT NULL COMMENT '修改人ID',
|
||||||
|
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
modify_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||||
|
valid_state TINYINT NOT NULL DEFAULT 1 COMMENT '有效状态:1-有效,2-失效',
|
||||||
|
PRIMARY KEY (id),
|
||||||
|
INDEX idx_tenant_id (tenant_id)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='评审规则表';
|
||||||
|
|
||||||
|
-- ============================================================
|
||||||
|
-- 3. 作品评委分配表
|
||||||
|
-- ============================================================
|
||||||
|
CREATE TABLE IF NOT EXISTS t_biz_contest_work_judge_assignment (
|
||||||
|
id BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
contest_id BIGINT NOT NULL COMMENT '赛事ID',
|
||||||
|
work_id BIGINT NOT NULL COMMENT '作品ID',
|
||||||
|
judge_id BIGINT NOT NULL COMMENT '评委用户ID',
|
||||||
|
assignment_time DATETIME DEFAULT NULL COMMENT '分配时间',
|
||||||
|
status VARCHAR(20) NOT NULL DEFAULT 'assigned' COMMENT '状态:assigned/reviewing/completed',
|
||||||
|
creator INT DEFAULT NULL COMMENT '创建人ID',
|
||||||
|
modifier INT DEFAULT NULL COMMENT '修改人ID',
|
||||||
|
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
modify_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||||
|
PRIMARY KEY (id),
|
||||||
|
INDEX idx_contest_work (contest_id, work_id),
|
||||||
|
INDEX idx_judge_status (judge_id, status),
|
||||||
|
UNIQUE INDEX uk_contest_work_judge (contest_id, work_id, judge_id)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='作品评委分配表';
|
||||||
|
|
||||||
|
-- ============================================================
|
||||||
|
-- 4. 作品评分表
|
||||||
|
-- ============================================================
|
||||||
|
CREATE TABLE IF NOT EXISTS t_biz_contest_work_score (
|
||||||
|
id BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
tenant_id BIGINT DEFAULT NULL COMMENT '租户ID',
|
||||||
|
contest_id BIGINT NOT NULL COMMENT '赛事ID',
|
||||||
|
work_id BIGINT NOT NULL COMMENT '作品ID',
|
||||||
|
assignment_id BIGINT DEFAULT NULL COMMENT '分配记录ID',
|
||||||
|
judge_id BIGINT NOT NULL COMMENT '评委用户ID',
|
||||||
|
judge_name VARCHAR(100) DEFAULT NULL COMMENT '评委姓名',
|
||||||
|
dimension_scores JSON DEFAULT NULL COMMENT '维度评分 JSON [{dimension,score}]',
|
||||||
|
total_score DECIMAL(10,2) DEFAULT NULL COMMENT '总分',
|
||||||
|
comments TEXT DEFAULT NULL COMMENT '评语',
|
||||||
|
score_time DATETIME DEFAULT NULL COMMENT '评分时间',
|
||||||
|
-- BaseEntity 审计字段
|
||||||
|
create_by VARCHAR(64) DEFAULT NULL COMMENT '创建人账号',
|
||||||
|
update_by VARCHAR(64) DEFAULT NULL COMMENT '更新人账号',
|
||||||
|
deleted TINYINT NOT NULL DEFAULT 0 COMMENT '逻辑删除:0-未删除,1-已删除',
|
||||||
|
creator INT DEFAULT NULL COMMENT '创建人ID',
|
||||||
|
modifier INT DEFAULT NULL COMMENT '修改人ID',
|
||||||
|
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
modify_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||||
|
valid_state TINYINT NOT NULL DEFAULT 1 COMMENT '有效状态:1-有效,2-失效',
|
||||||
|
PRIMARY KEY (id),
|
||||||
|
INDEX idx_work_id (work_id),
|
||||||
|
INDEX idx_contest_id (contest_id),
|
||||||
|
INDEX idx_judge_id (judge_id),
|
||||||
|
INDEX idx_assignment_id (assignment_id)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='作品评分表';
|
||||||
|
|
||||||
|
-- ============================================================
|
||||||
|
-- 5. 预设评语表
|
||||||
|
-- ============================================================
|
||||||
|
CREATE TABLE IF NOT EXISTS t_biz_preset_comment (
|
||||||
|
id BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
contest_id BIGINT DEFAULT NULL COMMENT '赛事ID(null 表示全局)',
|
||||||
|
judge_id BIGINT DEFAULT NULL COMMENT '评委ID(null 表示通用)',
|
||||||
|
content VARCHAR(1000) NOT NULL COMMENT '评语文本',
|
||||||
|
category VARCHAR(50) DEFAULT NULL COMMENT '评语分类',
|
||||||
|
score DECIMAL(10,2) DEFAULT NULL COMMENT '关联分数',
|
||||||
|
sort_order INT DEFAULT 0 COMMENT '排序',
|
||||||
|
use_count INT NOT NULL DEFAULT 0 COMMENT '使用次数',
|
||||||
|
-- BaseEntity 审计字段
|
||||||
|
create_by VARCHAR(64) DEFAULT NULL COMMENT '创建人账号',
|
||||||
|
update_by VARCHAR(64) DEFAULT NULL COMMENT '更新人账号',
|
||||||
|
deleted TINYINT NOT NULL DEFAULT 0 COMMENT '逻辑删除:0-未删除,1-已删除',
|
||||||
|
creator INT DEFAULT NULL COMMENT '创建人ID',
|
||||||
|
modifier INT DEFAULT NULL COMMENT '修改人ID',
|
||||||
|
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
modify_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
|
||||||
|
valid_state TINYINT NOT NULL DEFAULT 1 COMMENT '有效状态:1-有效,2-失效',
|
||||||
|
PRIMARY KEY (id),
|
||||||
|
INDEX idx_contest_id (contest_id),
|
||||||
|
INDEX idx_judge_id (judge_id)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='预设评语表';
|
||||||
Loading…
Reference in New Issue
Block a user