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

77 lines
2.3 KiB
Markdown
Raw Normal View History

2026-02-28 17:26:03 +08:00
# 管理师补充反馈接口问题诊断
## 问题描述
管理师端点击"修改补充反馈"时,提示"工单不存在"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` 方法,调用正确的接口