chore: update database backups and add V6 migration

- Clean old database backup files
- Add fresh backups (2026-01-16):
  - martial_full_20260116.sql (34 martial tables)
  - blade_full_20260116.sql (38 blade tables)
  - other_tables_full_20260116.sql (16 mt_* + flyway tables)
- Add V6 migration: add project_id to martial_deduction_item

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
This commit is contained in:
2026-01-16 16:15:53 +08:00
co-authored by factory-droid[bot]
parent 03074c381b
commit 81e2cbc33b
26 changed files with 3387 additions and 88745 deletions
-194
View File
@@ -1,194 +0,0 @@
# 赛程编排系统数据库升级指南
## 当前状态
- 数据库名: `martial_db`
- 现有表: `martial_schedule`, `martial_schedule_athlete`
- 需要创建: 4张新表(与旧表共存)
## 🚀 执行步骤
### 步骤1: 打开数据库管理工具
使用你常用的数据库管理工具:
- Navicat
- DBeaver
- phpMyAdmin
- MySQL Workbench
- DataGrip
- 或其他工具
### 步骤2: 连接到数据库
连接到 `martial_db` 数据库
### 步骤3: 执行SQL脚本
打开文件: `D:\workspace\31.比赛项目\project\martial-master\database\martial-db\upgrade_schedule_system.sql`
**方式A**: 在工具中直接打开此文件并执行
**方式B**: 复制以下SQL内容并执行
```sql
USE martial_db;
-- 1. 赛程编排分组表
CREATE TABLE IF NOT EXISTS `martial_schedule_group` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`competition_id` bigint(20) NOT NULL COMMENT '赛事ID',
`group_name` varchar(200) NOT NULL COMMENT '分组名称(如:太极拳男组)',
`project_id` bigint(20) NOT NULL COMMENT '项目ID',
`project_name` varchar(100) DEFAULT NULL COMMENT '项目名称',
`category` varchar(50) DEFAULT NULL COMMENT '组别(成年组、少年组等)',
`project_type` tinyint(1) NOT NULL DEFAULT '1' COMMENT '项目类型(1=个人 2=集体)',
`display_order` int(11) NOT NULL DEFAULT '0' COMMENT '显示顺序',
`total_participants` int(11) DEFAULT '0' COMMENT '总参赛人数',
`total_teams` int(11) DEFAULT '0' COMMENT '总队伍数(仅集体项目)',
`estimated_duration` int(11) DEFAULT '0' COMMENT '预计时长(分钟)',
`create_user` bigint(20) DEFAULT NULL,
`create_dept` bigint(20) DEFAULT NULL,
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
`update_user` bigint(20) DEFAULT NULL,
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`status` int(11) DEFAULT '1' COMMENT '状态(1-启用,2-禁用)',
`is_deleted` int(11) DEFAULT '0',
`tenant_id` varchar(12) DEFAULT '000000',
PRIMARY KEY (`id`),
KEY `idx_competition` (`competition_id`),
KEY `idx_project` (`project_id`),
KEY `idx_display_order` (`display_order`),
KEY `idx_tenant` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='赛程编排分组表';
-- 2. 赛程编排明细表
CREATE TABLE IF NOT EXISTS `martial_schedule_detail` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`schedule_group_id` bigint(20) NOT NULL COMMENT '分组ID',
`competition_id` bigint(20) NOT NULL COMMENT '赛事ID',
`venue_id` bigint(20) NOT NULL COMMENT '场地ID',
`venue_name` varchar(100) DEFAULT NULL COMMENT '场地名称',
`schedule_date` date NOT NULL COMMENT '比赛日期',
`time_period` varchar(20) NOT NULL COMMENT '时间段(morning/afternoon)',
`time_slot` varchar(20) NOT NULL COMMENT '时间点(08:30/13:30)',
`estimated_start_time` datetime DEFAULT NULL COMMENT '预计开始时间',
`estimated_end_time` datetime DEFAULT NULL COMMENT '预计结束时间',
`estimated_duration` int(11) DEFAULT '0' COMMENT '预计时长(分钟)',
`participant_count` int(11) DEFAULT '0' COMMENT '参赛人数',
`sort_order` int(11) DEFAULT '0' COMMENT '场内顺序',
`create_user` bigint(20) DEFAULT NULL,
`create_dept` bigint(20) DEFAULT NULL,
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
`update_user` bigint(20) DEFAULT NULL,
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`status` int(11) DEFAULT '1' COMMENT '状态(1-未开始,2-进行中,3-已完成)',
`is_deleted` int(11) DEFAULT '0',
`tenant_id` varchar(12) DEFAULT '000000',
PRIMARY KEY (`id`),
KEY `idx_group` (`schedule_group_id`),
KEY `idx_competition` (`competition_id`),
KEY `idx_venue_time` (`venue_id`,`schedule_date`,`time_slot`),
KEY `idx_tenant` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='赛程编排明细表';
-- 3. 赛程编排参赛者关联表
CREATE TABLE IF NOT EXISTS `martial_schedule_participant` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`schedule_detail_id` bigint(20) NOT NULL COMMENT '编排明细ID',
`schedule_group_id` bigint(20) NOT NULL COMMENT '分组ID',
`participant_id` bigint(20) NOT NULL COMMENT '参赛者ID(关联martial_athlete表)',
`organization` varchar(200) DEFAULT NULL COMMENT '单位名称',
`player_name` varchar(100) DEFAULT NULL COMMENT '选手姓名',
`project_name` varchar(100) DEFAULT NULL COMMENT '项目名称',
`category` varchar(50) DEFAULT NULL COMMENT '组别',
`performance_order` int(11) DEFAULT '0' COMMENT '出场顺序',
`create_user` bigint(20) DEFAULT NULL,
`create_dept` bigint(20) DEFAULT NULL,
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
`update_user` bigint(20) DEFAULT NULL,
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`status` int(11) DEFAULT '1' COMMENT '状态(1-待出场,2-已出场)',
`is_deleted` int(11) DEFAULT '0',
`tenant_id` varchar(12) DEFAULT '000000',
PRIMARY KEY (`id`),
KEY `idx_detail` (`schedule_detail_id`),
KEY `idx_group` (`schedule_group_id`),
KEY `idx_participant` (`participant_id`),
KEY `idx_tenant` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='赛程编排参赛者关联表';
-- 4. 赛程编排状态表
CREATE TABLE IF NOT EXISTS `martial_schedule_status` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`competition_id` bigint(20) NOT NULL COMMENT '赛事ID(唯一)',
`schedule_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '编排状态(0=未编排 1=编排中 2=已保存锁定)',
`last_auto_schedule_time` datetime DEFAULT NULL COMMENT '最后自动编排时间',
`locked_time` datetime DEFAULT NULL COMMENT '锁定时间',
`locked_by` varchar(100) DEFAULT NULL COMMENT '锁定人',
`total_groups` int(11) DEFAULT '0' COMMENT '总分组数',
`total_participants` int(11) DEFAULT '0' COMMENT '总参赛人数',
`create_user` bigint(20) DEFAULT NULL,
`create_dept` bigint(20) DEFAULT NULL,
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
`update_user` bigint(20) DEFAULT NULL,
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`status` int(11) DEFAULT '1' COMMENT '状态(1-启用,2-禁用)',
`is_deleted` int(11) DEFAULT '0',
`tenant_id` varchar(12) DEFAULT '000000',
PRIMARY KEY (`id`),
UNIQUE KEY `uk_competition` (`competition_id`),
KEY `idx_tenant` (`tenant_id`),
KEY `idx_schedule_status` (`schedule_status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='赛程编排状态表';
-- 验证
SELECT '✓ 升级完成' AS message, COUNT(*) AS created_tables
FROM information_schema.tables
WHERE table_schema = 'martial_db'
AND table_name IN (
'martial_schedule_group',
'martial_schedule_detail',
'martial_schedule_participant',
'martial_schedule_status'
);
```
### 步骤4: 验证结果
执行以下SQL检查:
```sql
SHOW TABLES LIKE 'martial_schedule%';
```
**预期结果**(6张表):
- martial_schedule (旧)
- martial_schedule_athlete (旧)
- martial_schedule_group (新) ✓
- martial_schedule_detail (新) ✓
- martial_schedule_participant (新) ✓
- martial_schedule_status (新) ✓
### 步骤5: 测试新系统
重启后端服务,访问:
```
http://localhost:3000/martial/schedule?competitionId=200
```
## ⚠️ 注意事项
1. **不会删除旧表**: 旧的 `martial_schedule``martial_schedule_athlete` 表会保留
2. **数据隔离**: 新旧系统使用不同的表,互不影响
3. **安全性**: 使用 `CREATE TABLE IF NOT EXISTS`,不会覆盖已存在的表
## ❓ 遇到问题?
如果创建失败,检查:
1. 是否有 CREATE TABLE 权限
2. 数据库名称是否正确(martial_db)
3. 字符集是否支持 utf8mb4
---
**创建时间**: 2025-12-09
**版本**: v1.1
-78
View File
@@ -1,78 +0,0 @@
-- ================================================================
-- 场地表字段修复脚本(保留数据版本)
-- 用途:为现有 martial_venue 表添加缺失的字段,不删除已有数据
-- 日期:2025-12-06
-- ================================================================
-- 检查并添加 max_capacity 字段
SET @col_exists = 0;
SELECT COUNT(*) INTO @col_exists
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'martial_venue'
AND COLUMN_NAME = 'max_capacity';
SET @sql = IF(@col_exists = 0,
'ALTER TABLE martial_venue ADD COLUMN max_capacity int(11) DEFAULT 100 COMMENT ''最大容纳人数'' AFTER venue_code',
'SELECT ''max_capacity 字段已存在'' AS info'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
-- 检查并添加 facilities 字段(如果也缺失)
SET @col_exists = 0;
SELECT COUNT(*) INTO @col_exists
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'martial_venue'
AND COLUMN_NAME = 'facilities';
SET @sql = IF(@col_exists = 0,
'ALTER TABLE martial_venue ADD COLUMN facilities varchar(500) DEFAULT NULL COMMENT ''场地设施'' AFTER description',
'SELECT ''facilities 字段已存在'' AS info'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
-- 检查并添加 status 字段(如果也缺失)
SET @col_exists = 0;
SELECT COUNT(*) INTO @col_exists
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'martial_venue'
AND COLUMN_NAME = 'status';
SET @sql = IF(@col_exists = 0,
'ALTER TABLE martial_venue ADD COLUMN status int(2) DEFAULT 1 COMMENT ''状态(0-禁用,1-启用)'' AFTER sort_order',
'SELECT ''status 字段已存在'' AS info'
);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
-- ================================================================
-- 验证表结构
-- ================================================================
SELECT '字段添加完成,正在验证...' AS info;
SELECT COLUMN_NAME, COLUMN_TYPE, COLUMN_DEFAULT, IS_NULLABLE, COLUMN_COMMENT
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'martial_venue'
ORDER BY ORDINAL_POSITION;
-- 检查 max_capacity 字段是否存在
SELECT
CASE
WHEN COUNT(*) > 0 THEN '✓ max_capacity 字段已成功添加'
ELSE '✗ max_capacity 字段仍然缺失'
END AS result
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'martial_venue'
AND COLUMN_NAME = 'max_capacity';
@@ -1,49 +0,0 @@
-- =====================================================
-- 创建调度调整日志表
-- 用于记录调度功能的调整历史
-- 执行时间: 2025-12-12
-- =====================================================
USE blade;
-- 创建调度调整日志表
CREATE TABLE IF NOT EXISTS `martial_schedule_adjustment_log` (
`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`competition_id` bigint NOT NULL COMMENT '赛事ID',
`schedule_detail_id` bigint NOT NULL COMMENT '编排明细ID',
`schedule_group_id` bigint NOT NULL COMMENT '分组ID',
`participant_id` bigint NOT NULL COMMENT '参赛者记录ID',
`participant_name` varchar(100) DEFAULT NULL COMMENT '参赛者姓名',
`organization` varchar(200) DEFAULT NULL COMMENT '单位名称',
`old_order` int NOT NULL COMMENT '原顺序',
`new_order` int NOT NULL COMMENT '新顺序',
`adjustment_type` varchar(20) DEFAULT NULL COMMENT '调整类型(move_up=上移, move_down=下移, swap=交换)',
`adjustment_reason` varchar(500) DEFAULT NULL COMMENT '调整原因',
`operator_id` bigint DEFAULT NULL COMMENT '操作人ID',
`operator_name` varchar(100) DEFAULT NULL COMMENT '操作人姓名',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID',
PRIMARY KEY (`id`),
KEY `idx_competition` (`competition_id`),
KEY `idx_detail` (`schedule_detail_id`),
KEY `idx_group` (`schedule_group_id`),
KEY `idx_participant` (`participant_id`),
KEY `idx_create_time` (`create_time`),
KEY `idx_tenant` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='赛程调度调整日志表';
-- 验证表是否创建成功
SELECT
TABLE_NAME,
TABLE_COMMENT,
TABLE_ROWS
FROM
INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = 'blade'
AND TABLE_NAME = 'martial_schedule_adjustment_log';
-- 查看表结构
DESC martial_schedule_adjustment_log;
SELECT '调度日志表创建成功!' AS status;
@@ -1,143 +0,0 @@
-- =============================================
-- 武术赛事赛程编排系统 - 数据库表创建脚本
-- =============================================
-- 创建日期: 2025-12-08
-- 版本: v1.0
-- 说明: 创建赛程编排相关的4张核心表
-- =============================================
-- 1. 赛程编排分组表
CREATE TABLE `martial_schedule_group` (
`id` bigint(0) NOT NULL COMMENT '主键ID',
`competition_id` bigint(0) NOT NULL COMMENT '赛事ID',
`group_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '分组名称(如:太极拳男组)',
`project_id` bigint(0) NOT NULL COMMENT '项目ID',
`project_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '项目名称',
`category` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '组别(成年组、少年组等)',
`project_type` tinyint(1) NOT NULL DEFAULT 1 COMMENT '项目类型(1=个人 2=集体)',
`display_order` int(0) NOT NULL DEFAULT 0 COMMENT '显示顺序(集体项目优先,数字越小越靠前)',
`total_participants` int(0) NULL DEFAULT 0 COMMENT '总参赛人数',
`total_teams` int(0) NULL DEFAULT 0 COMMENT '总队伍数(仅集体项目)',
`estimated_duration` int(0) NULL DEFAULT 0 COMMENT '预计时长(分钟)',
`create_user` bigint(0) NULL DEFAULT NULL,
`create_dept` bigint(0) NULL DEFAULT NULL,
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
`update_user` bigint(0) NULL DEFAULT NULL,
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0),
`status` int(0) NULL DEFAULT 1 COMMENT '状态(1-启用,2-禁用)',
`is_deleted` int(0) NULL DEFAULT 0,
`tenant_id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '000000',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_competition` (`competition_id`) USING BTREE,
INDEX `idx_project` (`project_id`) USING BTREE,
INDEX `idx_display_order` (`display_order`) USING BTREE,
INDEX `idx_tenant` (`tenant_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '赛程编排分组表' ROW_FORMAT = Dynamic;
-- 2. 赛程编排明细表(场地时间段分配)
CREATE TABLE `martial_schedule_detail` (
`id` bigint(0) NOT NULL COMMENT '主键ID',
`schedule_group_id` bigint(0) NOT NULL COMMENT '分组ID',
`competition_id` bigint(0) NOT NULL COMMENT '赛事ID',
`venue_id` bigint(0) NOT NULL COMMENT '场地ID',
`venue_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '场地名称',
`schedule_date` date NOT NULL COMMENT '比赛日期',
`time_period` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '时间段(morning/afternoon)',
`time_slot` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '时间点(08:30/13:30)',
`time_slot_index` int(0) NULL DEFAULT 0 COMMENT '时间段索引(0=第1天上午,1=第1天下午,2=第1天晚上,...)',
`estimated_start_time` datetime(0) NULL DEFAULT NULL COMMENT '预计开始时间',
`estimated_end_time` datetime(0) NULL DEFAULT NULL COMMENT '预计结束时间',
`estimated_duration` int(0) NULL DEFAULT 0 COMMENT '预计时长(分钟)',
`participant_count` int(0) NULL DEFAULT 0 COMMENT '参赛人数',
`sort_order` int(0) NULL DEFAULT 0 COMMENT '场内顺序',
`create_user` bigint(0) NULL DEFAULT NULL,
`create_dept` bigint(0) NULL DEFAULT NULL,
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
`update_user` bigint(0) NULL DEFAULT NULL,
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0),
`status` int(0) NULL DEFAULT 1 COMMENT '状态(1-未开始,2-进行中,3-已完成)',
`is_deleted` int(0) NULL DEFAULT 0,
`tenant_id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '000000',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_group` (`schedule_group_id`) USING BTREE,
INDEX `idx_competition` (`competition_id`) USING BTREE,
INDEX `idx_venue_time` (`venue_id`, `schedule_date`, `time_slot`) USING BTREE,
INDEX `idx_tenant` (`tenant_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '赛程编排明细表(场地时间段分配)' ROW_FORMAT = Dynamic;
-- 3. 赛程编排参赛者关联表
CREATE TABLE `martial_schedule_participant` (
`id` bigint(0) NOT NULL COMMENT '主键ID',
`schedule_detail_id` bigint(0) NOT NULL COMMENT '编排明细ID',
`schedule_group_id` bigint(0) NOT NULL COMMENT '分组ID',
`participant_id` bigint(0) NOT NULL COMMENT '参赛者ID(关联martial_athlete表)',
`organization` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '单位名称',
`player_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '选手姓名',
`project_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '项目名称',
`category` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '组别',
`performance_order` int(0) NULL DEFAULT 0 COMMENT '出场顺序',
`check_in_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '未签到' COMMENT '签到状态(未签到/已签到/异常)',
`schedule_status` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'draft' COMMENT '编排状态(draft/completed)',
`create_user` bigint(0) NULL DEFAULT NULL,
`create_dept` bigint(0) NULL DEFAULT NULL,
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
`update_user` bigint(0) NULL DEFAULT NULL,
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0),
`status` int(0) NULL DEFAULT 1 COMMENT '状态(1-待出场,2-已出场)',
`is_deleted` int(0) NULL DEFAULT 0,
`tenant_id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '000000',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_detail` (`schedule_detail_id`) USING BTREE,
INDEX `idx_group` (`schedule_group_id`) USING BTREE,
INDEX `idx_participant` (`participant_id`) USING BTREE,
INDEX `idx_tenant` (`tenant_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '赛程编排参赛者关联表' ROW_FORMAT = Dynamic;
-- 4. 赛程编排状态表
CREATE TABLE `martial_schedule_status` (
`id` bigint(0) NOT NULL COMMENT '主键ID',
`competition_id` bigint(0) NOT NULL UNIQUE COMMENT '赛事ID(唯一)',
`schedule_status` tinyint(1) NOT NULL DEFAULT 0 COMMENT '编排状态(0=未编排 1=编排中 2=已保存锁定)',
`last_auto_schedule_time` datetime(0) NULL DEFAULT NULL COMMENT '最后自动编排时间',
`locked_time` datetime(0) NULL DEFAULT NULL COMMENT '锁定时间',
`locked_by` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '锁定人',
`total_groups` int(0) NULL DEFAULT 0 COMMENT '总分组数',
`total_participants` int(0) NULL DEFAULT 0 COMMENT '总参赛人数',
`create_user` bigint(0) NULL DEFAULT NULL,
`create_dept` bigint(0) NULL DEFAULT NULL,
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
`update_user` bigint(0) NULL DEFAULT NULL,
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0),
`status` int(0) NULL DEFAULT 1 COMMENT '状态(1-启用,2-禁用)',
`is_deleted` int(0) NULL DEFAULT 0,
`tenant_id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '000000',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_competition` (`competition_id`) USING BTREE,
INDEX `idx_tenant` (`tenant_id`) USING BTREE,
INDEX `idx_schedule_status` (`schedule_status`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '赛程编排状态表' ROW_FORMAT = Dynamic;
-- =============================================
-- 说明
-- =============================================
--
-- 使用方法:
-- 1. 在MySQL数据库中执行此脚本
-- 2. 确保已创建martial_competition数据库
--
-- 表关系说明:
-- martial_schedule_status (1) <--> (1) martial_competition (赛事编排状态)
-- martial_schedule_group (N) <--> (1) martial_competition (分组属于赛事)
-- martial_schedule_detail (N) <--> (1) martial_schedule_group (明细属于分组)
-- martial_schedule_participant (N) <--> (1) martial_schedule_detail (参赛者属于明细)
-- martial_schedule_participant (N) <--> (1) martial_athlete (参赛者关联选手)
--
-- 核心流程:
-- 1. 定时任务检查martial_schedule_status,找出schedule_status != 2的赛事
-- 2. 从martial_athlete加载参赛者数据
-- 3. 执行自动分组算法,写入martial_schedule_group
-- 4. 执行场地时间段分配,写入martial_schedule_detail
-- 5. 关联参赛者,写入martial_schedule_participant
-- 6. 更新martial_schedule_status的last_auto_schedule_time
--
-- =============================================
@@ -1,37 +0,0 @@
-- 赛事通用附件表
-- 支持多种附件类型:赛事发布(info)、赛事规程(rules)、活动日程(schedule)、成绩(results)、奖牌榜(medals)、图片直播(photos)
DROP TABLE IF EXISTS `martial_competition_attachment`;
CREATE TABLE `martial_competition_attachment` (
`id` bigint NOT NULL COMMENT '主键ID',
`tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID',
`competition_id` bigint NOT NULL COMMENT '赛事ID',
`attachment_type` varchar(20) NOT NULL COMMENT '附件类型:info-赛事发布, rules-赛事规程, schedule-活动日程, results-成绩, medals-奖牌榜, photos-图片直播',
`file_name` varchar(255) NOT NULL COMMENT '文件名称',
`file_url` varchar(500) NOT NULL COMMENT '文件URL',
`file_size` bigint DEFAULT NULL COMMENT '文件大小(字节)',
`file_type` varchar(20) DEFAULT NULL COMMENT '文件类型(pdf/doc/docx/xls/xlsx/jpg/png等)',
`order_num` int DEFAULT 0 COMMENT '排序序号',
`status` int DEFAULT 1 COMMENT '状态(1-启用 0-禁用)',
`create_user` bigint DEFAULT NULL COMMENT '创建人',
`create_dept` bigint DEFAULT NULL COMMENT '创建部门',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_user` bigint DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_deleted` int DEFAULT 0 COMMENT '是否已删除(0-否 1-是)',
PRIMARY KEY (`id`),
KEY `idx_competition_id` (`competition_id`),
KEY `idx_attachment_type` (`attachment_type`),
KEY `idx_competition_type` (`competition_id`, `attachment_type`),
KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='赛事通用附件表';
-- 插入测试数据(假设赛事ID为1)
INSERT INTO `martial_competition_attachment` (`id`, `tenant_id`, `competition_id`, `attachment_type`, `file_name`, `file_url`, `file_size`, `file_type`, `order_num`, `status`) VALUES
(1, '000000', 1, 'info', '2025年郑州武术大赛通知.pdf', 'http://example.com/files/notice.pdf', 1258291, 'pdf', 1, 1),
(2, '000000', 1, 'rules', '2025年郑州武术大赛竞赛规程.pdf', 'http://example.com/files/rules.pdf', 2621440, 'pdf', 1, 1),
(3, '000000', 1, 'rules', '参赛报名表.pdf', 'http://example.com/files/form.pdf', 163840, 'pdf', 2, 1),
(4, '000000', 1, 'schedule', '比赛日程安排表.pdf', 'http://example.com/files/schedule.pdf', 911360, 'pdf', 1, 1),
(5, '000000', 1, 'results', '比赛成绩公告.pdf', 'http://example.com/files/results.pdf', 1887436, 'pdf', 1, 1),
(6, '000000', 1, 'medals', '奖牌榜统计.pdf', 'http://example.com/files/medals.pdf', 532480, 'pdf', 1, 1),
(7, '000000', 1, 'photos', '比赛精彩瞬间.pdf', 'http://example.com/files/photos.pdf', 16357785, 'pdf', 1, 1);
@@ -1,91 +0,0 @@
-- 赛事规程管理相关表
-- 1. 赛事规程附件表
DROP TABLE IF EXISTS `martial_competition_rules_attachment`;
CREATE TABLE `martial_competition_rules_attachment` (
`id` bigint NOT NULL COMMENT '主键ID',
`tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID',
`competition_id` bigint NOT NULL COMMENT '赛事ID',
`file_name` varchar(255) NOT NULL COMMENT '文件名称',
`file_url` varchar(500) NOT NULL COMMENT '文件URL',
`file_size` bigint DEFAULT NULL COMMENT '文件大小(字节)',
`file_type` varchar(20) DEFAULT NULL COMMENT '文件类型(pdf/doc/docx/xls/xlsx等)',
`order_num` int DEFAULT 0 COMMENT '排序序号',
`status` int DEFAULT 1 COMMENT '状态(1-启用 0-禁用)',
`create_user` bigint DEFAULT NULL COMMENT '创建人',
`create_dept` bigint DEFAULT NULL COMMENT '创建部门',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_user` bigint DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_deleted` int DEFAULT 0 COMMENT '是否已删除(0-否 1-是)',
PRIMARY KEY (`id`),
KEY `idx_competition_id` (`competition_id`),
KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='赛事规程附件表';
-- 2. 赛事规程章节表
DROP TABLE IF EXISTS `martial_competition_rules_chapter`;
CREATE TABLE `martial_competition_rules_chapter` (
`id` bigint NOT NULL COMMENT '主键ID',
`tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID',
`competition_id` bigint NOT NULL COMMENT '赛事ID',
`chapter_number` varchar(50) NOT NULL COMMENT '章节编号(如:第一章)',
`title` varchar(200) NOT NULL COMMENT '章节标题',
`order_num` int DEFAULT 0 COMMENT '排序序号',
`status` int DEFAULT 1 COMMENT '状态(1-启用 0-禁用)',
`create_user` bigint DEFAULT NULL COMMENT '创建人',
`create_dept` bigint DEFAULT NULL COMMENT '创建部门',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_user` bigint DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_deleted` int DEFAULT 0 COMMENT '是否已删除(0-否 1-是)',
PRIMARY KEY (`id`),
KEY `idx_competition_id` (`competition_id`),
KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='赛事规程章节表';
-- 3. 赛事规程内容表
DROP TABLE IF EXISTS `martial_competition_rules_content`;
CREATE TABLE `martial_competition_rules_content` (
`id` bigint NOT NULL COMMENT '主键ID',
`tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID',
`chapter_id` bigint NOT NULL COMMENT '章节ID',
`content` text NOT NULL COMMENT '规程内容',
`order_num` int DEFAULT 0 COMMENT '排序序号',
`status` int DEFAULT 1 COMMENT '状态(1-启用 0-禁用)',
`create_user` bigint DEFAULT NULL COMMENT '创建人',
`create_dept` bigint DEFAULT NULL COMMENT '创建部门',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_user` bigint DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`is_deleted` int DEFAULT 0 COMMENT '是否已删除(0-否 1-是)',
PRIMARY KEY (`id`),
KEY `idx_chapter_id` (`chapter_id`),
KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='赛事规程内容表';
-- 插入测试数据
-- 假设赛事ID为1
INSERT INTO `martial_competition_rules_attachment` (`id`, `tenant_id`, `competition_id`, `file_name`, `file_url`, `file_size`, `file_type`, `order_num`, `status`) VALUES
(1, '000000', 1, '2025年郑州武术大赛规程.pdf', 'http://example.com/files/rules.pdf', 2621440, 'pdf', 1, 1),
(2, '000000', 1, '参赛报名表.docx', 'http://example.com/files/form.docx', 159744, 'docx', 2, 1);
INSERT INTO `martial_competition_rules_chapter` (`id`, `tenant_id`, `competition_id`, `chapter_number`, `title`, `order_num`, `status`) VALUES
(1, '000000', 1, '第一章', '总则', 1, 1),
(2, '000000', 1, '第二章', '参赛资格', 2, 1),
(3, '000000', 1, '第三章', '比赛规则', 3, 1),
(4, '000000', 1, '第四章', '奖项设置', 4, 1);
INSERT INTO `martial_competition_rules_content` (`id`, `tenant_id`, `chapter_id`, `content`, `order_num`, `status`) VALUES
(1, '000000', 1, '1.1 本次比赛遵循国际武术联合会竞赛规则。', 1, 1),
(2, '000000', 1, '1.2 所有参赛选手必须持有效证件参赛。', 2, 1),
(3, '000000', 1, '1.3 参赛选手须服从裁判判决,不得有违规行为。', 3, 1),
(4, '000000', 2, '2.1 参赛选手年龄须在18-45周岁之间。', 1, 1),
(5, '000000', 2, '2.2 参赛选手须持有武术等级证书或相关证明。', 2, 1),
(6, '000000', 2, '2.3 参赛选手须通过健康检查,身体状况良好。', 3, 1),
(7, '000000', 3, '3.1 比赛采用单败淘汰制。', 1, 1),
(8, '000000', 3, '3.2 每场比赛时间为3分钟,分3局进行。', 2, 1),
(9, '000000', 3, '3.3 得分规则按照国际标准执行。', 3, 1),
(10, '000000', 4, '4.1 各组别设金、银、铜牌各一枚。', 1, 1),
(11, '000000', 4, '4.2 设最佳表现奖、体育道德风尚奖等特别奖项。', 2, 1),
(12, '000000', 4, '4.3 所有参赛选手均可获得参赛证书。', 3, 1);
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
-517
View File
@@ -1,517 +0,0 @@
-- Martial tables schema only
-- Generated on Sun Nov 30 01:27:13 PM CST 2025
CREATE TABLE `martial_activity_schedule` (
`id` bigint(0) NOT NULL COMMENT '主键ID',
`competition_id` bigint(0) NOT NULL COMMENT '赛事ID',
`schedule_date` date NOT NULL COMMENT '日程日期',
`schedule_time` time(0) NULL DEFAULT NULL COMMENT '日程时间',
`event_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '活动项目',
`venue` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '地点',
`description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
`sort_order` int(0) NULL DEFAULT 0 COMMENT '排序',
`status` int(0) NULL DEFAULT 1 COMMENT '状态(0-未开始,1-进行中,2-已完成)',
`create_user` bigint(0) NULL DEFAULT NULL,
`create_dept` bigint(0) NULL DEFAULT NULL,
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
`update_user` bigint(0) NULL DEFAULT NULL,
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0),
`is_deleted` int(0) NULL DEFAULT 0,
`tenant_id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '000000',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_competition`(`competition_id`) USING BTREE,
INDEX `idx_date`(`schedule_date`) USING BTREE,
INDEX `idx_tenant`(`tenant_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '活动日程表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of martial_activity_schedule
CREATE TABLE `martial_athlete` (
`id` bigint(0) NOT NULL COMMENT '主键ID',
`order_id` bigint(0) NOT NULL COMMENT '订单ID',
`competition_id` bigint(0) NOT NULL COMMENT '赛事ID',
`project_id` bigint(0) NULL DEFAULT NULL COMMENT '项目ID',
`player_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '选手姓名',
`player_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '参赛编号',
`gender` int(0) NULL DEFAULT 1 COMMENT '性别(1-男,2-女)',
`age` int(0) NULL DEFAULT NULL COMMENT '年龄',
`birth_date` date NULL DEFAULT NULL COMMENT '出生日期',
`nation` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '民族',
`id_card` varchar(18) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '身份证号',
`id_card_type` int(0) NULL DEFAULT 1 COMMENT '证件类型(1-身份证,2-护照,3-其他)',
`contact_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '联系电话',
`organization` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '所属单位',
`organization_type` int(0) NULL DEFAULT 1 COMMENT '单位类别(1-学校,2-协会,3-俱乐部,4-其他)',
`team_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '队伍名称',
`category` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '组别',
`order_num` int(0) NULL DEFAULT 0 COMMENT '出场顺序',
`introduction` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '选手简介',
`attachments` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '附件(JSON数组)',
`photo_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '照片URL',
`registration_status` int(0) NULL DEFAULT 0 COMMENT '报名状态(0-待确认,1-已确认,2-已取消)',
`competition_status` int(0) NULL DEFAULT 0 COMMENT '比赛状态(0-待出场,1-进行中,2-已完成)',
`total_score` decimal(10, 3) NULL DEFAULT NULL COMMENT '总分',
`ranking` int(0) NULL DEFAULT NULL COMMENT '排名',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
`create_user` bigint(0) NULL DEFAULT NULL,
`create_dept` bigint(0) NULL DEFAULT NULL,
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
`update_user` bigint(0) NULL DEFAULT NULL,
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0),
`status` int(0) NULL DEFAULT 1 COMMENT '状态(1-启用,2-禁用)',
`is_deleted` int(0) NULL DEFAULT 0,
`tenant_id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '000000',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_order`(`order_id`) USING BTREE,
INDEX `idx_competition`(`competition_id`) USING BTREE,
INDEX `idx_project`(`project_id`) USING BTREE,
INDEX `idx_player_no`(`player_no`) USING BTREE,
INDEX `idx_tenant`(`tenant_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '参赛选手表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of martial_athlete
CREATE TABLE `martial_banner` (
`id` bigint(0) NOT NULL COMMENT '主键ID',
`title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '轮播图标题',
`position` int(0) NULL DEFAULT 1 COMMENT '显示位置(1-首页,2-赛事详情,3-其他)',
`image_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '轮播图图片URL',
`link_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '跳转链接',
`sort_order` int(0) NULL DEFAULT 0 COMMENT '排序顺序',
`start_time` datetime(0) NULL DEFAULT NULL COMMENT '开始显示时间',
`end_time` datetime(0) NULL DEFAULT NULL COMMENT '结束显示时间',
`click_count` int(0) NULL DEFAULT 0 COMMENT '点击次数',
`status` int(0) NULL DEFAULT 1 COMMENT '状态(0-禁用,1-启用)',
`create_user` bigint(0) NULL DEFAULT NULL,
`create_dept` bigint(0) NULL DEFAULT NULL,
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
`update_user` bigint(0) NULL DEFAULT NULL,
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0),
`is_deleted` int(0) NULL DEFAULT 0,
`tenant_id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '000000',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_sort`(`sort_order`) USING BTREE,
INDEX `idx_tenant_status`(`tenant_id`, `status`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '轮播图表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of martial_banner
CREATE TABLE `martial_competition` (
`id` bigint(0) NOT NULL COMMENT '主键ID',
`competition_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '赛事名称',
`competition_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '赛事编码(用于裁判登录)',
`organizer` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '主办单位',
`location` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '地区',
`venue` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '详细地点',
`registration_start_time` datetime(0) NULL DEFAULT NULL COMMENT '报名开始时间',
`registration_end_time` datetime(0) NULL DEFAULT NULL COMMENT '报名结束时间',
`competition_start_time` datetime(0) NULL DEFAULT NULL COMMENT '比赛开始时间',
`competition_end_time` datetime(0) NULL DEFAULT NULL COMMENT '比赛结束时间',
`introduction` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '赛事简介',
`poster_images` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '宣传图片(JSON数组)',
`contact_person` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '联系人',
`contact_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '联系电话',
`contact_email` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '联系邮箱',
`rules` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '竞赛规则',
`requirements` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '参赛要求',
`awards` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '奖项设置',
`regulation_files` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '规程文件(JSON数组)',
`total_participants` int(0) NULL DEFAULT 0 COMMENT '报名总人数',
`total_amount` decimal(10, 2) NULL DEFAULT 0.00 COMMENT '报名总金额',
`status` int(0) NULL DEFAULT 0 COMMENT '状态(0-未开始,1-报名中,2-比赛中,3-已结束,4-已取消)',
`create_user` bigint(0) NULL DEFAULT NULL COMMENT '创建人',
`create_dept` bigint(0) NULL DEFAULT NULL COMMENT '创建部门',
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
`update_user` bigint(0) NULL DEFAULT NULL COMMENT '更新人',
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',
`is_deleted` int(0) NULL DEFAULT 0 COMMENT '是否已删除',
`tenant_id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '000000' COMMENT '租户ID',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_code`(`competition_code`) USING BTREE,
INDEX `idx_tenant_status`(`tenant_id`, `status`) USING BTREE,
INDEX `idx_time`(`competition_start_time`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '赛事信息表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of martial_competition
CREATE TABLE `martial_deduction_item` (
`id` bigint(0) NOT NULL COMMENT '主键ID',
`item_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '扣分项名称',
`item_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '扣分项编码',
`deduction_point` decimal(10, 3) NULL DEFAULT 0.000 COMMENT '扣分值',
`category` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '分类',
`applicable_projects` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '适用项目(JSON数组)',
`description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '描述',
`sort_order` int(0) NULL DEFAULT 0 COMMENT '排序',
`status` int(0) NULL DEFAULT 1 COMMENT '状态(0-禁用,1-启用)',
`create_user` bigint(0) NULL DEFAULT NULL,
`create_dept` bigint(0) NULL DEFAULT NULL,
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
`update_user` bigint(0) NULL DEFAULT NULL,
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0),
`is_deleted` int(0) NULL DEFAULT 0,
`tenant_id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '000000',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_tenant_status`(`tenant_id`, `status`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '扣分项配置表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of martial_deduction_item
CREATE TABLE `martial_info_publish` (
`id` bigint(0) NOT NULL COMMENT '主键ID',
`competition_id` bigint(0) NULL DEFAULT NULL COMMENT '赛事ID(NULL表示全局)',
`title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '标题',
`info_type` int(0) NULL DEFAULT 1 COMMENT '信息类型(1-通知,2-公告,3-重要)',
`content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '内容',
`images` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '图片(JSON数组)',
`attachments` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '附件(JSON)',
`publish_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '发布时间',
`publisher_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '发布人姓名',
`is_published` int(0) NULL DEFAULT 0 COMMENT '是否已发布(0-未发布,1-已发布)',
`sort_order` int(0) NULL DEFAULT 0 COMMENT '排序',
`view_count` int(0) NULL DEFAULT 0 COMMENT '阅读次数',
`status` int(0) NULL DEFAULT 1 COMMENT '状态(0-禁用,1-启用)',
`create_user` bigint(0) NULL DEFAULT NULL,
`create_dept` bigint(0) NULL DEFAULT NULL,
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
`update_user` bigint(0) NULL DEFAULT NULL,
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0),
`is_deleted` int(0) NULL DEFAULT 0,
`tenant_id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '000000',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_competition`(`competition_id`) USING BTREE,
INDEX `idx_type`(`info_type`) USING BTREE,
INDEX `idx_tenant_status`(`tenant_id`, `status`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '信息发布表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of martial_info_publish
CREATE TABLE `martial_judge` (
`id` bigint(0) NOT NULL COMMENT '主键ID',
`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '裁判姓名',
`gender` int(0) NULL DEFAULT 1 COMMENT '性别(1-男,2-女)',
`phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '手机号',
`id_card` varchar(18) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '身份证号',
`referee_type` int(0) NULL DEFAULT 2 COMMENT '裁判类型(1-裁判长,2-普通裁判)',
`level` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '等级/职称',
`specialty` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '擅长项目',
`photo_url` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '照片URL',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
`status` int(0) NULL DEFAULT 1 COMMENT '状态(0-禁用,1-启用)',
`create_user` bigint(0) NULL DEFAULT NULL,
`create_dept` bigint(0) NULL DEFAULT NULL,
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
`update_user` bigint(0) NULL DEFAULT NULL,
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0),
`is_deleted` int(0) NULL DEFAULT 0,
`tenant_id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '000000',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_phone`(`phone`) USING BTREE,
INDEX `idx_type`(`referee_type`) USING BTREE,
INDEX `idx_tenant_status`(`tenant_id`, `status`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '裁判信息表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of martial_judge
CREATE TABLE `martial_judge_invite` (
`id` bigint(0) NOT NULL COMMENT '主键ID',
`competition_id` bigint(0) NOT NULL COMMENT '赛事ID',
`judge_id` bigint(0) NULL DEFAULT NULL COMMENT '裁判ID',
`invite_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '邀请码',
`role` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '角色(judge-普通裁判,chief_judge-裁判长)',
`venue_id` bigint(0) NULL DEFAULT NULL COMMENT '分配场地ID',
`projects` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '分配项目(JSON数组)',
`expire_time` datetime(0) NULL DEFAULT NULL COMMENT '过期时间',
`is_used` int(0) NULL DEFAULT 0 COMMENT '是否已使用(0-未使用,1-已使用)',
`use_time` datetime(0) NULL DEFAULT NULL COMMENT '使用时间',
`device_info` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '设备信息',
`login_ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '登录IP',
`access_token` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '访问令牌',
`token_expire_time` datetime(0) NULL DEFAULT NULL COMMENT 'token过期时间',
`status` int(0) NULL DEFAULT 1 COMMENT '状态(0-禁用,1-启用)',
`create_user` bigint(0) NULL DEFAULT NULL,
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
`update_user` bigint(0) NULL DEFAULT NULL,
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0),
`is_deleted` int(0) NULL DEFAULT 0,
`tenant_id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '000000',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_competition_code`(`competition_id`, `invite_code`) USING BTREE,
INDEX `idx_judge`(`judge_id`) USING BTREE,
INDEX `idx_tenant`(`tenant_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '裁判邀请码表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of martial_judge_invite
CREATE TABLE `martial_live_update` (
`id` bigint(0) NOT NULL COMMENT '主键ID',
`competition_id` bigint(0) NOT NULL COMMENT '赛事ID',
`schedule_id` bigint(0) NULL DEFAULT NULL COMMENT '赛程ID',
`athlete_id` bigint(0) NULL DEFAULT NULL COMMENT '选手ID',
`update_type` int(0) NULL DEFAULT 1 COMMENT '实况类型(1-赛况,2-比分,3-精彩瞬间)',
`title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '标题',
`content` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '内容',
`images` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '图片(JSON数组)',
`score_info` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '比分信息',
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '更新时间',
`status` int(0) NULL DEFAULT 1 COMMENT '状态(1-启用,2-禁用)',
`sort_order` int(0) NULL DEFAULT 0 COMMENT '排序',
`create_user` bigint(0) NULL DEFAULT NULL,
`create_dept` bigint(0) NULL DEFAULT NULL,
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
`update_user` bigint(0) NULL DEFAULT NULL,
`is_deleted` int(0) NULL DEFAULT 0,
`tenant_id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '000000',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_competition`(`competition_id`) USING BTREE,
INDEX `idx_schedule`(`schedule_id`) USING BTREE,
INDEX `idx_update_time`(`update_time`) USING BTREE,
INDEX `idx_tenant`(`tenant_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '比赛实况表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of martial_live_update
CREATE TABLE `martial_project` (
`id` bigint(0) NOT NULL COMMENT '主键ID',
`competition_id` bigint(0) NOT NULL COMMENT '赛事ID',
`project_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '项目名称',
`project_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '项目编码',
`category` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '组别(男子组/女子组)',
`type` int(0) NULL DEFAULT 1 COMMENT '类型(1-个人,2-双人,3-集体)',
`min_participants` int(0) NULL DEFAULT 1 COMMENT '最少参赛人数',
`max_participants` int(0) NULL DEFAULT 1 COMMENT '最多参赛人数',
`min_age` int(0) NULL DEFAULT NULL COMMENT '最小年龄',
`max_age` int(0) NULL DEFAULT NULL COMMENT '最大年龄',
`gender_limit` int(0) NULL DEFAULT 0 COMMENT '性别限制(0-不限,1-仅男,2-仅女)',
`estimated_duration` int(0) NULL DEFAULT 5 COMMENT '预估时长(分钟)',
`price` decimal(10, 2) NULL DEFAULT 0.00 COMMENT '报名费用',
`registration_deadline` datetime(0) NULL DEFAULT NULL COMMENT '报名截止时间',
`description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '项目描述',
`sort_order` int(0) NULL DEFAULT 0 COMMENT '排序',
`status` int(0) NULL DEFAULT 1 COMMENT '状态(0-禁用,1-启用)',
`create_user` bigint(0) NULL DEFAULT NULL,
`create_dept` bigint(0) NULL DEFAULT NULL,
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
`update_user` bigint(0) NULL DEFAULT NULL,
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0),
`is_deleted` int(0) NULL DEFAULT 0,
`tenant_id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '000000',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_competition`(`competition_id`) USING BTREE,
INDEX `idx_tenant`(`tenant_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '比赛项目表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of martial_project
CREATE TABLE `martial_registration_order` (
`id` bigint(0) NOT NULL COMMENT '主键ID',
`order_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '订单号',
`competition_id` bigint(0) NOT NULL COMMENT '赛事ID',
`user_id` bigint(0) NULL DEFAULT NULL COMMENT '用户ID',
`user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '用户名',
`contact_person` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '联系人',
`contact_phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '联系电话',
`organization` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '所属单位',
`invoice_type` int(0) NULL DEFAULT 0 COMMENT '发票类型(0-不需要,1-普通,2-增值税)',
`invoice_title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '发票抬头',
`invoice_tax_no` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '税号',
`total_participants` int(0) NULL DEFAULT 0 COMMENT '参赛总人数',
`total_amount` decimal(10, 2) NULL DEFAULT 0.00 COMMENT '订单总金额',
`paid_amount` decimal(10, 2) NULL DEFAULT 0.00 COMMENT '已支付金额',
`refund_amount` decimal(10, 2) NULL DEFAULT 0.00 COMMENT '退款金额',
`payment_method` int(0) NULL DEFAULT NULL COMMENT '支付方式(1-微信,2-支付宝,3-线下)',
`payment_time` datetime(0) NULL DEFAULT NULL COMMENT '支付时间',
`transaction_no` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '支付交易号',
`refund_time` datetime(0) NULL DEFAULT NULL COMMENT '退款时间',
`refund_reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '退款原因',
`status` int(0) NULL DEFAULT 0 COMMENT '状态(0-待支付,1-已支付,2-已取消,3-已退款)',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
`create_user` bigint(0) NULL DEFAULT NULL,
`create_dept` bigint(0) NULL DEFAULT NULL,
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
`update_user` bigint(0) NULL DEFAULT NULL,
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0),
`is_deleted` int(0) NULL DEFAULT 0,
`tenant_id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '000000',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_order_no`(`order_no`) USING BTREE,
INDEX `idx_competition`(`competition_id`) USING BTREE,
INDEX `idx_user`(`user_id`) USING BTREE,
INDEX `idx_tenant_status`(`tenant_id`, `status`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '报名订单表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of martial_registration_order
CREATE TABLE `martial_result` (
`id` bigint(0) NOT NULL COMMENT '主键ID',
`competition_id` bigint(0) NOT NULL COMMENT '赛事ID',
`athlete_id` bigint(0) NOT NULL COMMENT '选手ID',
`project_id` bigint(0) NULL DEFAULT NULL COMMENT '项目ID',
`venue_id` bigint(0) NULL DEFAULT NULL COMMENT '场地ID',
`player_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '选手姓名',
`team_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '队伍名称',
`total_score` decimal(10, 3) NULL DEFAULT NULL COMMENT '总分(所有裁判平均分)',
`max_score` decimal(10, 3) NULL DEFAULT NULL COMMENT '最高分(去掉用)',
`min_score` decimal(10, 3) NULL DEFAULT NULL COMMENT '最低分(去掉用)',
`valid_score_count` int(0) NULL DEFAULT 0 COMMENT '有效评分数',
`original_score` decimal(10, 3) NULL DEFAULT NULL COMMENT '原始总分',
`adjusted_score` decimal(10, 3) NULL DEFAULT NULL COMMENT '调整后总分',
`difficulty_coefficient` decimal(5, 2) NULL DEFAULT 1.00 COMMENT '难度系数',
`final_score` decimal(10, 3) NULL DEFAULT NULL COMMENT '最终得分(总分*系数)',
`adjust_range` decimal(10, 3) NULL DEFAULT 0.005 COMMENT '允许调整范围',
`adjust_note` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '调整说明',
`ranking` int(0) NULL DEFAULT NULL COMMENT '排名',
`medal` int(0) NULL DEFAULT NULL COMMENT '奖牌(1-金牌,2-银牌,3-铜牌)',
`is_final` int(0) NULL DEFAULT 0 COMMENT '是否最终成绩(0-否,1-是)',
`publish_time` datetime(0) NULL DEFAULT NULL COMMENT '发布时间',
`create_user` bigint(0) NULL DEFAULT NULL,
`create_dept` bigint(0) NULL DEFAULT NULL,
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
`update_user` bigint(0) NULL DEFAULT NULL,
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0),
`status` int(0) NULL DEFAULT 1 COMMENT '状态(1-启用,2-禁用)',
`is_deleted` int(0) NULL DEFAULT 0,
`tenant_id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '000000',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `uk_competition_athlete`(`competition_id`, `athlete_id`, `project_id`) USING BTREE,
INDEX `idx_athlete`(`athlete_id`) USING BTREE,
INDEX `idx_project`(`project_id`) USING BTREE,
INDEX `idx_ranking`(`ranking`) USING BTREE,
INDEX `idx_tenant`(`tenant_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '成绩表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of martial_result
CREATE TABLE `martial_schedule` (
`id` bigint(0) NOT NULL COMMENT '主键ID',
`competition_id` bigint(0) NOT NULL COMMENT '赛事ID',
`order_id` bigint(0) NULL DEFAULT NULL COMMENT '订单ID',
`group_title` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '分组标题',
`group_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '分组编码',
`group_type` int(0) NULL DEFAULT 1 COMMENT '分组类型(1-个人,2-双人,3-集体)',
`venue_id` bigint(0) NULL DEFAULT NULL COMMENT '场地ID',
`project_id` bigint(0) NULL DEFAULT NULL COMMENT '项目ID',
`schedule_date` date NULL DEFAULT NULL COMMENT '比赛日期',
`time_slot` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '时间段',
`start_time` datetime(0) NULL DEFAULT NULL COMMENT '开始时间',
`end_time` datetime(0) NULL DEFAULT NULL COMMENT '结束时间',
`participant_count` int(0) NULL DEFAULT 0 COMMENT '参赛队伍数/人数',
`estimated_duration` int(0) NULL DEFAULT 0 COMMENT '预估时长(分钟)',
`is_confirmed` int(0) NULL DEFAULT 0 COMMENT '是否已确认(0-未确认,1-已确认)',
`status` int(0) NULL DEFAULT 0 COMMENT '状态(0-待开始,1-进行中,2-已完成)',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
`create_user` bigint(0) NULL DEFAULT NULL,
`create_dept` bigint(0) NULL DEFAULT NULL,
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
`update_user` bigint(0) NULL DEFAULT NULL,
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0),
`is_deleted` int(0) NULL DEFAULT 0,
`tenant_id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '000000',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_competition`(`competition_id`) USING BTREE,
INDEX `idx_venue`(`venue_id`) USING BTREE,
INDEX `idx_date_time`(`schedule_date`, `time_slot`) USING BTREE,
INDEX `idx_tenant`(`tenant_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '赛程编排表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of martial_schedule
CREATE TABLE `martial_schedule_athlete` (
`id` bigint(0) NOT NULL COMMENT '主键ID',
`schedule_id` bigint(0) NOT NULL COMMENT '赛程ID',
`athlete_id` bigint(0) NOT NULL COMMENT '选手ID',
`competition_id` bigint(0) NOT NULL COMMENT '赛事ID',
`order_num` int(0) NULL DEFAULT 0 COMMENT '出场顺序',
`is_completed` int(0) NULL DEFAULT 0 COMMENT '是否已完赛(0-未完赛,1-已完赛)',
`is_refereed` int(0) NULL DEFAULT 0 COMMENT '是否已裁判(0-未裁判,1-已裁判)',
`create_user` bigint(0) NULL DEFAULT NULL,
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
`update_user` bigint(0) NULL DEFAULT NULL,
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0),
`status` int(0) NULL DEFAULT 1 COMMENT '状态(1-启用,2-禁用)',
`is_deleted` int(0) NULL DEFAULT 0,
`tenant_id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '000000',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_schedule`(`schedule_id`) USING BTREE,
INDEX `idx_athlete`(`athlete_id`) USING BTREE,
INDEX `idx_competition`(`competition_id`) USING BTREE,
INDEX `idx_tenant`(`tenant_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '选手赛程关联表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of martial_schedule_athlete
CREATE TABLE `martial_score` (
`id` bigint(0) NOT NULL COMMENT '主键ID',
`competition_id` bigint(0) NOT NULL COMMENT '赛事ID',
`athlete_id` bigint(0) NOT NULL COMMENT '选手ID',
`project_id` bigint(0) NULL DEFAULT NULL COMMENT '项目ID',
`schedule_id` bigint(0) NULL DEFAULT NULL COMMENT '赛程ID',
`venue_id` bigint(0) NULL DEFAULT NULL COMMENT '场地ID',
`judge_id` bigint(0) NOT NULL COMMENT '裁判ID',
`judge_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '裁判姓名',
`score` decimal(10, 3) NOT NULL COMMENT '评分(5.000-10.000)',
`original_score` decimal(10, 3) NULL DEFAULT NULL COMMENT '原始评分(修改前)',
`deduction_items` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '选中的扣分项ID(JSON数组)',
`note` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '评分备注',
`modify_reason` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '修改原因',
`score_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '评分时间',
`modify_time` datetime(0) NULL DEFAULT NULL COMMENT '修改时间',
`ip_address` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '评分IP地址',
`status` int(0) NULL DEFAULT 1 COMMENT '状态(1-正常,2-已修改,3-已作废)',
`create_user` bigint(0) NULL DEFAULT NULL,
`create_dept` bigint(0) NULL DEFAULT NULL,
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
`update_user` bigint(0) NULL DEFAULT NULL,
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0),
`is_deleted` int(0) NULL DEFAULT 0,
`tenant_id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '000000',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_competition`(`competition_id`) USING BTREE,
INDEX `idx_athlete`(`athlete_id`) USING BTREE,
INDEX `idx_judge`(`judge_id`) USING BTREE,
INDEX `idx_tenant`(`tenant_id`) USING BTREE,
INDEX `idx_venue`(`venue_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '评分记录表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of martial_score
CREATE TABLE `martial_venue` (
`id` bigint(0) NOT NULL COMMENT '主键ID',
`competition_id` bigint(0) NOT NULL COMMENT '赛事ID',
`venue_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '场地名称',
`venue_code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '场地编码',
`location` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '场地位置',
`capacity` int(0) NULL DEFAULT 0 COMMENT '容纳人数',
`facilities` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '设施说明',
`status` int(0) NULL DEFAULT 1 COMMENT '状态(0-禁用,1-启用)',
`create_user` bigint(0) NULL DEFAULT NULL,
`create_dept` bigint(0) NULL DEFAULT NULL,
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0),
`update_user` bigint(0) NULL DEFAULT NULL,
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0),
`is_deleted` int(0) NULL DEFAULT 0,
`tenant_id` varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '000000',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_competition`(`competition_id`) USING BTREE,
INDEX `idx_tenant`(`tenant_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '场地信息表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of martial_venue
@@ -1,97 +0,0 @@
-- ==========================================
-- 更新参赛选手的所属单位名称
-- 将测试数据替换为真实合理的武术学校/单位名称
-- ==========================================
-- 武术学校和单位名称列表 (50个真实的单位名称)
-- 包含:武术学校、体育学院、中小学、武馆、体育协会等
-- 更新策略:根据ID分配不同的单位名称
UPDATE martial_athlete SET organization = '北京体育大学武术学院' WHERE id % 50 = 1 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '上海体育学院武术系' WHERE id % 50 = 2 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '河南登封少林寺武术学校' WHERE id % 50 = 3 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '武汉体育学院' WHERE id % 50 = 4 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '成都体育学院' WHERE id % 50 = 5 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '天津体育学院武术系' WHERE id % 50 = 6 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '西安体育学院' WHERE id % 50 = 7 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '沈阳体育学院' WHERE id % 50 = 8 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '广州体育学院武术系' WHERE id % 50 = 9 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '南京体育学院' WHERE id % 50 = 10 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '嵩山少林武术职业学院' WHERE id % 50 = 11 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '河北省武术运动管理中心' WHERE id % 50 = 12 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '山东省武术院' WHERE id % 50 = 13 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '江苏省武术运动协会' WHERE id % 50 = 14 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '浙江大学武术队' WHERE id % 50 = 15 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '清华大学武术协会' WHERE id % 50 = 16 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '北京大学武术队' WHERE id % 50 = 17 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '复旦大学武术社' WHERE id % 50 = 18 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '华南师范大学' WHERE id % 50 = 19 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '首都师范大学' WHERE id % 50 = 20 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '北京市什刹海体育运动学校' WHERE id % 50 = 21 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '上海市第二体育运动学校' WHERE id % 50 = 22 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '深圳市体育运动学校' WHERE id % 50 = 23 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '广东省武术协会' WHERE id % 50 = 24 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '福建省武术队' WHERE id % 50 = 25 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '陈家沟太极拳学校' WHERE id % 50 = 26 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '杨氏太极拳传承中心' WHERE id % 50 = 27 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '武当山武术学校' WHERE id % 50 = 28 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '峨眉山武术学校' WHERE id % 50 = 29 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '青城山武术院' WHERE id % 50 = 30 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '石室中学' WHERE id % 50 = 31 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '成都七中' WHERE id % 50 = 32 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '武侯实验中学' WHERE id % 50 = 33 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '树德中学' WHERE id % 50 = 34 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '成都外国语学校' WHERE id % 50 = 35 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '北京市第四中学' WHERE id % 50 = 36 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '上海中学' WHERE id % 50 = 37 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '杭州学军中学' WHERE id % 50 = 38 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '南京外国语学校' WHERE id % 50 = 39 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '华南师范大学附属中学' WHERE id % 50 = 40 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '中国人民大学附属中学' WHERE id % 50 = 41 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '西北工业大学附属中学' WHERE id % 50 = 42 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '东北师范大学附属中学' WHERE id % 50 = 43 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '重庆巴蜀中学' WHERE id % 50 = 44 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '湖南师范大学附属中学' WHERE id % 50 = 45 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '天津南开中学' WHERE id % 50 = 46 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '郑州外国语学校' WHERE id % 50 = 47 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '西安交通大学附属中学' WHERE id % 50 = 48 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '山东省实验中学' WHERE id % 50 = 49 AND is_deleted = 0;
UPDATE martial_athlete SET organization = '厦门双十中学' WHERE id % 50 = 0 AND is_deleted = 0;
-- 特别处理:为特定的知名选手设置更合适的单位
UPDATE martial_athlete SET organization = '河南省武术运动管理中心' WHERE player_name = '张三丰' AND is_deleted = 0;
UPDATE martial_athlete SET organization = '北京市武术协会' WHERE player_name = '李天龙' AND is_deleted = 0;
UPDATE martial_athlete SET organization = '上海精武体育总会' WHERE player_name = '王小红' AND is_deleted = 0;
UPDATE martial_athlete SET organization = '广东省武术队' WHERE player_name = '赵美丽' AND is_deleted = 0;
UPDATE martial_athlete SET organization = '四川省武术协会' WHERE player_name = '孙燕子' AND is_deleted = 0;
-- 查看更新结果
SELECT
id,
player_name,
organization,
team_name,
category
FROM martial_athlete
WHERE is_deleted = 0
ORDER BY id
LIMIT 30;
-- 统计各单位的参赛人数
SELECT
organization AS '所属单位',
COUNT(*) AS '参赛人数'
FROM martial_athlete
WHERE is_deleted = 0
GROUP BY organization
ORDER BY COUNT(*) DESC;