171 lines
4.2 KiB
Markdown
171 lines
4.2 KiB
Markdown
# 剩余功能模块开发计划
|
||
|
||
## 当前进度总结
|
||
|
||
### ✅ 已完成模块
|
||
1. **量表管理** ✅
|
||
2. **题目与选项管理** ✅
|
||
3. **因子与计分规则** ✅
|
||
4. **测评执行模块** ✅
|
||
5. **测评报告生成** ✅
|
||
6. **结果解释配置** ✅
|
||
7. **用户档案管理** ✅
|
||
8. **自定义问卷基础功能** ✅
|
||
9. **二维码管理** ✅
|
||
10. **网站内容管理** ✅
|
||
|
||
### ❌ 待开发模块
|
||
|
||
#### 1. 危机预警模块 ⭐⭐⭐⭐⭐(最高优先级)
|
||
**状态**: 已创建实体类 `PsyWarning.java`
|
||
|
||
**待完成**:
|
||
- [ ] 预警规则实体类 `PsyWarningRule.java`
|
||
- [ ] Mapper接口和XML
|
||
- [ ] Service接口和实现(包含自动预警检测)
|
||
- [ ] Controller
|
||
- [ ] 前端API和页面
|
||
|
||
**核心功能**:
|
||
- 预警规则配置
|
||
- 自动预警检测(在报告生成后触发)
|
||
- 预警记录查询
|
||
- 预警处理(处理、解除、归档)
|
||
- 预警通知(通知管理员)
|
||
|
||
**集成点**:
|
||
- 在 `PsyAssessmentReportServiceImpl.generateReport()` 方法中调用预警检测
|
||
- 在测评提交后自动检测预警
|
||
|
||
---
|
||
|
||
#### 2. 语音读题功能 ⭐⭐⭐
|
||
**状态**: 数据库表已存在 `psy_voice_config`
|
||
|
||
**待完成**:
|
||
- [ ] 实体类 `PsyVoiceConfig.java`
|
||
- [ ] Mapper、Service、Controller
|
||
- [ ] TTS集成(阿里云/腾讯云或本地)
|
||
- [ ] 前端音频播放组件
|
||
|
||
**功能**:
|
||
- 语音配置管理
|
||
- 题目语音生成
|
||
- 音频播放控制
|
||
|
||
---
|
||
|
||
#### 3. 数据统计模块 ⭐⭐⭐⭐
|
||
**状态**: 需要新建
|
||
|
||
**待完成**:
|
||
- [ ] `PsyStatisticsController`
|
||
- [ ] 统计Service
|
||
- [ ] 前端统计页面(ECharts图表)
|
||
|
||
**功能**:
|
||
- 团体统计(完成率、平均分、因子分布)
|
||
- 个体统计(历史测评轨迹)
|
||
- 因子趋势分析
|
||
- 部门/班级对比
|
||
- 数据导出
|
||
|
||
---
|
||
|
||
#### 4. 量表权限管理 ⭐⭐⭐
|
||
**状态**: 数据库表已存在 `psy_scale_permission`
|
||
|
||
**待完成**:
|
||
- [ ] 实体类 `PsyScalePermission.java`
|
||
- [ ] Mapper、Service、Controller
|
||
- [ ] 权限验证拦截器
|
||
- [ ] 前端权限配置页面
|
||
|
||
**功能**:
|
||
- 部门/班级与量表关联
|
||
- 权限级别控制
|
||
- 批量权限设置
|
||
|
||
---
|
||
|
||
## 开发优先级
|
||
|
||
### 第一优先级(核心功能)
|
||
1. **危机预警模块** - 必须在报告生成后自动检测预警
|
||
|
||
### 第二优先级(重要功能)
|
||
2. **数据统计模块** - 提供数据分析和可视化
|
||
|
||
### 第三优先级(增强功能)
|
||
3. **量表权限管理** - 精细化权限控制
|
||
4. **语音读题功能** - 提升用户体验
|
||
|
||
---
|
||
|
||
## 下一步行动
|
||
|
||
1. **立即开发**: 危机预警模块(预计2-3小时)
|
||
- 创建预警规则实体类
|
||
- 创建Mapper、Service、Controller
|
||
- 在报告生成服务中集成预警检测
|
||
- 创建前端管理页面
|
||
|
||
2. **后续开发**: 数据统计模块(预计3-4小时)
|
||
|
||
3. **可选开发**: 权限管理和语音读题(根据需求决定)
|
||
|
||
---
|
||
|
||
## 技术要点
|
||
|
||
### 危机预警检测逻辑
|
||
```java
|
||
// 在 PsyAssessmentReportServiceImpl.generateReport() 方法最后添加
|
||
// 自动预警检测
|
||
warningService.checkAndCreateWarnings(assessmentId);
|
||
```
|
||
|
||
### 预警规则匹配
|
||
```java
|
||
// 根据因子得分或总分匹配预警规则
|
||
// 如果得分超过阈值,创建预警记录
|
||
if (factorScore > rule.getScoreMin() && factorScore <= rule.getScoreMax()) {
|
||
createWarning(assessment, factor, score, rule);
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 文件清单(危机预警模块)
|
||
|
||
### 后端(8个文件)
|
||
1. `PsyWarning.java` ✅ 已创建
|
||
2. `PsyWarningRule.java` - 待创建
|
||
3. `PsyWarningMapper.java` - 待创建
|
||
4. `PsyWarningMapper.xml` - 待创建
|
||
5. `PsyWarningRuleMapper.java` - 待创建
|
||
6. `PsyWarningRuleMapper.xml` - 待创建
|
||
7. `IPsyWarningService.java` - 待创建
|
||
8. `PsyWarningServiceImpl.java` - 待创建
|
||
9. `IPsyWarningRuleService.java` - 待创建
|
||
10. `PsyWarningRuleServiceImpl.java` - 待创建
|
||
11. `PsyWarningController.java` - 待创建
|
||
12. `PsyWarningRuleController.java` - 待创建
|
||
|
||
### 前端(4个文件)
|
||
13. `warning.js` - API接口
|
||
14. `warningRule.js` - 预警规则API
|
||
15. `warning/index.vue` - 预警管理页面
|
||
16. `warning/rule.vue` - 预警规则配置页面
|
||
|
||
---
|
||
|
||
## 预计完成时间
|
||
|
||
- **危机预警模块**: 2-3小时
|
||
- **数据统计模块**: 3-4小时
|
||
- **量表权限管理**: 1-2小时
|
||
- **语音读题功能**: 2-3小时
|
||
|
||
**总计**: 8-12小时
|