6.5 KiB
6.5 KiB
管理师补充反馈最终修复方案
📋 问题现状
管理师点击"补充反馈"时,提示"工单不存在"(400错误)。
🔍 根本原因
- 前端调用接口:
PUT /api/manager/feedback/teacher/{id},参数{supplement: "..."} - 后端接口实现:在
ManagerFeedbackController.updateTeacherFeedback方法中 - 问题:后端修改后没有重启,或者代码被覆盖了
✅ 完整修复方案
1. 后端修改
文件:peidu/backend/src/main/java/com/peidu/controller/ManagerFeedbackController.java
修改内容:
/**
* 修改补充陪伴员反馈
*/
@PutMapping("/teacher/{id}")
public Result<String> updateTeacherFeedback(
@PathVariable Long id,
@RequestBody Map<String, Object> params
) {
try {
log.info("=== 管理师补充反馈 ===");
log.info("id: {}, params: {}", id, params);
// ✅ 修复:查询 growth_record 表而不是 work_order 表
GrowthRecord growthRecord = growthRecordService.getById(id);
if (growthRecord == null) {
log.error("成长记录不存在,id: {}", id);
return Result.error("成长记录不存在");
}
// ✅ 兼容两种参数名:supplement 和 managerSupplement
String supplement = null;
if (params.containsKey("managerSupplement")) {
supplement = params.get("managerSupplement").toString();
} else if (params.containsKey("supplement")) {
supplement = params.get("supplement").toString();
}
if (supplement == null || supplement.trim().isEmpty()) {
return Result.error("补充内容不能为空");
}
growthRecord.setSupplement(supplement);
growthRecord.setUpdateTime(LocalDateTime.now());
boolean updated = growthRecordService.updateById(growthRecord);
if (updated) {
log.info("补充反馈成功,id: {}", id);
return Result.success("修改成功");
} else {
log.error("补充反馈失败,id: {}", id);
return Result.error("修改失败");
}
} catch (Exception e) {
log.error("补充反馈异常", e);
return Result.error("修改失败:" + e.getMessage());
}
}
关键修改点:
- ✅ 查询
growth_record表(不是work_order表) - ✅ 兼容
supplement和managerSupplement两种参数名 - ✅ 添加详细的日志输出
- ✅ 添加参数验证
2. 前端代码
文件:peidu/uniapp/src/manager-package/pages/manager/feedback.vue
当前代码(无需修改):
async submitEdit() {
if (!this.editForm.supplement.trim()) {
uni.showToast({ title: '请输入补充内容', icon: 'none' })
return
}
try {
uni.showLoading({ title: '提交中...' })
console.log('[补充反馈] 当前反馈对象:', this.currentFeedback)
console.log('[补充反馈] 反馈ID:', this.currentFeedback.id)
console.log('[补充反馈] 补充内容:', this.editForm.supplement)
// 调用 managerApi.updateTeacherFeedback
const res = await managerApi.updateTeacherFeedback(this.currentFeedback.id, {
supplement: this.editForm.supplement
})
console.log('[补充反馈] API响应:', res)
if (res && (res.code === 200 || res.code === '200')) {
uni.showToast({ title: '修改成功', icon: 'success' })
this.showEditModal = false
this.page = 1
this.list = []
this.loadList()
} else {
const errorMsg = res?.message || res?.msg || '修改失败'
uni.showToast({ title: errorMsg, icon: 'none' })
}
} catch (error) {
console.error('[补充反馈] 修改异常:', error)
const errorMsg = error?.message || error?.msg || error?.data?.message || '修改失败'
uni.showToast({ title: errorMsg, icon: 'none' })
} finally {
uni.hideLoading()
}
}
说明:前端代码已经正确,调用 /api/manager/feedback/teacher/{id} 接口,参数名为 supplement。
3. API定义
文件:peidu/uniapp/src/api/index.js
当前代码(无需修改):
// 修改补充陪伴员反馈
updateTeacherFeedback(id, params) {
return request.put(`/api/manager/feedback/teacher/${id}`, params)
},
🚀 执行步骤
步骤1:确认后端代码
检查文件:peidu/backend/src/main/java/com/peidu/controller/ManagerFeedbackController.java
确认 updateTeacherFeedback 方法包含以下关键代码:
GrowthRecord growthRecord = growthRecordService.getById(id);
if (growthRecord == null) {
return Result.error("成长记录不存在");
}
步骤2:重启后端服务
# 停止当前后端(Ctrl+C)
# 重新启动
cd peidu/backend
mvn clean spring-boot:run
步骤3:等待启动完成
看到类似日志表示启动成功:
Started PeiduApplication in X.XXX seconds
步骤4:测试功能
- 在管理师界面进入"反馈管理"
- 点击任意一条反馈的"补充反馈"
- 输入补充内容
- 点击"确定"
- 查看是否提示"修改成功"
步骤5:查看后端日志
后端应该输出类似日志:
=== 管理师补充反馈 ===
id: 123, params: {supplement=测试内容}
补充反馈成功,id: 123
如果看到"成长记录不存在",说明传入的ID有问题。
🔍 故障排查
问题1:仍然提示"工单不存在"
原因:后端代码没有更新或没有重启
解决:
- 确认后端代码已修改
- 完全停止后端进程
- 使用
mvn clean spring-boot:run重新编译并启动
问题2:提示"成长记录不存在"
原因:传入的ID不是 growth_record 表的ID
解决:
- 检查前端传递的
this.currentFeedback.id是否正确 - 在数据库中查询:
SELECT * FROM growth_record WHERE id = ?
问题3:前端没有调用接口
原因:前端代码有错误或编译问题
解决:
- 重新编译前端:
npm run dev:mp-weixin - 清除微信开发者工具缓存
- 查看控制台是否有JavaScript错误
📝 验证清单
- 后端代码已修改(查询
growth_record表) - 后端已重启
- 后端启动成功(无报错)
- 前端代码正确(调用
managerApi.updateTeacherFeedback) - 测试功能(点击"补充反馈")
- 查看后端日志(确认接口被调用)
- 验证数据库(
growth_record表的supplement字段已更新)
📅 修复时间
2026-01-28
👤 修复人员
Kiro AI Assistant