Files
martial-web/doc/schedule/versions/CHANGELOG.md
宅房 5b806e29b7
Some checks failed
continuous-integration/drone/push Build is failing
fix bugs
2025-12-11 16:56:19 +08:00

204 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 编排系统文档更新日志
> 记录编排系统文档的所有版本更新历史
## 版本规范
- **主版本号 (Major)**: 重大功能变更或架构调整,如 v1.0 → v2.0
- **次版本号 (Minor)**: 功能新增或优化,如 v1.0 → v1.1
- **修订号 (Patch)**: 文档修正、补充说明,如 v1.0.1 → v1.0.2
---
## [v1.0] - 2025-12-10
### 新增内容
#### 系统概述
- 功能简介:自动编排、手动调整、场地管理、草稿保存、锁定发布、数据导出
- 技术栈Vue 2.x + Element UI + Spring Boot + MyBatis Plus + MySQL 8.0
#### 架构设计
- 系统架构图(前端层、后端层、数据库层)
- 模块划分(前端模块、后端模块)
- 详细的文件结构说明
#### 数据库设计
- 核心表设计4张表
- `martial_schedule_group` - 赛程编排分组表
- `martial_schedule_detail` - 赛程编排明细表
- `martial_schedule_participant` - 赛程编排参赛者关联表
- `martial_schedule_status` - 赛程编排状态表
- 关联表说明(`martial_athlete`, `martial_venue`
- 表关系图和关键字段说明
- 完整的建表SQL和索引设计
#### 后端实现
- Controller层实现
- `MartialScheduleArrangeController` - 编排控制器
- 主要接口:获取编排结果、保存草稿、完成并锁定、手动触发编排
- Service层实现
- 核心方法:`getScheduleResult()` - 获取编排结果
- 核心方法:`saveDraftSchedule()` - 保存编排草稿
- 数据流程和事务处理
- Mapper层实现
- 关键SQL查询LEFT JOIN优化
- 避免N+1查询问题的最佳实践
#### 前端实现
- 页面结构index.vue
- 头部布局(返回按钮、标题、异常组按钮)
- Tab切换竞赛分组、场地
- 场地选择器、时间段选择器
- 竞赛分组列表和表格
- 底部操作按钮
- 核心数据结构
- 基础信息字段
- UI状态字段
- 编排数据结构
- 核心方法实现
- `loadScheduleData()` - 加载编排数据
- `handleSaveDraft()` - 保存草稿
- `handleMoveUp/Down()` - 上移/下移
- `markAsException()` - 标记异常
- API调用activitySchedule.js
- `getScheduleResult()` - 获取编排结果
- `saveDraftSchedule()` - 保存草稿
- `saveAndLockSchedule()` - 保存并锁定
#### 数据流转
- 完整流程图8个步骤
- 用户进入页面 → 前端加载 → 后端查询 → 数据返回 → 前端渲染 → 用户操作 → 保存草稿 → 完成编排
- 数据库操作流程
- 查询编排数据的SQL
- 保存草稿数据的事务处理
#### 核心功能
- 场地和时间段过滤(计算属性实现)
- 参赛者顺序调整(上移、下移)
- 分组移动(跨场地、跨时间段)
- 异常标记(异常组管理)
- 草稿保存(增量更新)
- 完成编排(锁定机制)
#### API接口文档
- GET `/api/martial/schedule/result` - 获取编排结果
- POST `/api/martial/schedule/save-draft` - 保存编排草稿
- POST `/api/martial/schedule/save-and-lock` - 完成编排并锁定
- GET `/api/martial/venue/list-by-competition` - 获取场地列表
- GET `/api/martial/competition/detail` - 获取赛事详情
- 包含请求参数、响应示例、错误码说明
#### 关键代码解析
- 计算属性 `filteredCompetitionGroups` 的实现原理
- 生成时间段列表的算法
- 保存草稿的数据转换逻辑
- 后端数据组装的性能优化
#### 使用指南
- 管理员操作流程(进入页面、查看数据、调整编排、保存草稿、完成编排)
- 常见问题解答
- 为什么编排数据为空?
- 为什么无法编辑?
- 保存草稿失败怎么办?
- 开发调试方法
- 前端调试技巧
- 后端调试技巧
- 数据库调试SQL
#### 附录
- 数据字典(编排状态、项目类型、参赛者状态)
- 相关文档链接
- 更新日志
### 文档特色
- **完整性**覆盖从前端到后端、从UI到数据库的完整技术栈
- **实用性**:包含大量代码示例和实际操作流程
- **可读性**:清晰的章节结构、流程图、表格说明
- **可维护性**:详细的注释和说明,便于后续维护
### 文件信息
- **文件名**: `schedule-complete-guide.md`
- **文件大小**: ~62 KB
- **总行数**: 1857 行
- **主要章节**: 11 个
- **代码示例**: 50+ 个
- **SQL语句**: 10+ 个
- **流程图**: 5 个
---
## 版本对比
| 版本 | 发布日期 | 主要内容 | 文件大小 | 行数 |
|------|----------|----------|----------|------|
| v1.0 | 2025-12-10 | 初始版本,完整技术方案 | ~62 KB | 1857 |
---
## 待规划版本
### v1.1 (计划中)
可能的更新方向:
- **性能优化章节**
- 前端虚拟滚动优化
- 后端分页查询优化
- 缓存策略设计
- **扩展功能**
- 批量操作功能
- 撤销/重做功能
- 编排历史记录
- **集成测试**
- 单元测试用例
- 集成测试方案
- 性能测试报告
### v2.0 (未来)
可能的重大更新:
- 微服务架构改造
- 前端升级到 Vue 3
- 实时协同编排功能
- AI智能编排算法
---
## 文档维护说明
### 更新规范
1. **修改主文档**
- 所有修改都在 `schedule-complete-guide.md` 中进行
- 更新文档头部的版本信息和更新日期
2. **发布新版本**
- 确定版本号(根据修改程度)
- 复制主文档到 `versions/vX.X/` 目录
- 更新本 CHANGELOG.md 文件
- 更新 README.md 中的版本信息
3. **归档旧版本**
- 不再维护的文档移到 `archive/` 目录
- 在文档顶部添加 **已废弃** 标记
### 版本命名示例
```
v1.0 - 初始版本
v1.1 - 新增性能优化章节
v1.1.1 - 修正API文档中的错误
v1.2 - 新增集成测试章节
v2.0 - 架构重构升级到Vue 3
```
---
**文档最后更新**: 2025-12-10