This commit is contained in:
57
docs/RESTART_BACKEND.md
Normal file
57
docs/RESTART_BACKEND.md
Normal file
@@ -0,0 +1,57 @@
|
||||
# 后端服务重启指南
|
||||
|
||||
## 问题说明
|
||||
修改了 `MartialScheduleArrangeServiceImpl.java` 文件添加了空值检查,需要重启后端服务以加载新代码。
|
||||
|
||||
## 修改的文件
|
||||
- `src/main/java/org/springblade/modules/martial/service/impl/MartialScheduleArrangeServiceImpl.java`
|
||||
- 第 394-398 行:集体项目空值检查
|
||||
- 第 430-434 行:个人项目空值检查
|
||||
|
||||
## 重启步骤
|
||||
|
||||
### 1. 停止当前运行的后端服务
|
||||
在当前运行后端服务的命令行窗口中按 `Ctrl+C` 停止服务。
|
||||
|
||||
### 2. 重新编译项目(可选,推荐)
|
||||
```bash
|
||||
cd D:\workspace\31.比赛项目\project\martial-master
|
||||
mvn clean compile
|
||||
```
|
||||
|
||||
### 3. 重启后端服务
|
||||
使用之前启动后端的相同命令重新启动。通常是以下之一:
|
||||
|
||||
**选项A - 使用 Maven 直接运行:**
|
||||
```bash
|
||||
mvn spring-boot:run
|
||||
```
|
||||
|
||||
**选项B - 使用已打包的 JAR 文件:**
|
||||
```bash
|
||||
java -jar target/blade-martial-*.jar
|
||||
```
|
||||
|
||||
**选项C - 在 IDE (如 IntelliJ IDEA 或 Eclipse) 中:**
|
||||
右键点击主类 `Application.java` → Run
|
||||
|
||||
### 4. 验证服务启动成功
|
||||
等待服务启动完成(看到类似 "Started Application in X seconds" 的日志)。
|
||||
|
||||
### 5. 重新测试 API
|
||||
```bash
|
||||
curl -X POST "http://localhost:8123/martial/schedule/auto-arrange" -H "Content-Type: application/json" -d "{\"competitionId\": 200}"
|
||||
```
|
||||
|
||||
## 预期结果
|
||||
修复后应该不再出现 NPE 错误,会返回以下情况之一:
|
||||
1. **成功**: `{"code":200,"success":true,...}` - 自动编排成功
|
||||
2. **警告日志**: 后端日志中会显示 "项目不存在, projectId: XXX, 跳过该分组" 如果有参赛者关联了不存在的项目
|
||||
|
||||
## 如果仍有问题
|
||||
请执行数据验证脚本检查数据完整性:
|
||||
```bash
|
||||
mysql -uroot -proot123 martial_db < database/martial-db/debug_check.sql
|
||||
```
|
||||
|
||||
查看是否所有参赛者都有有效的 project_id 关联。
|
||||
Reference in New Issue
Block a user