peixue-dev/Archive/[一次性]管理师补充反馈接口问题诊断-2026-01-28.md

77 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 管理师补充反馈接口问题诊断
## 问题描述
管理师端点击"修改补充反馈"时,提示"工单不存在"400错误
## 控制台日志分析
### 1. 加载反馈列表
```
GET /api/growth-record/daily/list?page=1&size=10&type=teacher&recordType=daily
Response: {code: 200, message: "success", data: {...}}
```
✅ 列表加载成功
### 2. 提交补充反馈
```
PUT /api/manager/feedback/teacher/{id}
Request Body: {supplement: "111", recordType: "daily"}
Response: {code: 400, message: "工单不存在", data: null}
```
❌ 提交失败
## 问题分析
### 可能原因1接口路径不匹配
- 列表接口:`/api/growth-record/daily/list` (成长记录)
- 更新接口:`/api/manager/feedback/teacher/{id}` (反馈)
**问题**:这两个接口操作的是不同的数据表
- `growth-record``growth_record`
- `feedback` → 可能是 `feedback``work_order`
### 可能原因2ID类型混淆
传递的ID是 `growth_record` 表的ID但后端接口可能在用这个ID查找 `work_order` 表,导致找不到工单。
### 可能原因3后端接口实现问题
后端的 `PUT /api/manager/feedback/teacher/{id}` 接口可能:
1. 先用ID查找工单work_order表
2. 但传入的ID是成长记录IDgrowth_record表
3. 所以查不到工单,返回"工单不存在"
## 解决方案
### 方案1修改前端接口调用推荐
使用正确的成长记录更新接口:
```javascript
// 当前(错误)
managerApi.updateTeacherFeedback(id, {supplement, recordType})
// 应该改为
managerApi.updateGrowthRecord(id, {supplement, recordType})
```
对应的API定义
```javascript
updateGrowthRecord(id, params) {
return request.put(`/api/growth-record/${id}`, params)
}
```
### 方案2修改后端接口
`/api/manager/feedback/teacher/{id}` 接口支持成长记录ID
### 方案3传递工单ID
在调用接口时,传递 `workOrderId` 而不是 `growth_record.id`
## 建议
采用**方案1**,因为:
1. 前端已经在使用 `growth-record` 接口加载数据
2. 应该使用对应的更新接口保持一致性
3. 不需要修改后端逻辑
## 下一步
1. 检查 `managerApi` 中是否有 `updateGrowthRecord` 方法
2. 如果没有,需要添加该方法
3. 修改 `feedback.vue` 中的 `submitEdit` 方法,调用正确的接口