107 lines
3.0 KiB
Markdown
107 lines
3.0 KiB
Markdown
|
|
# 周反馈为空问题分析报告
|
|||
|
|
|
|||
|
|
## 问题描述
|
|||
|
|
管理师的成长记录中:
|
|||
|
|
- 每日反馈有记录 ✅
|
|||
|
|
- 周反馈显示为空 ❌
|
|||
|
|
- 月反馈有信息 ✅
|
|||
|
|
|
|||
|
|
## 问题分析
|
|||
|
|
|
|||
|
|
### 1. 系统设计逻辑
|
|||
|
|
根据代码分析,系统的反馈层级设计为:
|
|||
|
|
```
|
|||
|
|
每日反馈 (daily) → 周反馈 (weekly) → 月反馈 (monthly)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. 关键发现
|
|||
|
|
|
|||
|
|
#### 问题根源:周反馈需要手动生成!
|
|||
|
|
通过分析代码发现:
|
|||
|
|
|
|||
|
|
1. **每日反馈**:陪伴员每天手动创建
|
|||
|
|
2. **周反馈**:需要陪伴员手动调用生成接口 `/api/growth-record/weekly/summary`
|
|||
|
|
3. **月反馈**:基于已有的周反馈自动生成
|
|||
|
|
|
|||
|
|
#### 代码证据:
|
|||
|
|
|
|||
|
|
**GrowthRecordController.java 第168-191行:**
|
|||
|
|
```java
|
|||
|
|
@ApiOperation("陪伴员-生成周总结")
|
|||
|
|
@PostMapping("/weekly/summary")
|
|||
|
|
public Result<GrowthRecordVO> generateWeeklySummary(
|
|||
|
|
@RequestBody Map<String, Object> params,
|
|||
|
|
HttpServletRequest request) {
|
|||
|
|
// 需要手动调用此接口才能生成周反馈
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**GrowthRecordServiceImpl.java 第695-697行:**
|
|||
|
|
```java
|
|||
|
|
if (weeklyRecords.isEmpty()) {
|
|||
|
|
throw new RuntimeException("本月暂无周反馈记录,无法生成月反馈");
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3. 前端调用逻辑
|
|||
|
|
|
|||
|
|
**前端 growth-record.vue 第860行:**
|
|||
|
|
```javascript
|
|||
|
|
// 前端调用的是数据汇总接口,而不是周反馈列表接口
|
|||
|
|
url: '/api/growth-record/weekly/data', // 这个接口只返回统计数据
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**问题:前端调用的是 `/api/growth-record/weekly/data`(数据汇总接口),而不是 `/api/growth-record/weekly`(周反馈列表接口)**
|
|||
|
|
|
|||
|
|
### 4. 数据流程对比
|
|||
|
|
|
|||
|
|
#### 正确流程应该是:
|
|||
|
|
1. 陪伴员创建每日反馈
|
|||
|
|
2. 陪伴员手动生成周反馈(汇总每日反馈)
|
|||
|
|
3. 系统基于周反馈自动生成月反馈
|
|||
|
|
|
|||
|
|
#### 当前实际情况:
|
|||
|
|
1. ✅ 陪伴员创建每日反馈
|
|||
|
|
2. ❌ 陪伴员没有生成周反馈
|
|||
|
|
3. ❌ 月反馈可能也是手动创建的(因为代码要求必须有周反馈才能生成月反馈)
|
|||
|
|
|
|||
|
|
## 解决方案
|
|||
|
|
|
|||
|
|
### 方案一:修改前端调用(推荐)
|
|||
|
|
将前端周反馈页面改为调用周反馈列表接口:
|
|||
|
|
```javascript
|
|||
|
|
// 修改 growth-record.vue 第860行
|
|||
|
|
url: '/api/growth-record/weekly' // 调用周反馈列表接口
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 方案二:自动生成周反馈
|
|||
|
|
在每日反馈创建后,系统自动检查是否需要生成周反馈并自动生成。
|
|||
|
|
|
|||
|
|
### 方案三:添加提示
|
|||
|
|
在前端周反馈页面添加提示:"本周暂无周反馈,请先生成周反馈"
|
|||
|
|
|
|||
|
|
## 建议的修复步骤
|
|||
|
|
|
|||
|
|
1. **立即修复**:修改前端调用周反馈列表接口
|
|||
|
|
2. **用户体验优化**:添加"一键生成周反馈"按钮
|
|||
|
|
3. **长期优化**:实现周反馈自动生成机制
|
|||
|
|
|
|||
|
|
## 技术细节
|
|||
|
|
|
|||
|
|
### 周反馈生成接口参数:
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"orderId": 123,
|
|||
|
|
"startDate": "2026-01-23",
|
|||
|
|
"endDate": "2026-01-29"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 周反馈列表接口:
|
|||
|
|
```
|
|||
|
|
GET /api/growth-record/weekly?orderId=123&page=1&size=10
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 结论
|
|||
|
|
周反馈为空不是bug,而是设计如此。周反馈需要手动生成,但前端界面没有提供相应的操作入口,导致用户无法生成周反馈。
|