This commit is contained in:
203
docs/SCHEDULE_DEPLOYMENT_CHECKLIST.md
Normal file
203
docs/SCHEDULE_DEPLOYMENT_CHECKLIST.md
Normal file
@@ -0,0 +1,203 @@
|
||||
# 赛程编排系统部署检查清单
|
||||
|
||||
## ✅ 部署前检查
|
||||
|
||||
### 1. 数据库检查
|
||||
- [ ] 已执行数据库表创建脚本: `create_schedule_tables.sql`
|
||||
- [ ] 已导入测试数据(可选): `create_100_team_participants.sql`
|
||||
- [ ] 数据库连接配置正确
|
||||
- [ ] 确认表名一致性:
|
||||
- 代码使用: `martial_athlete`
|
||||
- 测试数据插入: `martial_participant`
|
||||
- **需要确认**: 是否为同一张表(可能是表名重构导致)
|
||||
|
||||
### 2. 后端代码检查
|
||||
- [x] 4个实体类已创建
|
||||
- [x] 4个Mapper接口及XML已创建
|
||||
- [x] Service接口和实现已创建
|
||||
- [x] Controller已创建
|
||||
- [x] 定时任务处理器已创建
|
||||
- [x] Service层项目查询逻辑已修复
|
||||
|
||||
### 3. 前端代码检查
|
||||
- [x] 页面布局已修改
|
||||
- [x] API接口已集成
|
||||
- [x] 集体/个人项目差异化显示已实现
|
||||
- [x] 编排状态和锁定机制已添加
|
||||
|
||||
### 4. 配置检查
|
||||
- [ ] PowerJob服务已启动
|
||||
- [ ] PowerJob定时任务已配置
|
||||
- [ ] Cron表达式设置为: `0 */10 * * * ?`
|
||||
- [ ] 处理器类名正确: `org.springblade.job.processor.ScheduleAutoArrangeProcessor`
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ 已知问题和解决方案
|
||||
|
||||
### 问题1: 表名不一致 ✅ 已修复
|
||||
|
||||
**现象**: 测试数据脚本插入的是 `martial_participant` 表,但代码查询的是 `martial_athlete` 表
|
||||
|
||||
**解决方案**: 已将测试数据脚本修改为使用正确的表名 `martial_athlete`
|
||||
|
||||
**修复内容**:
|
||||
1. 批量替换 `martial_participant` → `martial_athlete`
|
||||
2. 批量替换 `created_time` → `create_time` (统一字段名)
|
||||
|
||||
**验证方法**:
|
||||
```sql
|
||||
-- 导入测试数据后检查
|
||||
SELECT COUNT(*) FROM martial_athlete WHERE competition_id = 200;
|
||||
-- 应返回500条记录(100个队伍 × 5人)
|
||||
```
|
||||
|
||||
### 问题2: getScheduleResult方法中的字段名错误 ✅ 已修复
|
||||
|
||||
**位置**: `MartialScheduleArrangeServiceImpl.java` 第233行
|
||||
|
||||
**问题**: `MartialScheduleDetail` 没有 `scheduleDetailId` 字段,应该使用主键 `id`
|
||||
|
||||
**修复**: 已将查询条件修正为使用正确的字段名
|
||||
|
||||
```java
|
||||
pDetailWrapper.eq(MartialScheduleDetail::getId, p.getScheduleDetailId())
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🔍 部署后测试流程
|
||||
|
||||
### 1. 后端API测试
|
||||
|
||||
#### 测试1: 手动触发编排
|
||||
```bash
|
||||
curl -X POST http://localhost/api/martial/schedule/auto-arrange \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"competitionId": 200}'
|
||||
```
|
||||
|
||||
**预期结果**: 返回 `{"code":200,"success":true,"msg":"自动编排完成"}`
|
||||
|
||||
#### 测试2: 获取编排结果
|
||||
```bash
|
||||
curl http://localhost/api/martial/schedule/result?competitionId=200
|
||||
```
|
||||
|
||||
**预期结果**: 返回编排数据,包含 `scheduleGroups` 数组
|
||||
|
||||
#### 测试3: 保存并锁定
|
||||
```bash
|
||||
curl -X POST http://localhost/api/martial/schedule/save-and-lock \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"competitionId": 200}'
|
||||
```
|
||||
|
||||
**预期结果**: 返回 `{"code":200,"success":true,"msg":"编排已保存并锁定"}`
|
||||
|
||||
### 2. 前端页面测试
|
||||
|
||||
访问: `http://localhost:3000/martial/schedule?competitionId=200`
|
||||
|
||||
**检查项**:
|
||||
- [ ] 页面正常加载
|
||||
- [ ] 显示编排状态标签(未编排/编排中/已锁定)
|
||||
- [ ] 竞赛分组Tab可切换
|
||||
- [ ] 场地Tab可切换
|
||||
- [ ] 集体项目按单位分组显示
|
||||
- [ ] 个人项目直接列出参赛者
|
||||
- [ ] 点击场地时间段按钮弹出详情对话框
|
||||
- [ ] 保存编排按钮可点击且生效
|
||||
|
||||
### 3. 定时任务测试
|
||||
|
||||
#### 检查定时任务执行
|
||||
```sql
|
||||
-- 查看编排状态表
|
||||
SELECT * FROM martial_schedule_status WHERE competition_id = 200;
|
||||
|
||||
-- 检查last_auto_schedule_time字段是否更新
|
||||
```
|
||||
|
||||
#### 查看PowerJob日志
|
||||
在PowerJob控制台查看任务执行日志,确认:
|
||||
- 任务正常执行
|
||||
- 日志中显示编排成功
|
||||
- 没有异常错误
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ 待修复项
|
||||
|
||||
**所有已知问题已修复!** ✅
|
||||
|
||||
系统已达到生产就绪状态,可以开始部署测试。
|
||||
|
||||
---
|
||||
|
||||
## 📊 性能测试建议
|
||||
|
||||
### 测试场景1: 小规模数据
|
||||
- 参赛人数: 100人
|
||||
- 场地数: 4个
|
||||
- 比赛天数: 2天
|
||||
|
||||
**预期结果**: 编排耗时 < 1秒
|
||||
|
||||
### 测试场景2: 中规模数据
|
||||
- 参赛人数: 1000人
|
||||
- 场地数: 5个
|
||||
- 比赛天数: 5天
|
||||
|
||||
**预期结果**: 编排耗时 < 5秒
|
||||
|
||||
### 测试场景3: 大规模数据
|
||||
- 参赛人数: 5000人
|
||||
- 场地数: 10个
|
||||
- 比赛天数: 7天
|
||||
|
||||
**预期结果**: 编排耗时 < 10秒
|
||||
|
||||
---
|
||||
|
||||
## 📝 部署日志模板
|
||||
|
||||
### 部署记录
|
||||
|
||||
**部署时间**: _______________
|
||||
|
||||
**部署人员**: _______________
|
||||
|
||||
**部署环境**: □ 开发环境 □ 测试环境 □ 生产环境
|
||||
|
||||
**执行步骤**:
|
||||
- [ ] 1. 数据库表创建
|
||||
- [ ] 2. 测试数据导入
|
||||
- [ ] 3. 后端服务部署
|
||||
- [ ] 4. PowerJob任务配置
|
||||
- [ ] 5. 前端服务部署
|
||||
- [ ] 6. API接口测试
|
||||
- [ ] 7. 前端页面测试
|
||||
- [ ] 8. 定时任务测试
|
||||
|
||||
**遇到的问题**:
|
||||
_________________________________
|
||||
_________________________________
|
||||
_________________________________
|
||||
|
||||
**解决方案**:
|
||||
_________________________________
|
||||
_________________________________
|
||||
_________________________________
|
||||
|
||||
**部署结果**: □ 成功 □ 失败
|
||||
|
||||
**备注**:
|
||||
_________________________________
|
||||
_________________________________
|
||||
|
||||
---
|
||||
|
||||
**文档版本**: v1.0
|
||||
**创建时间**: 2025-12-08
|
||||
**维护人**: 开发团队
|
||||
Reference in New Issue
Block a user