Files
martial-master/docs/RESTART_BACKEND.md
宅房 7aa6545cbb
All checks were successful
continuous-integration/drone/push Build is passing
fix bugs
2025-12-12 05:13:10 +08:00

1.8 KiB

后端服务重启指南

问题说明

修改了 MartialScheduleArrangeServiceImpl.java 文件添加了空值检查,需要重启后端服务以加载新代码。

修改的文件

  • src/main/java/org/springblade/modules/martial/service/impl/MartialScheduleArrangeServiceImpl.java
    • 第 394-398 行:集体项目空值检查
    • 第 430-434 行:个人项目空值检查

重启步骤

1. 停止当前运行的后端服务

在当前运行后端服务的命令行窗口中按 Ctrl+C 停止服务。

2. 重新编译项目(可选,推荐)

cd D:\workspace\31.比赛项目\project\martial-master
mvn clean compile

3. 重启后端服务

使用之前启动后端的相同命令重新启动。通常是以下之一:

选项A - 使用 Maven 直接运行:

mvn spring-boot:run

选项B - 使用已打包的 JAR 文件:

java -jar target/blade-martial-*.jar

选项C - 在 IDE (如 IntelliJ IDEA 或 Eclipse) 中: 右键点击主类 Application.java → Run

4. 验证服务启动成功

等待服务启动完成(看到类似 "Started Application in X seconds" 的日志)。

5. 重新测试 API

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, 跳过该分组" 如果有参赛者关联了不存在的项目

如果仍有问题

请执行数据验证脚本检查数据完整性:

mysql -uroot -proot123 martial_db < database/martial-db/debug_check.sql

查看是否所有参赛者都有有效的 project_id 关联。