peixue-dev/Archive/peidu-temp-files/docs/🚀立即编译测试-服务反馈处理流程-2026-01-23.md

8.1 KiB
Raw Blame History

🚀 立即编译测试 - 服务反馈处理流程

操作时间: 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 = 1
  • review_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 = 4
  • parent_note = "整体不错,但有些细节想了解"
  • has_question = 1
  • handle_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=1handle_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
  • 测试时间: ___________

测试结果

测试项 状态 备注
编译成功
服务启动
审核功能
家长反馈
问题处理
列表查询
通知发送

🎯 下一步计划

测试通过后,进行以下工作:

  1. 前端页面开发

    • 管理师端:审核反馈页面
    • 管理师端:处理问题页面
    • 家长端:反馈详情页(添加评价功能)
  2. 功能完善

    • 添加家长权限验证
    • 添加通知重试机制
    • 添加更详细的业务规则验证
  3. 性能优化

    • 添加缓存机制
    • 优化数据库查询
    • 添加分页优化

立即开始测试! 🚀

文档版本: v1.0
最后更新: 2026-01-23