8.1 KiB
8.1 KiB
🚀 立即编译测试 - 服务反馈处理流程
操作时间: 2026-01-23
预计耗时: 5-10分钟
📋 快速操作步骤
步骤1: 编译后端代码 ⏱️ 2分钟
cd peidu/backend
mvn clean compile
预期结果:
[INFO] BUILD SUCCESS
[INFO] Total time: XX s
如果编译失败,检查:
- ✅ 所有DTO类是否正确创建
- ✅ NotificationService 是否正确注入
- ✅ import 语句是否完整
步骤2: 重启后端服务 ⏱️ 1分钟
# 方式1: 使用Maven
mvn spring-boot:run
# 方式2: 如果已经打包
java -jar target/peidu-backend.jar
预期结果:
Started PeiduApplication in XX seconds
步骤3: 验证接口可用性 ⏱️ 2分钟
3.1 检查Swagger文档
访问: http://localhost:8080/swagger-ui.html
查找新增的6个接口:
- ✅ PUT
/api/growth-record/daily/{id}/review - ✅ POST
/api/growth-record/daily/{id}/parent-feedback - ✅ POST
/api/growth-record/daily/{id}/handle - ✅ PUT
/api/growth-record/daily/{id}/close - ✅ GET
/api/growth-record/daily/pending-review - ✅ GET
/api/growth-record/daily/pending-handle
3.2 测试待审核列表接口
curl -X GET "http://localhost:8080/api/growth-record/daily/pending-review?page=1&size=10"
预期响应:
{
"code": 200,
"message": "success",
"data": {
"records": [],
"total": 0,
"pages": 0
}
}
步骤4: 完整流程测试 ⏱️ 5分钟
4.1 准备测试数据
确保数据库中有:
- ✅ 至少1个陪伴员账号
- ✅ 至少1个管理师账号
- ✅ 至少1个家长账号
- ✅ 至少1条成长记录(review_status=0)
4.2 测试审核流程
Step 1: 管理师审核反馈(通过)
curl -X PUT "http://localhost:8080/api/growth-record/daily/1/review" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{
"reviewStatus": 1,
"reviewNote": "内容完整,通过审核"
}'
预期响应:
{
"code": 200,
"message": "审核成功",
"data": true
}
Step 2: 验证数据库更新
SELECT id, review_status, review_note, review_time, reviewer_id
FROM growth_record
WHERE id = 1;
预期结果:
review_status= 1review_note= "内容完整,通过审核"review_time不为空reviewer_id不为空
Step 3: 验证通知发送
SELECT * FROM notification
WHERE related_id = 1
AND related_type = 'growth_record'
AND type = 'feedback_approved'
ORDER BY create_time DESC
LIMIT 1;
预期结果: 应该有1条新通知记录
4.3 测试家长反馈流程
Step 1: 家长评价反馈(有疑问)
curl -X POST "http://localhost:8080/api/growth-record/daily/1/parent-feedback" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{
"satisfaction": 4,
"parentNote": "整体不错,但有些细节想了解",
"hasQuestion": true
}'
预期响应:
{
"code": 200,
"message": "提交成功",
"data": true
}
Step 2: 验证数据库更新
SELECT id, parent_satisfaction, parent_note, has_question, handle_status
FROM growth_record
WHERE id = 1;
预期结果:
parent_satisfaction= 4parent_note= "整体不错,但有些细节想了解"has_question= 1handle_status= 1(待处理)
Step 3: 验证通知发送
SELECT * FROM notification
WHERE related_id = 1
AND type = 'question_raised'
ORDER BY create_time DESC
LIMIT 1;
预期结果: 应该有1条新通知记录(发给管理师)
4.4 测试问题处理流程
Step 1: 管理师处理问题
curl -X POST "http://localhost:8080/api/growth-record/daily/1/handle" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{
"handleNote": "已与家长电话沟通,解释了相关细节,家长表示满意",
"handleStatus": 3
}'
预期响应:
{
"code": 200,
"message": "处理成功",
"data": true
}
Step 2: 验证数据库更新
SELECT id, handle_status, handle_note, handle_time, archive_status
FROM growth_record
WHERE id = 1;
预期结果:
handle_status= 3(已解决)handle_note包含处理记录和时间戳handle_time不为空archive_status= 1(自动归档)
Step 3: 验证通知发送
SELECT * FROM notification
WHERE related_id = 1
AND type = 'question_resolved'
ORDER BY create_time DESC
LIMIT 1;
预期结果: 应该有1条新通知记录(发给家长)
4.5 测试列表查询
测试待审核列表
curl -X GET "http://localhost:8080/api/growth-record/daily/pending-review?page=1&size=10"
预期: 返回所有 review_status=0 的记录
测试待处理列表
curl -X GET "http://localhost:8080/api/growth-record/daily/pending-handle?page=1&size=10"
预期: 返回所有 has_question=1 且 handle_status IN (1,2) 的记录
✅ 测试检查清单
编译检查
- 后端代码编译成功
- 没有编译错误
- 没有警告信息
服务启动检查
- 后端服务启动成功
- 没有启动错误
- Swagger文档可访问
接口可用性检查
- 6个新接口在Swagger中可见
- 接口路径正确
- 参数定义正确
功能测试检查
- 审核功能正常(通过/需修改)
- 家长反馈功能正常
- 问题处理功能正常
- 工单关闭功能正常
- 待审核列表查询正常
- 待处理列表查询正常
数据库检查
- 审核信息正确保存
- 家长反馈信息正确保存
- 处理记录正确保存
- 归档状态正确更新
通知检查
- 审核通过通知发送成功
- 需修改通知发送成功
- 家长疑问通知发送成功
- 问题解决通知发送成功
🐛 常见问题排查
问题1: 编译失败 - 找不到NotificationService
原因: NotificationService 未正确注入
解决方案:
// 检查 GrowthRecordServiceImpl.java
@RequiredArgsConstructor
public class GrowthRecordServiceImpl ... {
private final NotificationService notificationService; // ✅ 确保这行存在
}
问题2: 接口404错误
原因: Controller路径配置错误
解决方案:
// 检查 GrowthRecordController.java
@RestController
@RequestMapping("/api/growth-record") // ✅ 确保路径正确
public class GrowthRecordController {
@PutMapping("/daily/{id}/review") // ✅ 确保路径正确
}
问题3: 通知发送失败
原因: notification表不存在或NotificationMapper未配置
解决方案:
-- 检查表是否存在
SHOW TABLES LIKE 'notification';
-- 如果不存在,执行创建表SQL
-- 参考: peidu/docs/fixes/2026-01-23-服务反馈处理流程完善/database-extension.sql
问题4: 参数验证失败
原因: DTO类缺少@Valid注解或验证规则
解决方案:
// 检查Controller方法
public Result<Boolean> reviewFeedback(
@PathVariable Long id,
@RequestBody @Valid ReviewDTO reviewDTO, // ✅ 确保有@Valid
HttpServletRequest request) {
}
📊 测试结果记录
测试环境
- 后端版本: ___________
- 数据库版本: MySQL 8.0
- 测试时间: ___________
测试结果
| 测试项 | 状态 | 备注 |
|---|---|---|
| 编译成功 | ⬜ | |
| 服务启动 | ⬜ | |
| 审核功能 | ⬜ | |
| 家长反馈 | ⬜ | |
| 问题处理 | ⬜ | |
| 列表查询 | ⬜ | |
| 通知发送 | ⬜ |
🎯 下一步计划
测试通过后,进行以下工作:
-
前端页面开发
- 管理师端:审核反馈页面
- 管理师端:处理问题页面
- 家长端:反馈详情页(添加评价功能)
-
功能完善
- 添加家长权限验证
- 添加通知重试机制
- 添加更详细的业务规则验证
-
性能优化
- 添加缓存机制
- 优化数据库查询
- 添加分页优化
立即开始测试! 🚀
文档版本: v1.0
最后更新: 2026-01-23