chore(db): clean legacy sql assets and standardize migrations
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
# SQL Notes
|
||||
|
||||
Legacy manual SQL files were removed during cleanup.
|
||||
|
||||
Use Flyway migrations under `src/main/resources/db/migration/` for all schema changes.
|
||||
@@ -1,13 +0,0 @@
|
||||
-- 为成绩计算引擎添加难度系数字段
|
||||
-- 日期: 2025-11-30
|
||||
-- 功能: 支持成绩计算时应用难度系数
|
||||
|
||||
-- 添加难度系数字段到 martial_project 表
|
||||
ALTER TABLE martial_project
|
||||
ADD COLUMN difficulty_coefficient DECIMAL(5,2) DEFAULT 1.00 COMMENT '难度系数(默认1.00)';
|
||||
|
||||
-- 更新说明:
|
||||
-- 1. 该字段用于成绩计算引擎中的 Task 1.3 (应用难度系数)
|
||||
-- 2. 默认值为 1.00,表示不调整分数
|
||||
-- 3. 可设置为 > 1.00 (加分) 或 < 1.00 (减分)
|
||||
-- 4. 精度为小数点后2位,支持 0.01 - 999.99 范围
|
||||
@@ -1,30 +0,0 @@
|
||||
-- 创建异常事件表
|
||||
-- 日期: 2025-11-30
|
||||
-- 功能: 记录比赛日异常情况
|
||||
|
||||
CREATE TABLE IF NOT EXISTS martial_exception_event (
|
||||
id BIGINT PRIMARY KEY COMMENT 'ID',
|
||||
tenant_id VARCHAR(12) DEFAULT '000000' COMMENT '租户ID',
|
||||
competition_id BIGINT NOT NULL COMMENT '赛事ID',
|
||||
schedule_id BIGINT COMMENT '赛程ID',
|
||||
athlete_id BIGINT COMMENT '运动员ID',
|
||||
event_type INT NOT NULL COMMENT '事件类型 1-器械故障 2-受伤 3-评分争议 4-其他',
|
||||
event_description VARCHAR(500) COMMENT '事件描述',
|
||||
handler_name VARCHAR(50) COMMENT '处理人',
|
||||
handle_result VARCHAR(500) COMMENT '处理结果',
|
||||
handle_time DATETIME COMMENT '处理时间',
|
||||
status INT DEFAULT 0 COMMENT '状态 0-待处理 1-已处理',
|
||||
create_user BIGINT COMMENT '创建人',
|
||||
create_dept BIGINT COMMENT '创建部门',
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
update_user BIGINT COMMENT '更新人',
|
||||
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
is_deleted INT DEFAULT 0 COMMENT '是否已删除 0-未删除 1-已删除'
|
||||
) COMMENT '异常事件表';
|
||||
|
||||
-- 创建索引
|
||||
CREATE INDEX idx_competition_id ON martial_exception_event(competition_id);
|
||||
CREATE INDEX idx_schedule_id ON martial_exception_event(schedule_id);
|
||||
CREATE INDEX idx_athlete_id ON martial_exception_event(athlete_id);
|
||||
CREATE INDEX idx_status ON martial_exception_event(status);
|
||||
CREATE INDEX idx_event_type ON martial_exception_event(event_type);
|
||||
@@ -1,25 +0,0 @@
|
||||
-- 创建裁判-项目关联表
|
||||
-- 日期: 2025-11-30
|
||||
-- 功能: 管理裁判对项目的评分权限
|
||||
|
||||
CREATE TABLE IF NOT EXISTS martial_judge_project (
|
||||
id BIGINT PRIMARY KEY COMMENT 'ID',
|
||||
tenant_id VARCHAR(12) DEFAULT '000000' COMMENT '租户ID',
|
||||
competition_id BIGINT NOT NULL COMMENT '赛事ID',
|
||||
judge_id BIGINT NOT NULL COMMENT '裁判ID',
|
||||
project_id BIGINT NOT NULL COMMENT '项目ID',
|
||||
assign_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '分配时间',
|
||||
status INT DEFAULT 1 COMMENT '状态 0-禁用 1-启用',
|
||||
create_user BIGINT COMMENT '创建人',
|
||||
create_dept BIGINT COMMENT '创建部门',
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
update_user BIGINT COMMENT '更新人',
|
||||
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
is_deleted INT DEFAULT 0 COMMENT '是否已删除 0-未删除 1-已删除',
|
||||
UNIQUE KEY uk_judge_project (competition_id, judge_id, project_id, is_deleted)
|
||||
) COMMENT '裁判项目关联表';
|
||||
|
||||
-- 创建索引
|
||||
CREATE INDEX idx_judge_id ON martial_judge_project(judge_id);
|
||||
CREATE INDEX idx_project_id ON martial_judge_project(project_id);
|
||||
CREATE INDEX idx_competition_id ON martial_judge_project(competition_id);
|
||||
@@ -1,169 +0,0 @@
|
||||
-- =============================================
|
||||
-- 编排调度功能 - 数据库表创建脚本
|
||||
-- 创建时间: 2025-11-30
|
||||
-- 说明: 创建编排调度相关的5张表
|
||||
-- =============================================
|
||||
|
||||
-- 1. 编排方案表
|
||||
CREATE TABLE IF NOT EXISTS martial_schedule_plan (
|
||||
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
|
||||
competition_id BIGINT NOT NULL COMMENT '赛事ID',
|
||||
plan_name VARCHAR(100) COMMENT '方案名称',
|
||||
plan_type TINYINT DEFAULT 1 COMMENT '方案类型: 1-自动生成, 2-手动调整',
|
||||
status TINYINT DEFAULT 0 COMMENT '状态: 0-草稿, 1-已确认, 2-已发布',
|
||||
|
||||
-- 编排参数
|
||||
start_time DATETIME COMMENT '比赛开始时间',
|
||||
end_time DATETIME COMMENT '比赛结束时间',
|
||||
venue_count INT DEFAULT 0 COMMENT '场地数量',
|
||||
time_slot_duration INT DEFAULT 30 COMMENT '时间段长度(分钟)',
|
||||
|
||||
-- 规则配置
|
||||
rules JSON COMMENT '编排规则配置',
|
||||
|
||||
-- 统计信息
|
||||
total_matches INT DEFAULT 0 COMMENT '总场次',
|
||||
conflict_count INT DEFAULT 0 COMMENT '冲突数量',
|
||||
|
||||
-- 审计字段
|
||||
created_by BIGINT COMMENT '创建人',
|
||||
approved_by BIGINT COMMENT '审批人',
|
||||
approved_time DATETIME COMMENT '审批时间',
|
||||
published_time DATETIME COMMENT '发布时间',
|
||||
|
||||
-- 标准字段
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
is_deleted TINYINT DEFAULT 0 COMMENT '是否删除: 0-否, 1-是',
|
||||
|
||||
INDEX idx_competition (competition_id),
|
||||
INDEX idx_status (status),
|
||||
INDEX idx_create_time (create_time)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='编排方案表';
|
||||
|
||||
-- 2. 时间槽表
|
||||
CREATE TABLE IF NOT EXISTS martial_schedule_slot (
|
||||
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
|
||||
plan_id BIGINT NOT NULL COMMENT '编排方案ID',
|
||||
venue_id BIGINT COMMENT '场地ID',
|
||||
|
||||
-- 时间信息
|
||||
slot_date DATE COMMENT '比赛日期',
|
||||
start_time TIME COMMENT '开始时间',
|
||||
end_time TIME COMMENT '结束时间',
|
||||
duration INT DEFAULT 0 COMMENT '时长(分钟)',
|
||||
|
||||
-- 项目信息
|
||||
project_id BIGINT COMMENT '项目ID',
|
||||
category VARCHAR(50) COMMENT '组别',
|
||||
|
||||
-- 排序
|
||||
sort_order INT DEFAULT 0 COMMENT '排序号',
|
||||
|
||||
-- 状态
|
||||
status TINYINT DEFAULT 0 COMMENT '状态: 0-未开始, 1-进行中, 2-已完成',
|
||||
|
||||
-- 标准字段
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
is_deleted TINYINT DEFAULT 0 COMMENT '是否删除: 0-否, 1-是',
|
||||
|
||||
INDEX idx_plan (plan_id),
|
||||
INDEX idx_venue (venue_id),
|
||||
INDEX idx_time (slot_date, start_time),
|
||||
INDEX idx_project (project_id),
|
||||
INDEX idx_status (status)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='编排时间槽表';
|
||||
|
||||
-- 3. 运动员-时间槽关联表
|
||||
CREATE TABLE IF NOT EXISTS martial_schedule_athlete_slot (
|
||||
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
|
||||
slot_id BIGINT NOT NULL COMMENT '时间槽ID',
|
||||
athlete_id BIGINT NOT NULL COMMENT '运动员ID',
|
||||
|
||||
-- 出场信息
|
||||
appearance_order INT DEFAULT 0 COMMENT '出场顺序',
|
||||
estimated_time TIME COMMENT '预计出场时间',
|
||||
|
||||
-- 状态
|
||||
check_in_status TINYINT DEFAULT 0 COMMENT '签到状态: 0-未签到, 1-已签到',
|
||||
performance_status TINYINT DEFAULT 0 COMMENT '比赛状态: 0-未开始, 1-进行中, 2-已完成',
|
||||
|
||||
-- 调整记录
|
||||
is_adjusted TINYINT DEFAULT 0 COMMENT '是否调整过',
|
||||
adjust_note VARCHAR(200) COMMENT '调整备注',
|
||||
|
||||
-- 标准字段
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
is_deleted TINYINT DEFAULT 0 COMMENT '是否删除: 0-否, 1-是',
|
||||
|
||||
INDEX idx_slot (slot_id),
|
||||
INDEX idx_athlete (athlete_id),
|
||||
INDEX idx_order (appearance_order),
|
||||
UNIQUE KEY uk_slot_athlete (slot_id, athlete_id)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='运动员时间槽关联表';
|
||||
|
||||
-- 4. 编排冲突记录表
|
||||
CREATE TABLE IF NOT EXISTS martial_schedule_conflict (
|
||||
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
|
||||
plan_id BIGINT NOT NULL COMMENT '编排方案ID',
|
||||
conflict_type TINYINT COMMENT '冲突类型: 1-时间冲突, 2-场地冲突, 3-规则违反',
|
||||
severity TINYINT COMMENT '严重程度: 1-警告, 2-错误, 3-致命',
|
||||
|
||||
-- 冲突详情
|
||||
entity_type VARCHAR(20) COMMENT '实体类型: athlete/venue/slot',
|
||||
entity_id BIGINT COMMENT '实体ID',
|
||||
conflict_description TEXT COMMENT '冲突描述',
|
||||
|
||||
-- 解决状态
|
||||
is_resolved TINYINT DEFAULT 0 COMMENT '是否已解决',
|
||||
resolve_method VARCHAR(100) COMMENT '解决方法',
|
||||
|
||||
-- 标准字段
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
is_deleted TINYINT DEFAULT 0 COMMENT '是否删除: 0-否, 1-是',
|
||||
|
||||
INDEX idx_plan (plan_id),
|
||||
INDEX idx_type (conflict_type),
|
||||
INDEX idx_resolved (is_resolved)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='编排冲突记录表';
|
||||
|
||||
-- 5. 编排调整日志表
|
||||
CREATE TABLE IF NOT EXISTS martial_schedule_adjustment_log (
|
||||
id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '主键ID',
|
||||
plan_id BIGINT NOT NULL COMMENT '编排方案ID',
|
||||
|
||||
-- 操作信息
|
||||
action_type VARCHAR(20) COMMENT '操作类型: move/swap/delete/insert',
|
||||
operator_id BIGINT COMMENT '操作人ID',
|
||||
operator_name VARCHAR(50) COMMENT '操作人姓名',
|
||||
operator_role VARCHAR(20) COMMENT '操作人角色: admin/referee',
|
||||
|
||||
-- 变更详情
|
||||
before_data JSON COMMENT '变更前数据',
|
||||
after_data JSON COMMENT '变更后数据',
|
||||
reason VARCHAR(200) COMMENT '调整原因',
|
||||
|
||||
-- 时间
|
||||
action_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '操作时间',
|
||||
|
||||
INDEX idx_plan (plan_id),
|
||||
INDEX idx_operator (operator_id),
|
||||
INDEX idx_time (action_time)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='编排调整日志表';
|
||||
|
||||
-- =============================================
|
||||
-- 数据验证查询
|
||||
-- =============================================
|
||||
|
||||
-- 验证表是否创建成功
|
||||
SELECT
|
||||
TABLE_NAME,
|
||||
TABLE_COMMENT,
|
||||
TABLE_ROWS,
|
||||
CREATE_TIME
|
||||
FROM information_schema.TABLES
|
||||
WHERE TABLE_SCHEMA = 'martial_db'
|
||||
AND TABLE_NAME LIKE 'martial_schedule%'
|
||||
ORDER BY TABLE_NAME;
|
||||
@@ -1,59 +0,0 @@
|
||||
-- =====================================================
|
||||
-- 武术比赛管理系统 - 补充裁判邀请表字段
|
||||
-- 添加实体类中存在但数据库表缺失的字段
|
||||
-- Date: 2025-12-12
|
||||
-- =====================================================
|
||||
|
||||
USE martial_db;
|
||||
|
||||
-- =====================================================
|
||||
-- martial_judge_invite (裁判邀请码表) - 添加缺失字段
|
||||
-- =====================================================
|
||||
|
||||
-- 添加 invite_status 字段
|
||||
ALTER TABLE martial_judge_invite
|
||||
ADD COLUMN invite_status int DEFAULT 0 COMMENT '邀请状态(0-待回复,1-已接受,2-已拒绝,3-已取消)' AFTER token_expire_time;
|
||||
|
||||
-- 添加 invite_time 字段
|
||||
ALTER TABLE martial_judge_invite
|
||||
ADD COLUMN invite_time datetime DEFAULT NULL COMMENT '邀请时间' AFTER invite_status;
|
||||
|
||||
-- 添加 reply_time 字段
|
||||
ALTER TABLE martial_judge_invite
|
||||
ADD COLUMN reply_time datetime DEFAULT NULL COMMENT '回复时间' AFTER invite_time;
|
||||
|
||||
-- 添加 reply_note 字段
|
||||
ALTER TABLE martial_judge_invite
|
||||
ADD COLUMN reply_note varchar(500) DEFAULT NULL COMMENT '回复备注' AFTER reply_time;
|
||||
|
||||
-- 添加 contact_phone 字段
|
||||
ALTER TABLE martial_judge_invite
|
||||
ADD COLUMN contact_phone varchar(20) DEFAULT NULL COMMENT '联系电话' AFTER reply_note;
|
||||
|
||||
-- 添加 contact_email 字段
|
||||
ALTER TABLE martial_judge_invite
|
||||
ADD COLUMN contact_email varchar(100) DEFAULT NULL COMMENT '联系邮箱' AFTER contact_phone;
|
||||
|
||||
-- 添加 invite_message 字段
|
||||
ALTER TABLE martial_judge_invite
|
||||
ADD COLUMN invite_message varchar(1000) DEFAULT NULL COMMENT '邀请消息' AFTER contact_email;
|
||||
|
||||
-- 添加 cancel_reason 字段
|
||||
ALTER TABLE martial_judge_invite
|
||||
ADD COLUMN cancel_reason varchar(500) DEFAULT NULL COMMENT '取消原因' AFTER invite_message;
|
||||
|
||||
-- =====================================================
|
||||
-- 验证修改
|
||||
-- =====================================================
|
||||
SELECT '=== 裁判邀请表字段补充完成 ===' AS status;
|
||||
|
||||
-- 查看表结构
|
||||
SHOW COLUMNS FROM martial_judge_invite;
|
||||
|
||||
-- 统计字段数量
|
||||
SELECT
|
||||
'martial_judge_invite 字段数:' AS info,
|
||||
COUNT(*) AS count
|
||||
FROM information_schema.COLUMNS
|
||||
WHERE TABLE_SCHEMA='martial_db'
|
||||
AND TABLE_NAME='martial_judge_invite';
|
||||
@@ -1,147 +0,0 @@
|
||||
-- =====================================================
|
||||
-- 武术比赛管理系统 - 菜单数据
|
||||
-- 添加武术比赛管理相关菜单
|
||||
-- Date: 2025-12-12
|
||||
-- =====================================================
|
||||
|
||||
-- 注意:请根据实际情况调整菜单ID,避免与现有菜单冲突
|
||||
-- 建议先查询当前最大菜单ID: SELECT MAX(id) FROM blade_menu;
|
||||
|
||||
USE bladex;
|
||||
|
||||
-- =====================================================
|
||||
-- 1. 武术比赛管理 - 一级菜单
|
||||
-- =====================================================
|
||||
INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
|
||||
VALUES (2000000, 0, 'martial', '武术比赛', 'menu', '/martial', 'iconfont icon-quanxian', 1, 1, 0, 1, '武术比赛管理系统', 0);
|
||||
|
||||
-- =====================================================
|
||||
-- 2. 赛事管理 - 二级菜单
|
||||
-- =====================================================
|
||||
INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
|
||||
VALUES (2001000, 2000000, 'martial:competition', '赛事管理', 'menu', '/martial/competition/list', 'iconfont icon-rizhi', 1, 1, 0, 1, '赛事信息管理', 0);
|
||||
|
||||
-- =====================================================
|
||||
-- 3. 报名管理 - 二级菜单
|
||||
-- =====================================================
|
||||
INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
|
||||
VALUES (2002000, 2000000, 'martial:registration', '报名详情', 'menu', '/martial/registration/detail', 'iconfont icon-wenben', 2, 1, 0, 1, '报名信息管理', 0);
|
||||
|
||||
-- =====================================================
|
||||
-- 4. 订单管理 - 二级菜单
|
||||
-- =====================================================
|
||||
INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
|
||||
VALUES (2003000, 2000000, 'martial:order', '订单管理', 'menu', '/martial/order/list', 'iconfont icon-caidan', 3, 1, 0, 1, '订单信息管理', 0);
|
||||
|
||||
-- =====================================================
|
||||
-- 5. 参赛选手管理 - 二级菜单
|
||||
-- =====================================================
|
||||
INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
|
||||
VALUES (2004000, 2000000, 'martial:participant', '参赛选手管理', 'menu', '/martial/participant/list', 'iconfont icon-icon-', 4, 1, 0, 1, '参赛选手信息管理', 0);
|
||||
|
||||
-- =====================================================
|
||||
-- 6. 项目管理 - 二级菜单
|
||||
-- =====================================================
|
||||
INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
|
||||
VALUES (2005000, 2000000, 'martial:project', '项目管理', 'menu', '/martial/project/list', 'iconfont icon-liebiao', 5, 1, 0, 1, '比赛项目管理', 0);
|
||||
|
||||
-- =====================================================
|
||||
-- 7. 评委管理 - 二级菜单
|
||||
-- =====================================================
|
||||
INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
|
||||
VALUES (2006000, 2000000, 'martial:referee', '评委管理', 'menu', '/martial/referee/list', 'iconfont icon-quanxian', 6, 1, 0, 1, '评委信息管理', 0);
|
||||
|
||||
-- =====================================================
|
||||
-- 8. 裁判邀请 - 二级菜单 ⭐ 重点
|
||||
-- =====================================================
|
||||
INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
|
||||
VALUES (2007000, 2000000, 'martial:judgeInvite', '裁判邀请', 'menu', '/martial/judgeInvite/list', 'iconfont icon-email', 7, 1, 0, 1, '裁判邀请码管理', 0);
|
||||
|
||||
-- =====================================================
|
||||
-- 9. 裁判分配 - 二级菜单
|
||||
-- =====================================================
|
||||
INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
|
||||
VALUES (2008000, 2000000, 'martial:judgeProject', '裁判分配', 'menu', '/martial/judgeProject/list', 'iconfont icon-quanxian', 8, 1, 0, 1, '裁判项目分配', 0);
|
||||
|
||||
-- =====================================================
|
||||
-- 10. 评分管理 - 二级菜单
|
||||
-- =====================================================
|
||||
INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
|
||||
VALUES (2009000, 2000000, 'martial:score', '评分管理', 'menu', '/martial/score/index', 'iconfont icon-icon-', 9, 1, 0, 1, '评分记录管理', 0);
|
||||
|
||||
-- =====================================================
|
||||
-- 11. 扣分项管理 - 二级菜单
|
||||
-- =====================================================
|
||||
INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
|
||||
VALUES (2010000, 2000000, 'martial:deduction', '扣分项管理', 'menu', '/martial/deduction/list', 'iconfont icon-icon-', 10, 1, 0, 1, '扣分项配置管理', 0);
|
||||
|
||||
-- =====================================================
|
||||
-- 12. 成绩管理 - 二级菜单
|
||||
-- =====================================================
|
||||
INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
|
||||
VALUES (2011000, 2000000, 'martial:result', '成绩管理', 'menu', '/martial/result/list', 'iconfont icon-icon-', 11, 1, 0, 1, '成绩统计管理', 0);
|
||||
|
||||
-- =====================================================
|
||||
-- 13. 赛程计划 - 二级菜单
|
||||
-- =====================================================
|
||||
INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
|
||||
VALUES (2012000, 2000000, 'martial:schedulePlan', '赛程计划', 'menu', '/martial/schedulePlan/list', 'iconfont icon-riqi', 12, 1, 0, 1, '赛程安排管理', 0);
|
||||
|
||||
-- =====================================================
|
||||
-- 14. 选手关联 - 二级菜单
|
||||
-- =====================================================
|
||||
INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
|
||||
VALUES (2013000, 2000000, 'martial:scheduleAthlete', '选手关联', 'menu', '/martial/scheduleAthlete/list', 'iconfont icon-icon-', 13, 1, 0, 1, '赛程选手关联', 0);
|
||||
|
||||
-- =====================================================
|
||||
-- 15. 轮播图管理 - 二级菜单
|
||||
-- =====================================================
|
||||
INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
|
||||
VALUES (2014000, 2000000, 'martial:banner', '轮播图管理', 'menu', '/martial/banner/index', 'iconfont icon-tupian', 14, 1, 0, 1, '轮播图配置', 0);
|
||||
|
||||
-- =====================================================
|
||||
-- 16. 直播管理 - 二级菜单
|
||||
-- =====================================================
|
||||
INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
|
||||
VALUES (2015000, 2000000, 'martial:live', '直播管理', 'menu', '/martial/live/list', 'iconfont icon-icon-', 15, 1, 0, 1, '直播信息管理', 0);
|
||||
|
||||
-- =====================================================
|
||||
-- 17. 信息发布 - 二级菜单
|
||||
-- =====================================================
|
||||
INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
|
||||
VALUES (2016000, 2000000, 'martial:info', '信息发布', 'menu', '/martial/info/list', 'iconfont icon-wenben', 16, 1, 0, 1, '信息发布管理', 0);
|
||||
|
||||
-- =====================================================
|
||||
-- 18. 异常事件 - 二级菜单
|
||||
-- =====================================================
|
||||
INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
|
||||
VALUES (2017000, 2000000, 'martial:exception', '异常事件', 'menu', '/martial/exception/list', 'iconfont icon-icon-', 17, 1, 0, 1, '异常事件管理', 0);
|
||||
|
||||
-- =====================================================
|
||||
-- 19. 活动日程 - 二级菜单
|
||||
-- =====================================================
|
||||
INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
|
||||
VALUES (2018000, 2000000, 'martial:activity', '活动日程', 'menu', '/martial/activity/list', 'iconfont icon-riqi', 18, 1, 0, 1, '活动日程管理', 0);
|
||||
|
||||
-- =====================================================
|
||||
-- 20. 赛事规程管理 - 二级菜单
|
||||
-- =====================================================
|
||||
INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
|
||||
VALUES (2019000, 2000000, 'martial:rules', '赛事规程管理', 'menu', '/martial/rules/index', 'iconfont icon-wenben', 19, 1, 0, 1, '赛事规程文件管理', 0);
|
||||
|
||||
-- =====================================================
|
||||
-- 21. 导出中心 - 二级菜单
|
||||
-- =====================================================
|
||||
INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `remark`, `is_deleted`)
|
||||
VALUES (2020000, 2000000, 'martial:export', '导出中心', 'menu', '/martial/export/index', 'iconfont icon-icon-', 20, 1, 0, 1, '数据导出中心', 0);
|
||||
|
||||
-- =====================================================
|
||||
-- 验证插入
|
||||
-- =====================================================
|
||||
SELECT '=== 菜单数据插入完成 ===' AS status;
|
||||
|
||||
-- 查看插入的菜单
|
||||
SELECT id, parent_id, name, path, sort
|
||||
FROM blade_menu
|
||||
WHERE id >= 2000000 AND id <= 2020000
|
||||
ORDER BY id;
|
||||
@@ -1,97 +0,0 @@
|
||||
-- =====================================================
|
||||
-- 武术比赛管理系统 - 数据库字段补充脚本
|
||||
-- 基于前端需求分析,补充缺失字段
|
||||
-- Date: 2025-11-29
|
||||
-- =====================================================
|
||||
|
||||
USE martial_db;
|
||||
|
||||
-- =====================================================
|
||||
-- 1. martial_athlete (参赛选手表) - 添加4个字段
|
||||
-- =====================================================
|
||||
ALTER TABLE martial_athlete
|
||||
ADD COLUMN id_card_type int DEFAULT 1 COMMENT '证件类型(1-身份证,2-护照,3-其他)' AFTER id_card,
|
||||
ADD COLUMN birth_date date DEFAULT NULL COMMENT '出生日期' AFTER age,
|
||||
ADD COLUMN nation varchar(50) DEFAULT NULL COMMENT '民族' AFTER birth_date,
|
||||
ADD COLUMN organization_type int DEFAULT 1 COMMENT '单位类别(1-学校,2-协会,3-俱乐部,4-其他)' AFTER organization;
|
||||
|
||||
-- =====================================================
|
||||
-- 2. martial_registration_order (报名订单表) - 添加7个字段
|
||||
-- =====================================================
|
||||
ALTER TABLE martial_registration_order
|
||||
ADD COLUMN transaction_no varchar(100) DEFAULT NULL COMMENT '支付交易号' AFTER payment_time,
|
||||
ADD COLUMN refund_amount decimal(10,2) DEFAULT 0.00 COMMENT '退款金额' AFTER paid_amount,
|
||||
ADD COLUMN refund_time datetime DEFAULT NULL COMMENT '退款时间' AFTER transaction_no,
|
||||
ADD COLUMN refund_reason varchar(500) DEFAULT NULL COMMENT '退款原因' AFTER refund_time,
|
||||
ADD COLUMN invoice_type int DEFAULT 0 COMMENT '发票类型(0-不需要,1-普通,2-增值税)' AFTER organization,
|
||||
ADD COLUMN invoice_title varchar(200) DEFAULT NULL COMMENT '发票抬头' AFTER invoice_type,
|
||||
ADD COLUMN invoice_tax_no varchar(50) DEFAULT NULL COMMENT '税号' AFTER invoice_title;
|
||||
|
||||
-- =====================================================
|
||||
-- 3. martial_score (评分表) - 添加5个字段
|
||||
-- =====================================================
|
||||
ALTER TABLE martial_score
|
||||
ADD COLUMN venue_id bigint DEFAULT NULL COMMENT '场地ID' AFTER schedule_id,
|
||||
ADD COLUMN original_score decimal(10,3) DEFAULT NULL COMMENT '原始评分(修改前)' AFTER score,
|
||||
ADD COLUMN modify_reason varchar(500) DEFAULT NULL COMMENT '修改原因' AFTER note,
|
||||
ADD COLUMN modify_time datetime DEFAULT NULL COMMENT '修改时间' AFTER score_time,
|
||||
ADD COLUMN ip_address varchar(50) DEFAULT NULL COMMENT '评分IP地址' AFTER modify_time,
|
||||
ADD INDEX idx_venue (venue_id);
|
||||
|
||||
-- =====================================================
|
||||
-- 4. martial_result (成绩表) - 添加5个字段
|
||||
-- =====================================================
|
||||
ALTER TABLE martial_result
|
||||
ADD COLUMN max_score decimal(10,3) DEFAULT NULL COMMENT '最高分(去掉用)' AFTER total_score,
|
||||
ADD COLUMN min_score decimal(10,3) DEFAULT NULL COMMENT '最低分(去掉用)' AFTER max_score,
|
||||
ADD COLUMN valid_score_count int DEFAULT 0 COMMENT '有效评分数' AFTER min_score,
|
||||
ADD COLUMN difficulty_coefficient decimal(5,2) DEFAULT 1.00 COMMENT '难度系数' AFTER adjusted_score,
|
||||
ADD COLUMN final_score decimal(10,3) DEFAULT NULL COMMENT '最终得分(总分*系数)' AFTER difficulty_coefficient;
|
||||
|
||||
-- =====================================================
|
||||
-- 5. martial_project (比赛项目表) - 添加4个字段
|
||||
-- =====================================================
|
||||
ALTER TABLE martial_project
|
||||
ADD COLUMN min_age int DEFAULT NULL COMMENT '最小年龄' AFTER max_participants,
|
||||
ADD COLUMN max_age int DEFAULT NULL COMMENT '最大年龄' AFTER min_age,
|
||||
ADD COLUMN gender_limit int DEFAULT 0 COMMENT '性别限制(0-不限,1-仅男,2-仅女)' AFTER max_age,
|
||||
ADD COLUMN registration_deadline datetime DEFAULT NULL COMMENT '报名截止时间' AFTER price;
|
||||
|
||||
-- =====================================================
|
||||
-- 6. martial_banner (轮播图表) - 添加4个字段
|
||||
-- =====================================================
|
||||
ALTER TABLE martial_banner
|
||||
ADD COLUMN position int DEFAULT 1 COMMENT '显示位置(1-首页,2-赛事详情,3-其他)' AFTER title,
|
||||
ADD COLUMN start_time datetime DEFAULT NULL COMMENT '开始显示时间' AFTER sort_order,
|
||||
ADD COLUMN end_time datetime DEFAULT NULL COMMENT '结束显示时间' AFTER start_time,
|
||||
ADD COLUMN click_count int DEFAULT 0 COMMENT '点击次数' AFTER end_time;
|
||||
|
||||
-- =====================================================
|
||||
-- 7. martial_info_publish (信息发布表) - 添加3个字段
|
||||
-- =====================================================
|
||||
ALTER TABLE martial_info_publish
|
||||
ADD COLUMN view_count int DEFAULT 0 COMMENT '阅读次数' AFTER sort_order,
|
||||
ADD COLUMN attachments varchar(1000) DEFAULT NULL COMMENT '附件(JSON)' AFTER images,
|
||||
ADD COLUMN publisher_name varchar(50) DEFAULT NULL COMMENT '发布人姓名' AFTER publish_time;
|
||||
|
||||
-- =====================================================
|
||||
-- 8. martial_judge_invite (裁判邀请码表) - 添加4个字段
|
||||
-- =====================================================
|
||||
ALTER TABLE martial_judge_invite
|
||||
ADD COLUMN device_info varchar(500) DEFAULT NULL COMMENT '设备信息' AFTER use_time,
|
||||
ADD COLUMN login_ip varchar(50) DEFAULT NULL COMMENT '登录IP' AFTER device_info,
|
||||
ADD COLUMN access_token varchar(500) DEFAULT NULL COMMENT '访问令牌' AFTER login_ip,
|
||||
ADD COLUMN token_expire_time datetime DEFAULT NULL COMMENT 'token过期时间' AFTER access_token;
|
||||
|
||||
-- =====================================================
|
||||
-- 验证修改
|
||||
-- =====================================================
|
||||
SELECT '=== 字段补充完成 ===' AS status;
|
||||
SELECT 'martial_athlete 字段数:', COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='martial_db' AND TABLE_NAME='martial_athlete';
|
||||
SELECT 'martial_registration_order 字段数:', COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='martial_db' AND TABLE_NAME='martial_registration_order';
|
||||
SELECT 'martial_score 字段数:', COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='martial_db' AND TABLE_NAME='martial_score';
|
||||
SELECT 'martial_result 字段数:', COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='martial_db' AND TABLE_NAME='martial_result';
|
||||
SELECT 'martial_project 字段数:', COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='martial_db' AND TABLE_NAME='martial_project';
|
||||
SELECT 'martial_banner 字段数:', COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='martial_db' AND TABLE_NAME='martial_banner';
|
||||
SELECT 'martial_info_publish 字段数:', COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='martial_db' AND TABLE_NAME='martial_info_publish';
|
||||
SELECT 'martial_judge_invite 字段数:', COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='martial_db' AND TABLE_NAME='martial_judge_invite';
|
||||
@@ -1,19 +0,0 @@
|
||||
-- 添加缺失的 status 字段到4张表
|
||||
-- 生成时间: 2025-11-29
|
||||
-- 说明: 所有继承 TenantEntity 的实体类都需要 status 字段
|
||||
|
||||
-- 1. martial_athlete 表添加 status 字段
|
||||
ALTER TABLE martial_athlete
|
||||
ADD COLUMN status int DEFAULT 1 COMMENT '状态(1-启用,2-禁用)' AFTER update_time;
|
||||
|
||||
-- 2. martial_live_update 表添加 status 字段
|
||||
ALTER TABLE martial_live_update
|
||||
ADD COLUMN status int DEFAULT 1 COMMENT '状态(1-启用,2-禁用)' AFTER update_time;
|
||||
|
||||
-- 3. martial_result 表添加 status 字段
|
||||
ALTER TABLE martial_result
|
||||
ADD COLUMN status int DEFAULT 1 COMMENT '状态(1-启用,2-禁用)' AFTER update_time;
|
||||
|
||||
-- 4. martial_schedule_athlete 表添加 status 字段
|
||||
ALTER TABLE martial_schedule_athlete
|
||||
ADD COLUMN status int DEFAULT 1 COMMENT '状态(1-启用,2-禁用)' AFTER update_time;
|
||||
@@ -1,570 +0,0 @@
|
||||
-- =====================================================
|
||||
-- 武术比赛管理系统 - 完整数据库设计
|
||||
-- Database: martial_db
|
||||
-- Author: Claude Code
|
||||
-- Date: 2025-11-29
|
||||
-- =====================================================
|
||||
|
||||
-- 设置字符集
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- =====================================================
|
||||
-- 1. 赛事管理核心表
|
||||
-- =====================================================
|
||||
|
||||
-- 赛事信息表
|
||||
DROP TABLE IF EXISTS `martial_competition`;
|
||||
CREATE TABLE `martial_competition` (
|
||||
`id` bigint NOT NULL COMMENT '主键ID',
|
||||
`competition_name` varchar(200) NOT NULL COMMENT '赛事名称',
|
||||
`competition_code` varchar(50) NOT NULL COMMENT '赛事编码(用于裁判登录)',
|
||||
`organizer` varchar(200) DEFAULT NULL COMMENT '主办单位',
|
||||
`location` varchar(100) DEFAULT NULL COMMENT '地区',
|
||||
`venue` varchar(200) DEFAULT NULL COMMENT '详细地点',
|
||||
`registration_start_time` datetime DEFAULT NULL COMMENT '报名开始时间',
|
||||
`registration_end_time` datetime DEFAULT NULL COMMENT '报名结束时间',
|
||||
`competition_start_time` datetime DEFAULT NULL COMMENT '比赛开始时间',
|
||||
`competition_end_time` datetime DEFAULT NULL COMMENT '比赛结束时间',
|
||||
`introduction` text COMMENT '赛事简介',
|
||||
`poster_images` varchar(1000) DEFAULT NULL COMMENT '宣传图片(JSON数组)',
|
||||
`contact_person` varchar(50) DEFAULT NULL COMMENT '联系人',
|
||||
`contact_phone` varchar(20) DEFAULT NULL COMMENT '联系电话',
|
||||
`contact_email` varchar(100) DEFAULT NULL COMMENT '联系邮箱',
|
||||
`rules` text COMMENT '竞赛规则',
|
||||
`requirements` text COMMENT '参赛要求',
|
||||
`awards` text COMMENT '奖项设置',
|
||||
`regulation_files` varchar(1000) DEFAULT NULL COMMENT '规程文件(JSON数组)',
|
||||
`total_participants` int DEFAULT 0 COMMENT '报名总人数',
|
||||
`total_amount` decimal(10,2) DEFAULT 0.00 COMMENT '报名总金额',
|
||||
`status` int DEFAULT 0 COMMENT '状态(0-未开始,1-报名中,2-比赛中,3-已结束,4-已取消)',
|
||||
`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 '是否已删除',
|
||||
`tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_code` (`competition_code`),
|
||||
KEY `idx_tenant_status` (`tenant_id`,`status`),
|
||||
KEY `idx_time` (`competition_start_time`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='赛事信息表';
|
||||
|
||||
-- 比赛项目表
|
||||
DROP TABLE IF EXISTS `martial_project`;
|
||||
CREATE TABLE `martial_project` (
|
||||
`id` bigint NOT NULL COMMENT '主键ID',
|
||||
`competition_id` bigint NOT NULL COMMENT '赛事ID',
|
||||
`project_name` varchar(100) NOT NULL COMMENT '项目名称',
|
||||
`project_code` varchar(50) DEFAULT NULL COMMENT '项目编码',
|
||||
`category` varchar(50) DEFAULT NULL COMMENT '组别(男子组/女子组)',
|
||||
`type` int DEFAULT 1 COMMENT '类型(1-个人,2-双人,3-集体)',
|
||||
`min_participants` int DEFAULT 1 COMMENT '最少参赛人数',
|
||||
`max_participants` int DEFAULT 1 COMMENT '最多参赛人数',
|
||||
`estimated_duration` int DEFAULT 5 COMMENT '预估时长(分钟)',
|
||||
`price` decimal(10,2) DEFAULT 0.00 COMMENT '报名费用',
|
||||
`description` varchar(500) DEFAULT NULL COMMENT '项目描述',
|
||||
`sort_order` int DEFAULT 0 COMMENT '排序',
|
||||
`status` int DEFAULT 1 COMMENT '状态(0-禁用,1-启用)',
|
||||
`create_user` bigint DEFAULT NULL,
|
||||
`create_dept` bigint DEFAULT NULL,
|
||||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_user` bigint DEFAULT NULL,
|
||||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`is_deleted` int DEFAULT 0,
|
||||
`tenant_id` varchar(12) DEFAULT '000000',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_competition` (`competition_id`),
|
||||
KEY `idx_tenant` (`tenant_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='比赛项目表';
|
||||
|
||||
-- 场地信息表
|
||||
DROP TABLE IF EXISTS `martial_venue`;
|
||||
CREATE TABLE `martial_venue` (
|
||||
`id` bigint NOT NULL COMMENT '主键ID',
|
||||
`competition_id` bigint NOT NULL COMMENT '赛事ID',
|
||||
`venue_name` varchar(100) NOT NULL COMMENT '场地名称',
|
||||
`venue_code` varchar(50) DEFAULT NULL COMMENT '场地编码',
|
||||
`location` varchar(200) DEFAULT NULL COMMENT '场地位置',
|
||||
`capacity` int DEFAULT 0 COMMENT '容纳人数',
|
||||
`facilities` varchar(500) DEFAULT NULL COMMENT '设施说明',
|
||||
`status` int DEFAULT 1 COMMENT '状态(0-禁用,1-启用)',
|
||||
`create_user` bigint DEFAULT NULL,
|
||||
`create_dept` bigint DEFAULT NULL,
|
||||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_user` bigint DEFAULT NULL,
|
||||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`is_deleted` int DEFAULT 0,
|
||||
`tenant_id` varchar(12) DEFAULT '000000',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_competition` (`competition_id`),
|
||||
KEY `idx_tenant` (`tenant_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='场地信息表';
|
||||
|
||||
-- =====================================================
|
||||
-- 2. 报名订单相关表
|
||||
-- =====================================================
|
||||
|
||||
-- 报名订单表
|
||||
DROP TABLE IF EXISTS `martial_registration_order`;
|
||||
CREATE TABLE `martial_registration_order` (
|
||||
`id` bigint NOT NULL COMMENT '主键ID',
|
||||
`order_no` varchar(50) NOT NULL COMMENT '订单号',
|
||||
`competition_id` bigint NOT NULL COMMENT '赛事ID',
|
||||
`user_id` bigint DEFAULT NULL COMMENT '用户ID',
|
||||
`user_name` varchar(50) DEFAULT NULL COMMENT '用户名',
|
||||
`contact_person` varchar(50) DEFAULT NULL COMMENT '联系人',
|
||||
`contact_phone` varchar(20) DEFAULT NULL COMMENT '联系电话',
|
||||
`organization` varchar(200) DEFAULT NULL COMMENT '所属单位',
|
||||
`total_participants` int DEFAULT 0 COMMENT '参赛总人数',
|
||||
`total_amount` decimal(10,2) DEFAULT 0.00 COMMENT '订单总金额',
|
||||
`paid_amount` decimal(10,2) DEFAULT 0.00 COMMENT '已支付金额',
|
||||
`payment_method` int DEFAULT NULL COMMENT '支付方式(1-微信,2-支付宝,3-线下)',
|
||||
`payment_time` datetime DEFAULT NULL COMMENT '支付时间',
|
||||
`status` int DEFAULT 0 COMMENT '状态(0-待支付,1-已支付,2-已取消,3-已退款)',
|
||||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||
`create_user` bigint DEFAULT NULL,
|
||||
`create_dept` bigint DEFAULT NULL,
|
||||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_user` bigint DEFAULT NULL,
|
||||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`is_deleted` int DEFAULT 0,
|
||||
`tenant_id` varchar(12) DEFAULT '000000',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_order_no` (`order_no`),
|
||||
KEY `idx_competition` (`competition_id`),
|
||||
KEY `idx_user` (`user_id`),
|
||||
KEY `idx_tenant_status` (`tenant_id`,`status`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报名订单表';
|
||||
|
||||
-- 参赛选手表
|
||||
DROP TABLE IF EXISTS `martial_athlete`;
|
||||
CREATE TABLE `martial_athlete` (
|
||||
`id` bigint NOT NULL COMMENT '主键ID',
|
||||
`order_id` bigint NOT NULL COMMENT '订单ID',
|
||||
`competition_id` bigint NOT NULL COMMENT '赛事ID',
|
||||
`project_id` bigint DEFAULT NULL COMMENT '项目ID',
|
||||
`player_name` varchar(50) NOT NULL COMMENT '选手姓名',
|
||||
`player_no` varchar(50) DEFAULT NULL COMMENT '参赛编号',
|
||||
`gender` int DEFAULT 1 COMMENT '性别(1-男,2-女)',
|
||||
`age` int DEFAULT NULL COMMENT '年龄',
|
||||
`id_card` varchar(18) DEFAULT NULL COMMENT '身份证号',
|
||||
`contact_phone` varchar(20) DEFAULT NULL COMMENT '联系电话',
|
||||
`organization` varchar(200) DEFAULT NULL COMMENT '所属单位',
|
||||
`team_name` varchar(100) DEFAULT NULL COMMENT '队伍名称',
|
||||
`category` varchar(50) DEFAULT NULL COMMENT '组别',
|
||||
`order_num` int DEFAULT 0 COMMENT '出场顺序',
|
||||
`introduction` varchar(500) DEFAULT NULL COMMENT '选手简介',
|
||||
`attachments` varchar(1000) DEFAULT NULL COMMENT '附件(JSON数组)',
|
||||
`photo_url` varchar(500) DEFAULT NULL COMMENT '照片URL',
|
||||
`registration_status` int DEFAULT 0 COMMENT '报名状态(0-待确认,1-已确认,2-已取消)',
|
||||
`competition_status` int DEFAULT 0 COMMENT '比赛状态(0-待出场,1-进行中,2-已完成)',
|
||||
`total_score` decimal(10,3) DEFAULT NULL COMMENT '总分',
|
||||
`ranking` int DEFAULT NULL COMMENT '排名',
|
||||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||
`create_user` bigint DEFAULT NULL,
|
||||
`create_dept` bigint DEFAULT NULL,
|
||||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_user` bigint DEFAULT NULL,
|
||||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`is_deleted` int DEFAULT 0,
|
||||
`tenant_id` varchar(12) DEFAULT '000000',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_order` (`order_id`),
|
||||
KEY `idx_competition` (`competition_id`),
|
||||
KEY `idx_project` (`project_id`),
|
||||
KEY `idx_player_no` (`player_no`),
|
||||
KEY `idx_tenant` (`tenant_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='参赛选手表';
|
||||
|
||||
-- =====================================================
|
||||
-- 3. 赛程安排相关表
|
||||
-- =====================================================
|
||||
|
||||
-- 活动日程表
|
||||
DROP TABLE IF EXISTS `martial_activity_schedule`;
|
||||
CREATE TABLE `martial_activity_schedule` (
|
||||
`id` bigint NOT NULL COMMENT '主键ID',
|
||||
`competition_id` bigint NOT NULL COMMENT '赛事ID',
|
||||
`schedule_date` date NOT NULL COMMENT '日程日期',
|
||||
`schedule_time` time DEFAULT NULL COMMENT '日程时间',
|
||||
`event_name` varchar(200) NOT NULL COMMENT '活动项目',
|
||||
`venue` varchar(200) DEFAULT NULL COMMENT '地点',
|
||||
`description` varchar(500) DEFAULT NULL COMMENT '描述',
|
||||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||
`sort_order` int DEFAULT 0 COMMENT '排序',
|
||||
`status` int DEFAULT 1 COMMENT '状态(0-未开始,1-进行中,2-已完成)',
|
||||
`create_user` bigint DEFAULT NULL,
|
||||
`create_dept` bigint DEFAULT NULL,
|
||||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_user` bigint DEFAULT NULL,
|
||||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`is_deleted` int DEFAULT 0,
|
||||
`tenant_id` varchar(12) DEFAULT '000000',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_competition` (`competition_id`),
|
||||
KEY `idx_date` (`schedule_date`),
|
||||
KEY `idx_tenant` (`tenant_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='活动日程表';
|
||||
|
||||
-- 赛程编排表(竞赛分组)
|
||||
DROP TABLE IF EXISTS `martial_schedule`;
|
||||
CREATE TABLE `martial_schedule` (
|
||||
`id` bigint NOT NULL COMMENT '主键ID',
|
||||
`competition_id` bigint NOT NULL COMMENT '赛事ID',
|
||||
`order_id` bigint DEFAULT NULL COMMENT '订单ID',
|
||||
`group_title` varchar(200) NOT NULL COMMENT '分组标题',
|
||||
`group_code` varchar(50) DEFAULT NULL COMMENT '分组编码',
|
||||
`group_type` int DEFAULT 1 COMMENT '分组类型(1-个人,2-双人,3-集体)',
|
||||
`venue_id` bigint DEFAULT NULL COMMENT '场地ID',
|
||||
`project_id` bigint DEFAULT NULL COMMENT '项目ID',
|
||||
`schedule_date` date DEFAULT NULL COMMENT '比赛日期',
|
||||
`time_slot` varchar(50) DEFAULT NULL COMMENT '时间段',
|
||||
`start_time` datetime DEFAULT NULL COMMENT '开始时间',
|
||||
`end_time` datetime DEFAULT NULL COMMENT '结束时间',
|
||||
`participant_count` int DEFAULT 0 COMMENT '参赛队伍数/人数',
|
||||
`estimated_duration` int DEFAULT 0 COMMENT '预估时长(分钟)',
|
||||
`is_confirmed` int DEFAULT 0 COMMENT '是否已确认(0-未确认,1-已确认)',
|
||||
`status` int DEFAULT 0 COMMENT '状态(0-待开始,1-进行中,2-已完成)',
|
||||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||
`create_user` bigint DEFAULT NULL,
|
||||
`create_dept` bigint DEFAULT NULL,
|
||||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_user` bigint DEFAULT NULL,
|
||||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`is_deleted` int DEFAULT 0,
|
||||
`tenant_id` varchar(12) DEFAULT '000000',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_competition` (`competition_id`),
|
||||
KEY `idx_venue` (`venue_id`),
|
||||
KEY `idx_date_time` (`schedule_date`,`time_slot`),
|
||||
KEY `idx_tenant` (`tenant_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='赛程编排表';
|
||||
|
||||
-- 选手赛程关联表
|
||||
DROP TABLE IF EXISTS `martial_schedule_athlete`;
|
||||
CREATE TABLE `martial_schedule_athlete` (
|
||||
`id` bigint NOT NULL COMMENT '主键ID',
|
||||
`schedule_id` bigint NOT NULL COMMENT '赛程ID',
|
||||
`athlete_id` bigint NOT NULL COMMENT '选手ID',
|
||||
`competition_id` bigint NOT NULL COMMENT '赛事ID',
|
||||
`order_num` int DEFAULT 0 COMMENT '出场顺序',
|
||||
`is_completed` int DEFAULT 0 COMMENT '是否已完赛(0-未完赛,1-已完赛)',
|
||||
`is_refereed` int DEFAULT 0 COMMENT '是否已裁判(0-未裁判,1-已裁判)',
|
||||
`create_user` bigint DEFAULT NULL,
|
||||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_user` bigint DEFAULT NULL,
|
||||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`is_deleted` int DEFAULT 0,
|
||||
`tenant_id` varchar(12) DEFAULT '000000',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_schedule` (`schedule_id`),
|
||||
KEY `idx_athlete` (`athlete_id`),
|
||||
KEY `idx_competition` (`competition_id`),
|
||||
KEY `idx_tenant` (`tenant_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='选手赛程关联表';
|
||||
|
||||
-- =====================================================
|
||||
-- 4. 裁判评分相关表
|
||||
-- =====================================================
|
||||
|
||||
-- 裁判信息表
|
||||
DROP TABLE IF EXISTS `martial_judge`;
|
||||
CREATE TABLE `martial_judge` (
|
||||
`id` bigint NOT NULL COMMENT '主键ID',
|
||||
`name` varchar(50) NOT NULL COMMENT '裁判姓名',
|
||||
`gender` int DEFAULT 1 COMMENT '性别(1-男,2-女)',
|
||||
`phone` varchar(20) DEFAULT NULL COMMENT '手机号',
|
||||
`id_card` varchar(18) DEFAULT NULL COMMENT '身份证号',
|
||||
`referee_type` int DEFAULT 2 COMMENT '裁判类型(1-裁判长,2-普通裁判)',
|
||||
`level` varchar(50) DEFAULT NULL COMMENT '等级/职称',
|
||||
`specialty` varchar(200) DEFAULT NULL COMMENT '擅长项目',
|
||||
`photo_url` varchar(500) DEFAULT NULL COMMENT '照片URL',
|
||||
`remark` varchar(500) DEFAULT NULL COMMENT '备注',
|
||||
`status` int DEFAULT 1 COMMENT '状态(0-禁用,1-启用)',
|
||||
`create_user` bigint DEFAULT NULL,
|
||||
`create_dept` bigint DEFAULT NULL,
|
||||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_user` bigint DEFAULT NULL,
|
||||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`is_deleted` int DEFAULT 0,
|
||||
`tenant_id` varchar(12) DEFAULT '000000',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_phone` (`phone`),
|
||||
KEY `idx_type` (`referee_type`),
|
||||
KEY `idx_tenant_status` (`tenant_id`,`status`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='裁判信息表';
|
||||
|
||||
-- 裁判邀请码表
|
||||
DROP TABLE IF EXISTS `martial_judge_invite`;
|
||||
CREATE TABLE `martial_judge_invite` (
|
||||
`id` bigint NOT NULL COMMENT '主键ID',
|
||||
`competition_id` bigint NOT NULL COMMENT '赛事ID',
|
||||
`judge_id` bigint DEFAULT NULL COMMENT '裁判ID',
|
||||
`invite_code` varchar(50) NOT NULL COMMENT '邀请码',
|
||||
`role` varchar(20) NOT NULL COMMENT '角色(judge-普通裁判,chief_judge-裁判长)',
|
||||
`venue_id` bigint DEFAULT NULL COMMENT '分配场地ID',
|
||||
`projects` varchar(500) DEFAULT NULL COMMENT '分配项目(JSON数组)',
|
||||
`expire_time` datetime DEFAULT NULL COMMENT '过期时间',
|
||||
`is_used` int DEFAULT 0 COMMENT '是否已使用(0-未使用,1-已使用)',
|
||||
`use_time` datetime DEFAULT NULL COMMENT '使用时间',
|
||||
`status` int DEFAULT 1 COMMENT '状态(0-禁用,1-启用)',
|
||||
`create_user` bigint DEFAULT NULL,
|
||||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_user` bigint DEFAULT NULL,
|
||||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`is_deleted` int DEFAULT 0,
|
||||
`tenant_id` varchar(12) DEFAULT '000000',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_competition_code` (`competition_id`,`invite_code`),
|
||||
KEY `idx_judge` (`judge_id`),
|
||||
KEY `idx_tenant` (`tenant_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='裁判邀请码表';
|
||||
|
||||
-- 扣分项配置表
|
||||
DROP TABLE IF EXISTS `martial_deduction_item`;
|
||||
CREATE TABLE `martial_deduction_item` (
|
||||
`id` bigint NOT NULL COMMENT '主键ID',
|
||||
`item_name` varchar(200) NOT NULL COMMENT '扣分项名称',
|
||||
`item_code` varchar(50) DEFAULT NULL COMMENT '扣分项编码',
|
||||
`deduction_point` decimal(10,3) DEFAULT 0.000 COMMENT '扣分值',
|
||||
`category` varchar(50) DEFAULT NULL COMMENT '分类',
|
||||
`applicable_projects` varchar(500) DEFAULT NULL COMMENT '适用项目(JSON数组)',
|
||||
`description` varchar(500) DEFAULT NULL COMMENT '描述',
|
||||
`sort_order` int DEFAULT 0 COMMENT '排序',
|
||||
`status` int DEFAULT 1 COMMENT '状态(0-禁用,1-启用)',
|
||||
`create_user` bigint DEFAULT NULL,
|
||||
`create_dept` bigint DEFAULT NULL,
|
||||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_user` bigint DEFAULT NULL,
|
||||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`is_deleted` int DEFAULT 0,
|
||||
`tenant_id` varchar(12) DEFAULT '000000',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_tenant_status` (`tenant_id`,`status`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='扣分项配置表';
|
||||
|
||||
-- 评分记录表
|
||||
DROP TABLE IF EXISTS `martial_score`;
|
||||
CREATE TABLE `martial_score` (
|
||||
`id` bigint NOT NULL COMMENT '主键ID',
|
||||
`competition_id` bigint NOT NULL COMMENT '赛事ID',
|
||||
`athlete_id` bigint NOT NULL COMMENT '选手ID',
|
||||
`project_id` bigint DEFAULT NULL COMMENT '项目ID',
|
||||
`schedule_id` bigint DEFAULT NULL COMMENT '赛程ID',
|
||||
`judge_id` bigint NOT NULL COMMENT '裁判ID',
|
||||
`judge_name` varchar(50) DEFAULT NULL COMMENT '裁判姓名',
|
||||
`score` decimal(10,3) NOT NULL COMMENT '评分(5.000-10.000)',
|
||||
`deduction_items` varchar(500) DEFAULT NULL COMMENT '选中的扣分项ID(JSON数组)',
|
||||
`note` varchar(500) DEFAULT NULL COMMENT '评分备注',
|
||||
`score_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '评分时间',
|
||||
`status` int DEFAULT 1 COMMENT '状态(1-正常,2-已修改,3-已作废)',
|
||||
`create_user` bigint DEFAULT NULL,
|
||||
`create_dept` bigint DEFAULT NULL,
|
||||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_user` bigint DEFAULT NULL,
|
||||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`is_deleted` int DEFAULT 0,
|
||||
`tenant_id` varchar(12) DEFAULT '000000',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_competition` (`competition_id`),
|
||||
KEY `idx_athlete` (`athlete_id`),
|
||||
KEY `idx_judge` (`judge_id`),
|
||||
KEY `idx_tenant` (`tenant_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='评分记录表';
|
||||
|
||||
-- 成绩表(总分汇总)
|
||||
DROP TABLE IF EXISTS `martial_result`;
|
||||
CREATE TABLE `martial_result` (
|
||||
`id` bigint NOT NULL COMMENT '主键ID',
|
||||
`competition_id` bigint NOT NULL COMMENT '赛事ID',
|
||||
`athlete_id` bigint NOT NULL COMMENT '选手ID',
|
||||
`project_id` bigint DEFAULT NULL COMMENT '项目ID',
|
||||
`venue_id` bigint DEFAULT NULL COMMENT '场地ID',
|
||||
`player_name` varchar(50) DEFAULT NULL COMMENT '选手姓名',
|
||||
`team_name` varchar(100) DEFAULT NULL COMMENT '队伍名称',
|
||||
`total_score` decimal(10,3) DEFAULT NULL COMMENT '总分(所有裁判平均分)',
|
||||
`original_score` decimal(10,3) DEFAULT NULL COMMENT '原始总分',
|
||||
`adjusted_score` decimal(10,3) DEFAULT NULL COMMENT '调整后总分',
|
||||
`adjust_range` decimal(10,3) DEFAULT 0.005 COMMENT '允许调整范围',
|
||||
`adjust_note` varchar(500) DEFAULT NULL COMMENT '调整说明',
|
||||
`ranking` int DEFAULT NULL COMMENT '排名',
|
||||
`medal` int DEFAULT NULL COMMENT '奖牌(1-金牌,2-银牌,3-铜牌)',
|
||||
`is_final` int DEFAULT 0 COMMENT '是否最终成绩(0-否,1-是)',
|
||||
`publish_time` datetime DEFAULT NULL COMMENT '发布时间',
|
||||
`create_user` bigint DEFAULT NULL,
|
||||
`create_dept` bigint DEFAULT NULL,
|
||||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_user` bigint DEFAULT NULL,
|
||||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`is_deleted` int DEFAULT 0,
|
||||
`tenant_id` varchar(12) DEFAULT '000000',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `uk_competition_athlete` (`competition_id`,`athlete_id`,`project_id`),
|
||||
KEY `idx_athlete` (`athlete_id`),
|
||||
KEY `idx_project` (`project_id`),
|
||||
KEY `idx_ranking` (`ranking`),
|
||||
KEY `idx_tenant` (`tenant_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='成绩表';
|
||||
|
||||
-- =====================================================
|
||||
-- 5. 信息发布相关表
|
||||
-- =====================================================
|
||||
|
||||
-- 信息发布表
|
||||
DROP TABLE IF EXISTS `martial_info_publish`;
|
||||
CREATE TABLE `martial_info_publish` (
|
||||
`id` bigint NOT NULL COMMENT '主键ID',
|
||||
`competition_id` bigint DEFAULT NULL COMMENT '赛事ID(NULL表示全局)',
|
||||
`title` varchar(200) NOT NULL COMMENT '标题',
|
||||
`info_type` int DEFAULT 1 COMMENT '信息类型(1-通知,2-公告,3-重要)',
|
||||
`content` text COMMENT '内容',
|
||||
`images` varchar(1000) DEFAULT NULL COMMENT '图片(JSON数组)',
|
||||
`publish_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '发布时间',
|
||||
`is_published` int DEFAULT 0 COMMENT '是否已发布(0-未发布,1-已发布)',
|
||||
`sort_order` int DEFAULT 0 COMMENT '排序',
|
||||
`status` int DEFAULT 1 COMMENT '状态(0-禁用,1-启用)',
|
||||
`create_user` bigint DEFAULT NULL,
|
||||
`create_dept` bigint DEFAULT NULL,
|
||||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_user` bigint DEFAULT NULL,
|
||||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`is_deleted` int DEFAULT 0,
|
||||
`tenant_id` varchar(12) DEFAULT '000000',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_competition` (`competition_id`),
|
||||
KEY `idx_type` (`info_type`),
|
||||
KEY `idx_tenant_status` (`tenant_id`,`status`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='信息发布表';
|
||||
|
||||
-- 比赛实况表
|
||||
DROP TABLE IF EXISTS `martial_live_update`;
|
||||
CREATE TABLE `martial_live_update` (
|
||||
`id` bigint NOT NULL COMMENT '主键ID',
|
||||
`competition_id` bigint NOT NULL COMMENT '赛事ID',
|
||||
`schedule_id` bigint DEFAULT NULL COMMENT '赛程ID',
|
||||
`athlete_id` bigint DEFAULT NULL COMMENT '选手ID',
|
||||
`update_type` int DEFAULT 1 COMMENT '实况类型(1-赛况,2-比分,3-精彩瞬间)',
|
||||
`title` varchar(200) DEFAULT NULL COMMENT '标题',
|
||||
`content` varchar(1000) DEFAULT NULL COMMENT '内容',
|
||||
`images` varchar(1000) DEFAULT NULL COMMENT '图片(JSON数组)',
|
||||
`score_info` varchar(200) DEFAULT NULL COMMENT '比分信息',
|
||||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
`sort_order` int DEFAULT 0 COMMENT '排序',
|
||||
`create_user` bigint DEFAULT NULL,
|
||||
`create_dept` bigint DEFAULT NULL,
|
||||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_user` bigint DEFAULT NULL,
|
||||
`is_deleted` int DEFAULT 0,
|
||||
`tenant_id` varchar(12) DEFAULT '000000',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_competition` (`competition_id`),
|
||||
KEY `idx_schedule` (`schedule_id`),
|
||||
KEY `idx_update_time` (`update_time`),
|
||||
KEY `idx_tenant` (`tenant_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='比赛实况表';
|
||||
|
||||
-- 轮播图表
|
||||
DROP TABLE IF EXISTS `martial_banner`;
|
||||
CREATE TABLE `martial_banner` (
|
||||
`id` bigint NOT NULL COMMENT '主键ID',
|
||||
`title` varchar(200) NOT NULL COMMENT '轮播图标题',
|
||||
`image_url` varchar(500) NOT NULL COMMENT '轮播图图片URL',
|
||||
`link_url` varchar(500) DEFAULT NULL COMMENT '跳转链接',
|
||||
`sort_order` int DEFAULT 0 COMMENT '排序顺序',
|
||||
`status` int DEFAULT 1 COMMENT '状态(0-禁用,1-启用)',
|
||||
`create_user` bigint DEFAULT NULL,
|
||||
`create_dept` bigint DEFAULT NULL,
|
||||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
|
||||
`update_user` bigint DEFAULT NULL,
|
||||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`is_deleted` int DEFAULT 0,
|
||||
`tenant_id` varchar(12) DEFAULT '000000',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_sort` (`sort_order`),
|
||||
KEY `idx_tenant_status` (`tenant_id`,`status`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='轮播图表';
|
||||
|
||||
-- =====================================================
|
||||
-- 6. 统计分析相关视图
|
||||
-- =====================================================
|
||||
|
||||
-- 参赛人数统计视图
|
||||
CREATE OR REPLACE VIEW v_martial_participant_stats AS
|
||||
SELECT
|
||||
a.competition_id,
|
||||
a.organization AS school_unit,
|
||||
a.category,
|
||||
COUNT(CASE WHEN p.type = 1 THEN 1 END) AS individual_count,
|
||||
COUNT(CASE WHEN p.type = 2 THEN 1 END) AS dual_count,
|
||||
COUNT(CASE WHEN p.type = 3 THEN 1 END) AS team_count,
|
||||
COUNT(CASE WHEN a.gender = 2 THEN 1 END) AS female_count,
|
||||
COUNT(*) AS total_count
|
||||
FROM martial_athlete a
|
||||
LEFT JOIN martial_project p ON a.project_id = p.id
|
||||
WHERE a.is_deleted = 0
|
||||
GROUP BY a.competition_id, a.organization, a.category;
|
||||
|
||||
-- 项目时间统计视图
|
||||
CREATE OR REPLACE VIEW v_martial_project_time_stats AS
|
||||
SELECT
|
||||
p.competition_id,
|
||||
p.project_name,
|
||||
a.category AS participant_category,
|
||||
COUNT(DISTINCT a.team_name) AS team_count,
|
||||
COUNT(*) AS participant_count,
|
||||
p.estimated_duration,
|
||||
(COUNT(DISTINCT a.team_name) * p.estimated_duration) AS total_estimated_duration
|
||||
FROM martial_project p
|
||||
LEFT JOIN martial_athlete a ON p.id = a.project_id AND a.is_deleted = 0
|
||||
WHERE p.is_deleted = 0
|
||||
GROUP BY p.competition_id, p.id, p.project_name, a.category;
|
||||
|
||||
-- 金额统计视图
|
||||
CREATE OR REPLACE VIEW v_martial_amount_stats AS
|
||||
SELECT
|
||||
o.competition_id,
|
||||
a.organization AS school_unit,
|
||||
COUNT(DISTINCT a.project_id) AS project_count,
|
||||
SUM(p.price) AS total_amount
|
||||
FROM martial_registration_order o
|
||||
INNER JOIN martial_athlete a ON o.id = a.order_id AND a.is_deleted = 0
|
||||
LEFT JOIN martial_project p ON a.project_id = p.id AND p.is_deleted = 0
|
||||
WHERE o.is_deleted = 0 AND o.status = 1
|
||||
GROUP BY o.competition_id, a.organization;
|
||||
|
||||
-- =====================================================
|
||||
-- 7. 初始化基础数据
|
||||
-- =====================================================
|
||||
|
||||
-- 插入默认扣分项
|
||||
INSERT INTO `martial_deduction_item` (`id`, `item_name`, `deduction_point`, `category`, `sort_order`, `tenant_id`) VALUES
|
||||
(1, '动作不规范', 0.100, '技术动作', 1, '000000'),
|
||||
(2, '节奏失误', 0.050, '技术动作', 2, '000000'),
|
||||
(3, '器械掉落', 0.200, '器械使用', 3, '000000'),
|
||||
(4, '出界', 0.100, '场地规则', 4, '000000'),
|
||||
(5, '超时', 0.100, '时间规则', 5, '000000'),
|
||||
(6, '服装不符', 0.050, '着装要求', 6, '000000'),
|
||||
(7, '礼仪不当', 0.050, '行为规范', 7, '000000'),
|
||||
(8, '其他违规', 0.100, '其他', 8, '000000');
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
|
||||
-- =====================================================
|
||||
-- 索引优化说明
|
||||
-- =====================================================
|
||||
-- 1. 所有表都添加了 tenant_id 索引,支持多租户查询
|
||||
-- 2. 外键字段都添加了索引,提高关联查询性能
|
||||
-- 3. 常用查询字段添加了组合索引
|
||||
-- 4. 时间字段添加了索引,支持按时间范围查询
|
||||
-- 5. 状态字段添加了组合索引,支持状态过滤
|
||||
|
||||
-- =====================================================
|
||||
-- 数据完整性说明
|
||||
-- =====================================================
|
||||
-- 1. 所有主表都包含 BladeX 标准字段(create_user, create_dept, create_time, update_user, update_time, is_deleted, tenant_id)
|
||||
-- 2. 支持逻辑删除(is_deleted)
|
||||
-- 3. 支持多租户(tenant_id)
|
||||
-- 4. 所有decimal字段使用3位小数精度,满足评分需求
|
||||
-- 5. 使用datetime类型存储时间,支持精确到秒的时间记录
|
||||
@@ -1,245 +0,0 @@
|
||||
-- =====================================================
|
||||
-- 武术比赛管理系统 - 模拟测试数据
|
||||
-- Database: martial_db
|
||||
-- Author: Claude Code
|
||||
-- Date: 2025-11-29
|
||||
-- =====================================================
|
||||
|
||||
USE martial_db;
|
||||
|
||||
-- 清空现有测试数据(保留扣分项配置)
|
||||
DELETE FROM martial_score WHERE id > 0;
|
||||
DELETE FROM martial_result WHERE id > 0;
|
||||
DELETE FROM martial_schedule_athlete WHERE id > 0;
|
||||
DELETE FROM martial_schedule WHERE id > 0;
|
||||
DELETE FROM martial_judge_invite WHERE id > 0;
|
||||
DELETE FROM martial_judge WHERE id > 0;
|
||||
DELETE FROM martial_athlete WHERE id > 0;
|
||||
DELETE FROM martial_registration_order WHERE id > 0;
|
||||
DELETE FROM martial_live_update WHERE id > 0;
|
||||
DELETE FROM martial_info_publish WHERE id > 0;
|
||||
DELETE FROM martial_activity_schedule WHERE id > 0;
|
||||
DELETE FROM martial_venue WHERE id > 0;
|
||||
DELETE FROM martial_project WHERE id > 0;
|
||||
DELETE FROM martial_competition WHERE id > 0;
|
||||
DELETE FROM martial_banner WHERE id > 0;
|
||||
|
||||
-- =====================================================
|
||||
-- 1. 插入赛事数据
|
||||
-- =====================================================
|
||||
INSERT INTO `martial_competition` VALUES
|
||||
(1, '2025年全国武术散打锦标赛暨第十七届世界武术锦标赛选拔赛',
|
||||
'WS2025001',
|
||||
'国家体育总局武术运动管理中心',
|
||||
'北京市',
|
||||
'北京市朝阳区国家奥林匹克体育中心',
|
||||
'2025-01-01 00:00:00',
|
||||
'2025-02-20 23:59:59',
|
||||
'2025-06-25 08:00:00',
|
||||
'2025-06-27 18:00:00',
|
||||
'本次比赛旨在选拔优秀武术运动员参加第十七届世界武术锦标赛,展示中华武术精神,传承优秀传统文化。',
|
||||
'["https://example.com/poster1.jpg","https://example.com/poster2.jpg"]',
|
||||
'张教练',
|
||||
'13800138000',
|
||||
'wushu2025@example.com',
|
||||
'按照国家武术运动管理中心最新竞赛规则执行',
|
||||
'年龄18-35岁,持有运动员等级证书,身体健康',
|
||||
'金牌、银牌、铜牌及优秀奖',
|
||||
'["https://example.com/regulation.pdf"]',
|
||||
156,
|
||||
78000.00,
|
||||
2,
|
||||
1, 1, NOW(), 1, NOW(), 0, '000000');
|
||||
|
||||
-- =====================================================
|
||||
-- 2. 插入场地数据
|
||||
-- =====================================================
|
||||
INSERT INTO `martial_venue` VALUES
|
||||
(1, 1, '第一场地', 'VENUE-001', '主竞技馆1号场地', 500, '标准武术竞技场地,配备LED屏幕、音响设备', 1, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(2, 1, '第二场地', 'VENUE-002', '主竞技馆2号场地', 500, '标准武术竞技场地,配备LED屏幕、音响设备', 1, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(3, 1, '第三场地', 'VENUE-003', '训练馆3号场地', 300, '训练场地,配备基础设施', 1, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(4, 1, '第四场地', 'VENUE-004', '训练馆4号场地', 300, '训练场地,配备基础设施', 1, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(5, 1, '第五场地', 'VENUE-005', '备用场地', 200, '备用竞技场地', 1, 1, 1, NOW(), 1, NOW(), 0, '000000');
|
||||
|
||||
-- =====================================================
|
||||
-- 3. 插入比赛项目数据
|
||||
-- =====================================================
|
||||
INSERT INTO `martial_project` VALUES
|
||||
(1, 1, '男子组陈氏太极拳', 'PRJ-001', '男子组', 1, 1, 1, 5, 100.00, '传统陈氏太极拳套路', 1, 1, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(2, 1, '女子组长拳', 'PRJ-002', '女子组', 1, 1, 1, 5, 100.00, '长拳基本套路', 2, 1, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(3, 1, '女子组双剑(含长穗双剑)', 'PRJ-003', '女子组', 2, 2, 2, 6, 200.00, '双剑配合演练', 3, 1, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(4, 1, '男子组杨氏太极拳', 'PRJ-004', '男子组', 1, 1, 1, 5, 100.00, '杨氏太极拳套路', 4, 1, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(5, 1, '女子组刀术', 'PRJ-005', '女子组', 1, 1, 1, 4, 100.00, '传统刀术', 5, 1, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(6, 1, '男子组棍术', 'PRJ-006', '男子组', 1, 1, 1, 4, 100.00, '传统棍术', 6, 1, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(7, 1, '女子组枪术', 'PRJ-007', '女子组', 1, 1, 1, 4, 100.00, '传统枪术', 7, 1, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(8, 1, '男子组剑术', 'PRJ-008', '男子组', 1, 1, 1, 4, 100.00, '传统剑术', 8, 1, 1, 1, NOW(), 1, NOW(), 0, '000000');
|
||||
|
||||
-- =====================================================
|
||||
-- 4. 插入裁判数据
|
||||
-- =====================================================
|
||||
INSERT INTO `martial_judge` VALUES
|
||||
(1, '欧阳丽娜', 2, '13900000001', '110101198501011234', 1, '国家一级裁判', '太极拳,长拳', NULL, '主裁判', 1, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(2, '张三', 1, '13900000002', '110101198502021234', 2, '国家二级裁判', '刀剑术', NULL, '普通裁判', 1, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(3, '李四', 1, '13900000003', '110101198503031234', 2, '国家二级裁判', '棍术', NULL, '普通裁判', 1, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(4, '王五', 2, '13900000004', '110101198504041234', 2, '国家二级裁判', '枪术', NULL, '普通裁判', 1, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(5, '赵六', 1, '13900000005', '110101198505051234', 2, '国家三级裁判', '长拳', NULL, '普通裁判', 1, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(6, '陈七', 2, '13900000006', '110101198506061234', 2, '国家三级裁判', '太极拳', NULL, '普通裁判', 1, 1, 1, NOW(), 1, NOW(), 0, '000000');
|
||||
|
||||
-- =====================================================
|
||||
-- 5. 插入裁判邀请码
|
||||
-- =====================================================
|
||||
INSERT INTO `martial_judge_invite` VALUES
|
||||
(1, 1, 1, 'admin', 'chief_judge', NULL, NULL, '2025-06-30 23:59:59', 1, '2025-06-25 08:00:00', 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(2, 1, 2, 'pub', 'judge', 1, '["男子组陈氏太极拳","男子组杨氏太极拳"]', '2025-06-30 23:59:59', 1, '2025-06-25 08:15:00', 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(3, 1, 3, 'pub001', 'judge', 1, '["女子组长拳","女子组刀术"]', '2025-06-30 23:59:59', 0, NULL, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(4, 1, 4, 'pub002', 'judge', 2, '["女子组双剑","女子组枪术"]', '2025-06-30 23:59:59', 0, NULL, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(5, 1, 5, 'pub003', 'judge', 2, '["男子组棍术","男子组剑术"]', '2025-06-30 23:59:59', 0, NULL, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(6, 1, 6, 'pub004', 'judge', 3, '["女子组长拳","男子组陈氏太极拳"]', '2025-06-30 23:59:59', 0, NULL, 1, 1, NOW(), 1, NOW(), 0, '000000');
|
||||
|
||||
-- =====================================================
|
||||
-- 6. 插入报名订单数据
|
||||
-- =====================================================
|
||||
INSERT INTO `martial_registration_order` VALUES
|
||||
(1, 'ORD202506250001', 1, 1001, '用户A', '张教练', '13800001111', '少林寺武术大学院', 26, 2600.00, 2600.00, 1, '2025-01-15 10:30:00', 1, NULL, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(2, 'ORD202506250002', 1, 1002, '用户B', '李老师', '13800002222', '北京体育大学', 15, 1500.00, 1500.00, 2, '2025-01-20 14:20:00', 1, NULL, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(3, 'ORD202506250003', 1, 1003, '用户C', '王队长', '13800003333', '上海武术协会', 20, 2200.00, 2200.00, 1, '2025-02-01 09:15:00', 1, NULL, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(4, 'ORD202506250004', 1, 1004, '用户D', '赵主任', '13800004444', '武当山武术学校', 18, 1900.00, 1900.00, 3, '2025-02-10 16:45:00', 1, NULL, 1, 1, NOW(), 1, NOW(), 0, '000000');
|
||||
|
||||
-- =====================================================
|
||||
-- 7. 插入参赛选手数据(每个订单多名选手)
|
||||
-- =====================================================
|
||||
-- 订单1的选手(少林寺武术大学院 - 26人)
|
||||
INSERT INTO `martial_athlete` VALUES
|
||||
(1, 1, 1, 1, '张三丰', '123-4567898275', 1, 25, '110101199901011111', '13911111111', '少林寺武术大学院', '少林A队', '男子组', 1, '擅长陈氏太极拳', NULL, NULL, 1, 2, 8.907, 1, NULL, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(2, 1, 1, 1, '李天龙', '123-4567898276', 1, 23, '110101200001021111', '13911111112', '少林寺武术大学院', '少林A队', '男子组', 2, NULL, NULL, NULL, 1, 0, NULL, NULL, NULL, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(3, 1, 1, 2, '王小红', '123-4567898277', 2, 22, '110101200101031111', '13911111113', '少林寺武术大学院', '少林B队', '女子组', 1, NULL, NULL, NULL, 1, 0, NULL, NULL, NULL, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(4, 1, 1, 2, '赵美丽', '123-4567898278', 2, 24, '110101199901041111', '13911111114', '少林寺武术大学院', '少林B队', '女子组', 2, NULL, NULL, NULL, 1, 0, NULL, NULL, NULL, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(5, 1, 1, 5, '孙燕子', '123-4567898279', 2, 21, '110101200201051111', '13911111115', '少林寺武术大学院', '少林C队', '女子组', 1, NULL, NULL, NULL, 1, 0, NULL, NULL, NULL, 1, 1, NOW(), 1, NOW(), 0, '000000');
|
||||
|
||||
-- 继续插入更多选手(模拟26人,这里简化只插入关键数据)
|
||||
INSERT INTO `martial_athlete` (id, order_id, competition_id, project_id, player_name, player_no, gender, age, id_card, contact_phone, organization, team_name, category, order_num, registration_status, competition_status, tenant_id)
|
||||
SELECT
|
||||
5 + n, 1, 1,
|
||||
CASE (n % 4) WHEN 0 THEN 1 WHEN 1 THEN 2 WHEN 2 THEN 4 ELSE 6 END,
|
||||
CONCAT('选手', LPAD(n, 2, '0')),
|
||||
CONCAT('123-456789', LPAD(8280 + n, 4, '0')),
|
||||
((n % 2) + 1),
|
||||
18 + (n % 15),
|
||||
CONCAT('11010119', 1995 + (n % 10), LPAD((n % 12) + 1, 2, '0'), LPAD((n % 28) + 1, 2, '0'), LPAD(1111 + n, 4, '0')),
|
||||
CONCAT('139111111', LPAD(16 + n, 2, '0')),
|
||||
'少林寺武术大学院',
|
||||
CONCAT('少林', CHAR(65 + (n % 5)), '队'),
|
||||
CASE ((n % 2) + 1) WHEN 1 THEN '男子组' ELSE '女子组' END,
|
||||
n + 1,
|
||||
1, 0, '000000'
|
||||
FROM (
|
||||
SELECT @row := @row + 1 AS n
|
||||
FROM (SELECT 0 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t1,
|
||||
(SELECT 0 UNION SELECT 1 UNION SELECT 2) t2,
|
||||
(SELECT @row := 0) r
|
||||
LIMIT 21
|
||||
) numbers;
|
||||
|
||||
-- 订单2的选手(北京体育大学 - 15人)
|
||||
INSERT INTO `martial_athlete` (id, order_id, competition_id, project_id, player_name, player_no, gender, age, id_card, contact_phone, organization, team_name, category, order_num, registration_status, competition_status, tenant_id)
|
||||
SELECT
|
||||
100 + n, 2, 1,
|
||||
CASE (n % 4) WHEN 0 THEN 1 WHEN 1 THEN 3 WHEN 2 THEN 5 ELSE 7 END,
|
||||
CONCAT('北体选手', LPAD(n, 2, '0')),
|
||||
CONCAT('223-456789', LPAD(8300 + n, 4, '0')),
|
||||
((n % 2) + 1),
|
||||
19 + (n % 12),
|
||||
CONCAT('11010220', 1996 + (n % 8), LPAD((n % 12) + 1, 2, '0'), LPAD((n % 28) + 1, 2, '0'), LPAD(2222 + n, 4, '0')),
|
||||
CONCAT('139222222', LPAD(10 + n, 2, '0')),
|
||||
'北京体育大学',
|
||||
CONCAT('北体', CHAR(65 + (n % 3)), '队'),
|
||||
CASE ((n % 2) + 1) WHEN 1 THEN '男子组' ELSE '女子组' END,
|
||||
n + 1,
|
||||
1, 0, '000000'
|
||||
FROM (
|
||||
SELECT @row2 := @row2 + 1 AS n
|
||||
FROM (SELECT 0 UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t1,
|
||||
(SELECT 0 UNION SELECT 1) t2,
|
||||
(SELECT @row2 := 0) r
|
||||
LIMIT 15
|
||||
) numbers;
|
||||
|
||||
-- =====================================================
|
||||
-- 8. 插入赛程编排数据
|
||||
-- =====================================================
|
||||
INSERT INTO `martial_schedule` VALUES
|
||||
(1, 1, 1, '男子组陈氏太极拳 - 上午场', 'SCH-001', 1, 1, 1, '2025-06-25', '上午 9:00-12:00', '2025-06-25 09:00:00', '2025-06-25 12:00:00', 10, 150, 1, 1, NULL, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(2, 1, 1, '女子组长拳 - 上午场', 'SCH-002', 1, 2, 2, '2025-06-25', '上午 9:00-12:00', '2025-06-25 09:00:00', '2025-06-25 12:00:00', 8, 120, 1, 0, NULL, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(3, 1, 1, '男子组杨氏太极拳 - 下午场', 'SCH-003', 1, 1, 4, '2025-06-25', '下午 14:00-17:00', '2025-06-25 14:00:00', '2025-06-25 17:00:00', 8, 120, 1, 0, NULL, 1, 1, NOW(), 1, NOW(), 0, '000000');
|
||||
|
||||
-- =====================================================
|
||||
-- 9. 插入评分数据(张三丰的6位裁判评分)
|
||||
-- =====================================================
|
||||
INSERT INTO `martial_score` VALUES
|
||||
(1, 1, 1, 1, 1, 1, '欧阳丽娜', 8.907, '[3,6,7]', '动作流畅,但节奏稍有失误', '2025-06-25 10:15:00', 1, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(2, 1, 1, 1, 1, 2, '张三', 8.901, '[3]', '整体表现良好', '2025-06-25 10:15:30', 1, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(3, 1, 1, 1, 1, 3, '李四', 8.902, '[]', '动作规范', '2025-06-25 10:16:00', 1, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(4, 1, 1, 1, 1, 4, '王五', 8.907, '[7]', '精神面貌好', '2025-06-25 10:16:30', 1, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(5, 1, 1, 1, 1, 5, '赵六', 8.905, '[1]', '表现出色', '2025-06-25 10:17:00', 1, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(6, 1, 1, 1, 1, 6, '陈七', 8.904, '[]', '动作标准', '2025-06-25 10:17:30', 1, 1, 1, NOW(), 1, NOW(), 0, '000000');
|
||||
|
||||
-- =====================================================
|
||||
-- 10. 插入成绩数据
|
||||
-- =====================================================
|
||||
INSERT INTO `martial_result` VALUES
|
||||
(1, 1, 1, 1, 1, '张三丰', '少林A队', 8.907, 8.904, 8.907, 0.005, NULL, 1, 1, 1, '2025-06-25 10:20:00', 1, 1, NOW(), 1, NOW(), 0, '000000');
|
||||
|
||||
-- =====================================================
|
||||
-- 11. 插入活动日程
|
||||
-- =====================================================
|
||||
INSERT INTO `martial_activity_schedule` VALUES
|
||||
(1, 1, '2025-06-25', '08:00:00', '签到注册', '主会场大厅', '参赛队伍签到,领取参赛证', NULL, 1, 2, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(2, 1, '2025-06-25', '09:00:00', '开幕式', '主竞技馆', '赛事开幕仪式', NULL, 2, 2, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(3, 1, '2025-06-25', '10:00:00', '预赛第一轮', '第一/二场地', '男子组陈氏太极拳、女子组长拳预赛', NULL, 3, 1, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(4, 1, '2025-06-25', '14:00:00', '预赛第二轮', '第一/二场地', '其他项目预赛', NULL, 4, 0, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(5, 1, '2025-06-26', '09:00:00', '半决赛', '第一/二/三场地', '各项目半决赛', NULL, 5, 0, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(6, 1, '2025-06-26', '14:00:00', '决赛', '主竞技馆', '各项目决赛', NULL, 6, 0, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(7, 1, '2025-06-27', '10:00:00', '颁奖典礼', '主竞技馆', '颁发金银铜牌', NULL, 7, 0, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(8, 1, '2025-06-27', '11:30:00', '闭幕式', '主竞技馆', '赛事闭幕仪式', NULL, 8, 0, 1, 1, NOW(), 1, NOW(), 0, '000000');
|
||||
|
||||
-- =====================================================
|
||||
-- 12. 插入信息发布
|
||||
-- =====================================================
|
||||
INSERT INTO `martial_info_publish` VALUES
|
||||
(1, 1, '报名截止时间通知', 1, '请各参赛队伍注意,报名将于2025年2月20日23:59:59截止,请尽快完成报名。', NULL, '2025-01-10 10:00:00', 1, 1, 1, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(2, 1, '场地变更公告', 2, '由于天气原因,部分项目场地有所调整,请关注最新通知。', NULL, '2025-06-20 15:00:00', 1, 2, 1, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(3, 1, '疫情防控须知', 3, '请所有参赛人员配合做好疫情防控工作,进场需出示健康码和行程卡。', NULL, '2025-06-23 09:00:00', 1, 3, 1, 1, 1, NOW(), 1, NOW(), 0, '000000');
|
||||
|
||||
-- =====================================================
|
||||
-- 13. 插入比赛实况
|
||||
-- =====================================================
|
||||
INSERT INTO `martial_live_update` VALUES
|
||||
(1, 1, 1, 1, 3, '精彩瞬间', '选手张三丰完成了一套流畅的陈氏太极拳,赢得现场观众热烈掌声!', '["https://example.com/live1.jpg"]', NULL, '2025-06-25 10:18:00', 1, 1, 1, NOW(), 1, 0, '000000'),
|
||||
(2, 1, 1, 1, 2, '比分更新', '张三丰 - 男子组陈氏太极拳', NULL, '8.907分', '2025-06-25 10:20:00', 2, 1, 1, NOW(), 1, 0, '000000'),
|
||||
(3, 1, 1, NULL, 1, '赛况播报', '上午场比赛进行顺利,目前已完成10名选手的比赛。', NULL, NULL, '2025-06-25 11:00:00', 3, 1, 1, NOW(), 1, 0, '000000');
|
||||
|
||||
-- =====================================================
|
||||
-- 14. 插入轮播图
|
||||
-- =====================================================
|
||||
INSERT INTO `martial_banner` VALUES
|
||||
(1, '2025武术锦标赛盛大开幕', 'https://example.com/banner1.jpg', '/competition/detail/1', 1, 1, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(2, '报名火热进行中', 'https://example.com/banner2.jpg', '/competition/register/1', 2, 1, 1, 1, NOW(), 1, NOW(), 0, '000000'),
|
||||
(3, '往届精彩回顾', 'https://example.com/banner3.jpg', '/competition/history', 3, 1, 1, 1, NOW(), 1, NOW(), 0, '000000');
|
||||
|
||||
-- =====================================================
|
||||
-- 验证数据
|
||||
-- =====================================================
|
||||
SELECT '=== 数据插入完成 ===' AS status;
|
||||
SELECT '赛事数据:', COUNT(*) FROM martial_competition;
|
||||
SELECT '项目数据:', COUNT(*) FROM martial_project;
|
||||
SELECT '场地数据:', COUNT(*) FROM martial_venue;
|
||||
SELECT '裁判数据:', COUNT(*) FROM martial_judge;
|
||||
SELECT '订单数据:', COUNT(*) FROM martial_registration_order;
|
||||
SELECT '选手数据:', COUNT(*) FROM martial_athlete;
|
||||
SELECT '赛程数据:', COUNT(*) FROM martial_schedule;
|
||||
SELECT '评分数据:', COUNT(*) FROM martial_score;
|
||||
SELECT '成绩数据:', COUNT(*) FROM martial_result;
|
||||
SELECT '活动日程:', COUNT(*) FROM martial_activity_schedule;
|
||||
SELECT '信息发布:', COUNT(*) FROM martial_info_publish;
|
||||
SELECT '比赛实况:', COUNT(*) FROM martial_live_update;
|
||||
SELECT '轮播图:', COUNT(*) FROM martial_banner;
|
||||
Reference in New Issue
Block a user