数据库说明
# 数据库说明
# 用户资料模块
user_info表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| uuid | String | 主键 | uuid用户id |
| username | String | 登录账号 | |
| password | String | 登录密码 | |
| nickname | String | 用户昵称 | |
| school | String | 学校 | |
| course | String | 专业 | |
| number | String | 学号 | |
| realname | String | 真实名字 | |
| String | 邮箱 | ||
| gender | String | 性别 | |
| avatar | String | 头像图片地址 | |
| signature | String | 个性签名 | |
| cf_username | String | codeforces的username | |
| blog | String | 博客地址 | |
| github | String | github地址 | |
| title_name | String | 称号、头衔 | |
| title_color | String | 称号、头衔的背景颜色 | |
| status | int | 0可用,1不可用 | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
session表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | 主键 | auto_increment |
| uid | String | 外键 | 用户id |
| user_agent | String | 访问的浏览器参数 | |
| ip | Srting | 访问所在的ip | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
role 角色表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | 主键 | auto_increment |
| role | String | “admin”,”tourist”,“user” | |
| description | String | 角色描述 | |
| status | int | 是否可用,0可用 1不可用 | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
user_role表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | 主键 | auto_increment |
| uid | String | 外键 | 用户id |
| role_id | int | 外键 | 角色id |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
auth权限表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | 主键 | auto_increment |
| name | String | 权限名称,“superadmin”,”contest”,“admin”,”common” 普通用户默认为“common” | |
| permission | String | 权限字符串,例如“contest:1001”,发布某场比赛。 “all”,”select”,”update”等等, | |
| status | int | 0可用,1不可用 | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
role_auth表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | 主键 | auto_increment |
| role_id | int | 角色id | |
| auth_id | int | 权限id | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
user_record表 个人做题记录表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | primary key | auto_increment |
| uid | String | 外键 | 用户id |
| rating | int | Cf得分,未参加过默认为1500 | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
user_acproblem表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | primary key | auto_increment |
| uid | String | 外键 | 用户id |
| pid | long | 外键 | Ac的题目id |
| subimit_id | long | 外键 | 提交的id |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
# 题目详情模块
problem表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | primary key | auto_increment 1000开始 |
| judge_mode | String | 默认为default、其他值有spj、interactive | |
| problem_id | String | 题目展示id | |
| title | String | 题目标题 | |
| author | String | 默认可为无 | |
| type | int | 题目类型 0为ACM,1为OI | |
| time_limit | int | 时间限制(ms),默认为c/c++限制,其它语言为2倍 | |
| memory_limit | int | 空间限制(mb),默认为c/c++限制,其它语言为2倍 | |
| stack_limit | int | 栈限制(mb),默认为128 | |
| description | String | 内容描述 | |
| input | String | 输入描述 | |
| output | String | 输出描述 | |
| examples | Srting | 题面输入输出样例,不纳入评测数据 | |
| source | int | 题目来源(比赛id),默认为hoj,可能为爬虫vj | |
| difficulty | int | 题目难度,0简单,1中等,2困难 | |
| hint | String | 备注 提醒 | |
| auth | int | 默认为1公开,2为私有,3为比赛中。 | |
| io_score | int | 当该题目为io题目时的分数 默认为100 | |
| code_share | boolean | 该题目对应的相关提交代码,用户是否可用分享 | |
| spj_code | String | 特判或交互程序代码 | |
| spj_language | String | 特判或交互程序的语言 | |
| user_extra_file | String | 选手程序的额外文件 json key:文件名 value:文件内容 | |
| judge_extra_file | String | 特判或交互程序的额外文件 json key:文件名 value:文件内容 | |
| is_remove_end_blank | boolean | 是否默认去除用户代码的文末空格 | |
| open_case_result | boolean | 是否默认开启该题目的测试样例结果查看 | |
| caseVersion | String | 题目测试数据的版本号 | |
| is_upload_case | boolean | 是否是上传zip评测数据的 | |
| modified_user | String | 最新修改题目的用户 | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
problem_case表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | primary key | auto_increment |
| pid | long | 外键 | 题目id |
| input | String | 测试样例的输入文件名 | |
| output | String | 测试样例的输出文件名 | |
| status | String | 状态0可用,1不可用 | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
tag表 题目表的标签
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | 主键 | auto_increment |
| name | String | 标签名字 | |
| color | String | 标签颜色 | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
problem_tag表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | int | 主键id | |
| tid | int | 标签id | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
language表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | 主键id | |
| content_type | String | 语言类型 | |
| description | String | 语言描述 | |
| name | String | 语言名字 | |
| compile_command | String | 编译指令 | |
| template | String | A+B题目模板 | |
| code_template | String | 语言对应的代码模板 | |
| is_spj | boolean | 是否可作为特殊判题的一种语言 | |
| oj | String | 该语言属于哪个oj,自身oj用ME | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
code_template表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | 主键id | |
| pid | long | 外键 | 题目id |
| lid | long | 外键 | 语言id |
| code | String | 代码模板 | |
| status | boolean | 是否启用 | |
| gmt_create | datetime | 修改时间 | |
| gmt_modified | datetime | 修改时间 |
# 提交评测模块
判题结果status
未提交:STATUS_NOT_SUBMITTED = -10
提交中:STATUS_SUBMITTING = 9
排队中:STATUS_PENDING = 6
评测中:STATUS_JUDGING = 7
编译错误:STATUS_COMPILE_ERROR = -2
输出格式错误:STATUS_PRESENTATION_ERROR = -3
答案错误:STATUS__WRONG_ANSWER = -1
评测通过:STATUS_ACCEPTED = 0
cpu时间超限:STATUS__CPU_TIME_LIMIT_EXCEEDED = 1
真实时间超限:STATUS__REAL_TIME_LIMIT_EXCEEDED = 2
空间超限:STATUS__MEMORY_LIMIT_EXCEEDED = 3
运行错误:STATUS__RUNTIME_ERROR = 4
系统错误:STATUS__SYSTEM_ERROR = 5
OI评测部分通过:STATUS_PARTIAL_ACCEPTED = 8
提交失败:STATUS_SUBMITTED_FAILED= 10
judge表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| submit_id | long | primary key | auto_increment |
| display_pid | String | 题目展示id | |
| pid | long | 外键 | 题目id |
| uid | String | 外键 | 提交用户的id |
| username | String | 外键 | 用户名 |
| submit_time | datetime | 提交时间 | |
| status | String | 判题结果 | |
| share | Boolean | 代码是否分享 | |
| error_message | String | 错误提醒(编译错误,或者vj提醒) | |
| time | int | 运行时间 | |
| memory | int | 所耗内存 | |
| length | int | 代码长度 | |
| code | String | 代码 | |
| language | String | 代码语言 | |
| cpid | int | 比赛中的题目编号id | |
| judger | String | 判题机ip | |
| ip | String | 提交者ip | |
| cid | int | 题目来源的比赛id,默认为0 | |
| version | int | 乐观锁(废弃) | |
| oi_rank_score | int | oi排行榜得分 | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
jugde_case表 评测单个样例结果表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| submit_id | long | 外键 | 提交id |
| problem_id | String | 外键 | 题目展示id |
| userId | String | 外键 | 提交用户的id |
| status | String | 单个样例评测结果 | |
| time | int | 运行时间 | |
| memory | int | 运行内存 | |
| case_id | String | 测试样例id | |
| input_data | String | 样例输入的文件名 | |
| output_data | String | 样例输出的文件名 | |
| user_output | Srting | 暂时用作信息提示 | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
# 比赛模块
更新比赛状态的存储过程
DELIMITER |
DROP PROCEDURE IF EXISTS contest_status |
CREATE PROCEDURE contest_status()
BEGIN
UPDATE contest
SET STATUS = (
CASE
WHEN NOW() < start_time THEN -1
WHEN NOW() >= start_time AND NOW()<end_time THEN 0
WHEN NOW() >= end_time THEN 1
END);
END
|
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
创建插入时的触发器
DROP TRIGGER IF EXISTS contest_trigger;
DELIMITER $$
CREATE TRIGGER contest_trigger
BEFORE INSERT ON contest FOR EACH ROW
BEGIN
SET new.status=(
CASE
WHEN NOW() < new.start_time THEN -1
WHEN NOW() >= new.start_time AND NOW()<new.end_time THEN 0
WHEN NOW() >= new.end_time THEN 1
END);
END$$
DELIMITER ;
2
3
4
5
6
7
8
9
10
11
12
13
14
设置定时器
SET GLOBAL event_scheduler = 1; // 开启定时器
CREATE EVENT IF NOT EXISTS contest_event
ON SCHEDULE EVERY 1 SECOND // 每秒执行一次
ON COMPLETION PRESERVE
DO CALL contest_status(); // 调用存储过程
2
3
4
5
6
7
8
开启或关闭定时器
ALTER EVENT contest_event ON COMPLETION PRESERVE ENABLE; -- 开启事件
ALTER EVENT contest_event ON COMPLETION PRESERVE DISABLE; -- 关闭事件
2
contest表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | 主键 | auto_increment 1000起步 |
| uid | String | 外键 | 创建者id |
| author | String | 比赛创建者的用户名 | |
| title | String | 比赛标题 | |
| type | int | Acm赛制或者Rating | |
| source | int | 比赛来源,原创为0,克隆赛为比赛id | |
| auth | int | 0为公开赛,1为私有赛(有密码),3为保护赛(有密码)。 | |
| pwd | string | 比赛密码 | |
| start_time | datetime | 开始时间 | |
| end_time | datetime | 结束时间 | |
| duration | long | 比赛时长(s) | |
| description | Srting | 比赛说明 | |
| seal_rank | boolean | 是否开启封榜 | |
| seal_rank_time | datetime | 封榜起始时间,一直到比赛结束,不刷新榜单。 | |
| status | int | -1为未开始,0为进行中,1为已结束 | |
| visible | boolean | 是否可见 | |
| open_print | boolean | 是否打开打印功能 | |
| open_account_limit | boolean | 是否开启账号限制 | |
| account_limit_rule | String | 账号限制规则 | |
| rank_show_name | String | 排行榜显示(username、nickname、realname) | |
| star_account | Stirng | 打星用户列表 | |
| open_rank | boolean | 是否开放赛外榜单 | |
| auto_real_rank | boolean | 比赛结束是否自动解除封榜,自动转换成真实榜单 | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
contest_problem表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | 主键 | auto_increment |
| display_id | String | 展示的id | |
| cid | long | 外键 | 比赛id |
| pid | long | 外键 | 题目id |
| display_title | String | 该题目在比赛中的标题,默认为原名字 | |
| color | String | 气球颜色,不设置则不显示 | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
contest_register表 比赛报名表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | 主键 | auto_increment |
| cid | long | 外键 | 比赛id |
| uid | String | 外键 | 用户id |
| status | int | 默认为0表示正常,1为失效。 | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
contest_score表 rating赛制中获得的分数更改记录表(未使用)
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | 主键 | auto_increment |
| cid | long | 外键 | 比赛id |
| last | int | 比赛前的score得分 | |
| change | int | Score比分变化 | |
| now | int | 现在的score | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
contest_record表 比赛记录表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | 主键 | auto_increment |
| cid | long | 外键 | 比赛id |
| uid | String | 外键 | 用户id |
| pid | int | 外键 | 题目id |
| cpid | int | 外键 | 比赛中的题目id |
| submit_id | int | 外键 | 提交id,用于可重判 |
| display_id | String | 比赛展示的id | |
| username | String | 用户名 | |
| realname | String | 真实姓名(废弃) | |
| status | int | 提交结果,0表示未AC通过不罚时,1表示AC通过,-1为未AC通过算罚时 | |
| submit_time | datetime | 具体提交时间 | |
| time | int | 提交时间,为提交时间减去比赛时间,时间戳 | |
| score | int | OI比赛得分 | |
| use_time | int | 提交的程序运行耗时 | |
| first_blood | Boolean | 是否为一血AC(废弃) | |
| checked | Boolean | AC是否已校验 | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
contest_print表 比赛打印表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | 主键 | auto_increment |
| cid | long | 外键 | 比赛id |
| username | String | 提交打印文本的用户 | |
| realname | String | 真实姓名 | |
| content | String | 需要打印的文本内容 | |
| status | int | 状态 是否已打印 | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
announcement表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | 主键 | auto_increment |
| title | String | 公告标题 | |
| content | String | 公告内容 | |
| uid | String | 外键 | 发布者id(必须为比赛创建者或者超级管理员才能) |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
contest_announcement表 比赛时的通知表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | 主键 | auto_increment |
| aid | long | 外键 | 公告id |
| cid | int | 外键 | 比赛id |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
contest_explanation表 赛后题解表**(未使用)**
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | 主键 | auto_increment |
| cid | int | 外键 | 比赛id |
| content | String | 内容(支持markdown) | |
| uid | int | 发布者(必须为比赛创建者或者超级管理员才能) | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
# 训练(题单)模块
题单训练表 training
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | 主键 | |
| title | string | 训练题单名称 | |
| description | string | 训练题单简介 | |
| author | string | 外键 | 训练题单创建者用户名 |
| auth | string | 训练题单权限类型:Public、Private | |
| private_pwd | string | 训练题单权限为Private时的密码 | |
| rank | int | 编号,升序 | |
| status | boolean | 是否可用 | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
训练注册表 training_register
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | 主键 | |
| tid | long | 外键 | 训练id |
| uid | long | 外键 | 用户id |
| status | boolean | 是否可用 | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
训练与题目关联表 training_problem
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | 主键 | |
| tid | long | 外键 | 训练id |
| pid | long | 外键 | 题目id |
| display_id | string | 排序用 展示id | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
训练记录表 training_record
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | 主键 | |
| tid | long | 外键 | 训练id |
| tpid | long | 外键 | 训练题目id |
| pid | long | 外键 | 题目id |
| uid | string | 外键 | 用户id |
| submit_id | long | 外键 | 提交id |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
训练分类表 training_category
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | 主键 | |
| name | string | 分类名称 | |
| color | string | 分类背景颜色 | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
训练分类关联表 mapping_training_category
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | 主键 | |
| tid | long | 外键 | 训练id |
| cid | long | 外键 | 训练分类id(training_category) |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
# 讨论模块
包括题目讨论区,公共讨论区,比赛评论
category表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | 主键 | auto_increment |
| name | String | 分类名字 | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
discussion表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | int | 主键 | auto_increment |
| category_id | int | 外键 | 分类id |
| title | String | 外键 | 讨论标题 |
| content | String | 讨论详情 | |
| description | String | 讨论描述 | |
| pid | String | 外键 | 引用的题目展示id,默认未null则不引用 |
| uid | iString | 外键 | 发布讨论的用户id |
| author | String | 外键 | 发布讨论的用户名 |
| avatar | String | 外键 | 发布讨论的用户头像地址 |
| role | String | 发布讨论的用户角色 | |
| view_num | int | 浏览数量 | |
| like_num | int | 点赞数量 | |
| top_priority | boolean | 优先级,是否置顶 | |
| comment_num | int | 评论数量 | |
| status | int | 是否封禁或逻辑删除该讨论 | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
discussion_like表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | 主键 | auto_increment |
| did | int | 外键 | 讨论id |
| uid | String | 外键 | 用户id |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
discussion_report表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | 主键 | auto_increment |
| did | int | 外键 | 讨论id |
| reporter | String | 外键 | 举报者的用户名 |
| content | String | 举报内容 | |
| status | boolean | 是否已读 | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
comment表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | int | 主键 | auto_increment |
| cid | long | 外键 | 比赛id,NULL表示无引用比赛 |
| did | int | 外键 | 讨论id,NULL表示无引用讨论 |
| content | String | 评论内容 | |
| from_uid | String | 外键 | 评论者id |
| from_name | String | 外键 | 评论者用户名 |
| from_avatar | String | 外键 | 评论者头像地址 |
| from_role | String | 外键 | 评论者角色 |
| like_num | int | 点赞数量 | |
| status | int | 是否封禁或逻辑删除该评论,0正常,1封禁 | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
comment_like表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | lint | 主键 | auto_increment |
| cid | int | 外键 | 评论id |
| uid | String | 外键 | 用户id |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
reply表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | int | 主键 | auto_increment |
| comment_id | ind | 外键 | 评论id |
| content | String | 回复的内容 | |
| from_uid | String | 外键 | 回复评论者id |
| from_name | String | 外键 | 回复评论者用户名 |
| from_avatar | String | 外键 | 回复评论者头像地址 |
| from_role | String | 外键 | 回复评论者角色 |
| to_uid | String | 外键 | 被回复的用户id |
| to_name | String | 外键 | 被回复的用户名 |
| to_avatar | String | 外键 | 被回复的用户头像地址 |
| status | int | 是否封禁或逻辑删除该回复,0正常,1封禁 | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
# 站内消息模块
admin_sys_notice表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | int | 主键 | auto_increment |
| title | String | 通知标题 | |
| content | String | 通知内容 | |
| type | String | 发给哪些用户类型,例如全部用户All,指定单个用户Single,管理员Admin | |
| state | boolean | 是否已被拉取过,如果已经拉取过,就无需再次拉取 | |
| recipient_id | String | 外键 | 接受通知的用户的id,如果type为single,那么recipient 为该用户的id;否则recipient为null |
| admin_id | String | 外键 | 发布通知的管理员id |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
user_sys_notice表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | int | 主键 | auto_increment |
| sys_notice_id | long | 外键 | 系统通知的id |
| recipient_id | String | 外键 | 接受通知的用户的id |
| type | String | 消息类型,系统通知Sys、我的信息Mine | |
| state | boolean | 是否已读 | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
msg_remind表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | int | 主键 | auto_increment |
| action | String | 动作类型,如点赞讨论帖Like_Post、点赞评论Like_Discuss、评论Discuss、回复Reply等 | |
| source_id | int | 消息来源id,讨论id或比赛id | |
| source_type | String | 事件源类型:'Discussion'、'Contest'等 | |
| source_content | String | 事件源的内容,比如回复的内容,回复的评论等等,不超过250字符,超过使用... | |
| quote_id | int | 事件引用上一级评论或回复id | |
| quote_type | String | 事件引用上一级的类型:Comment、Reply | |
| url | String | 事件所发生的地点链接 url | |
| recipient_id | String | 外键 | 接受通知的用户的id |
| sender_id | String | 外键 | 动作执行者的id |
| state | boolean | 是否已读 | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
# 文件模块
file表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | long | 主键 | auto_increment |
| uid | String | 用户id | |
| name | String | 文件名 | |
| suffix | String | 文件后缀格式 | |
| folder_path | String | 文件所在文件夹的路径 | |
| file_path | String | 文件绝对路径 | |
| type | String | 文件所属类型,例如avatar | |
| delete | String | 是否删除 | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
# 判题机模块
judge_server表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | int | 主键 | auto_increment |
| name | String | 判题服务名字 | |
| ip | String | 判题机ip | |
| port | int | 判题机端口号 | |
| url | String | ip:port | |
| cpu_core | int | 判题机所在服务器cpu核心数 | |
| task_number | int | 当前判题数 | |
| max_task_number | int | 判题并发最大数 | |
| status | int | 0可用,1不可用 | |
| version | long | 版本控制 | |
| is_remote | boolean | 是否为远程判题vj | |
| cf_submittable | boolean | 当前机器是否可提交cf,控制机器一次只能一账号交题 | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |
remote_judge_account表
| 列名 | 实体属性类型 | 键 | 备注 |
|---|---|---|---|
| id | int | 主键 | auto_increment |
| oj | String | vjudge交题的oj名字 | |
| username | String | vjudge登录的账号 | |
| password | int | vjudge登录的密码 | |
| status | int | 0可用,1不可用 | |
| version | long | 版本控制 | |
| gmt_create | datetime | 创建时间 | |
| gmt_modified | datetime | 修改时间 |