xinli/z_Project change/进度汇总/1-开发计划.md
2025-11-12 15:25:47 +08:00

573 lines
12 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.

# 心理测评系统开发计划
## 项目概述
基于RuoYi-Vue框架Spring Boot + Vue + MySQL构建的心理测评系统满足罪犯心理测评特殊需求。
---
## 第一阶段:数据库设计与初始化 ✅ 已完成
### 1.1 完善现有数据库表结构
**当前状态**已有基础的心理测评表结构psy_assessment_system.sql
#### 需要补充的表:
1. **用户档案扩展表** (psy_user_profile)
- 关联sys_user
- 支持自定义档案项
- 不同年龄段字段模板
2. **量表权限表** (psy_scale_permission)
- 关联部门/班级与量表
- 权限级别控制
3. **问卷功能表** (psy_questionnaire)
- 自定义问卷管理
- 多种题目类型支持
4. **语音读题表** (psy_voice_config)
- 题目与语音文件关联
- TTS配置
5. **危机预警表** (psy_warning)
- 预警规则设置
- 预警记录
- 预警解除记录
6. **二维码管理表** (psy_qrcode)
- 扫码测试配置
- 扫码记录
7. **数据备份表** (sys_backup)
- 备份任务记录
- 备份文件管理
8. **心理网站内容表** (psy_website_content)
- 文章、公告管理
- 个性化配置
9. **开放式API配置表** (sys_api_config)
- API密钥管理
- 接口权限控制
### 1.2 初始化必填量表数据
根据需求文档要求的量表,录入:
- COPA系列量表7个COPA-SAI、COPA-PI、COPA-TCMI、COPA-SCMI、COPA-MPI、暴力倾向、自杀倾向
- 经典量表MMPI、SCL-90、SAS、SDS、16PF、EPQ等50+量表
- 每题包含:题目内容、选项、计分规则、因子归属
**工作内容**
- 设计量表数据导入脚本
- 批量导入题目和选项
- 设置因子计分规则
- 配置结果解释标准
---
## 第二阶段核心功能模块开发预计8天
### 2.1 量表管理模块1.5天)
**后端**
- `PsyScaleController` - 量表CRUD
- `PsyScaleServiceImpl` - 业务逻辑
- `PsyScaleMapper` - 数据访问
**功能点**
- ✅ 量表列表查询(分页、筛选)
- ✅ 新增/编辑/删除量表
- ✅ 量表详情查看
- ✅ 量表状态管理(启用/停用)
- ✅ 量表导入导出Excel模板
**前端**
- 量表管理页面 (`views/psychology/scale/index.vue`)
- 量表编辑弹窗(题目批量编辑)
- 量表详情页面
### 2.2 题目与选项管理1.5天)
**后端**
- `PsyItemController` / `PsyOptionController`
- 批量操作接口
**功能点**
- ✅ 题目列表(树形展示)
- ✅ 题目编辑(富文本)
- ✅ 选项配置
- ✅ 批量导入题目Excel
- ✅ 题目排序拖拽
**前端**
- 题目编辑器(支持选项配置)
- 批量导入组件
### 2.3 因子与计分规则1天
**后端**
- `PsyFactorController` / `PsyFactorRuleController`
**功能点**
- ✅ 因子配置
- ✅ 因子公式设置
- ✅ 权重配置
- ✅ 反向计分设置
**前端**
- 因子配置界面
- 公式编辑器
### 2.4 测评执行模块2天⭐⭐⭐⭐⭐
**后端**
- `PsyAssessmentController`
- `PsyAssessmentAnswerController`
**核心功能**
-**开始测评**:创建测评记录
-**暂停/恢复测评**:保存进度、断点续测
-**提交测评**:计算总分、因子分
-**防重复提交**:校验机制
**答题接口设计**
```java
// 开始测评
POST /psychology/assessment/start
// 获取题目
GET /psychology/assessment/{assessmentId}/items
// 保存答案
POST /psychology/assessment/answer
// 暂停测评
POST /psychology/assessment/{assessmentId}/pause
// 恢复测评
POST /psychology/assessment/{assessmentId}/resume
// 提交测评
POST /psychology/assessment/{assessmentId}/submit
```
**前端**
- 测评页面 (`views/psychology/assessment/index.vue`)
- 答题界面(单选/多选/矩阵)
- 进度条显示
- 暂停/恢复按钮
### 2.5 语音读题功能1天⭐⭐⭐⭐⭐
**后端**
- 语音配置管理
- TTS接口集成
**实现方案**
1. **方案A推荐**:集成阿里云/腾讯云TTS
- 优点:质量高、稳定
- 成本:按调用量计费
2. **方案B**本地TTS引擎
- 优点:免费、离线可用
- 缺点:质量一般
3. **方案C**:预录音频文件
- 优点:质量可控
- 缺点:存储量大、需要人工录音
**API接口**
```java
// 获取题目语音
GET /psychology/voice/item/{itemId}
// 批量生成语音
POST /psychology/voice/batch-generate
```
**前端**
- 音频播放控件
- 播放/暂停/进度控制
- 自动播放开关
### 2.6 测评报告生成1天
**后端**
- `PsyReportController`
- 报告生成服务
**功能点**
- ✅ 自动生成标准报告
- ✅ 因子得分展示
- ✅ 结果解释(根据得分区间)
- ✅ 建议与指导
-**自定义报告**(管理员可编辑)
- ✅ PDF导出
**报告内容**
- 基本信息
- 各因子得分雷达图
- 结果解释
- 风险评估
- 改进建议
**前端**
- 报告展示页面
- 报告编辑功能(富文本)
- PDF预览/下载
### 2.7 危机预警模块1天⭐⭐⭐⭐⭐
**后端**
- `PsyWarningController`
**功能点**
- ✅ 预警规则设置(因子阈值)
- ✅ 自动预警检测
- ✅ 预警记录查询
- ✅ 预警解除功能
- ✅ 预警通知(只通知管理员)
**预警逻辑**
```java
// 提交测评后自动检测
if (factorScore > warningThreshold) {
createWarning(assessment, factor, score);
notifyAdmin(warning);
}
```
**前端**
- 预警规则配置页面
- 预警记录列表
- 预警详情查看
---
## 第三阶段扩展功能开发预计6天
### 3.1 用户档案管理1天⭐⭐⭐⭐⭐
**后端**
- `PsyProfileController`
- 档案模板配置
**功能点**
- ✅ 档案字段自定义
- ✅ 不同年龄段模板
- ✅ 档案信息CRUD
- ✅ 档案导入导出
**前端**
- 档案管理页面
- 自定义字段配置
- 批量导入
### 3.2 自定义问卷模块1.5天)⭐⭐⭐⭐⭐
**后端**
- `PsyQuestionnaireController`
- 多种题目类型支持
**支持的题目类型**
- 单选radio
- 多选checkbox
- 判断boolean
- 填空input
- 排序sort
- 计算calculate
- 简答text
- 问答textarea
- 作文essay
**功能点**
- ✅ 问卷创建/编辑
- ✅ 题目类型配置
- ✅ 自动计分(客观题)
- ✅ 成绩排名统计
- ✅ 组卷方式(自助/随机/手动)
**前端**
- 问卷编辑器
- 题目类型选择器
- 答题页面
- 成绩统计图表
### 3.3 二维码功能0.5天)⭐⭐⭐⭐⭐
**后端**
- `PsyQrcodeController`
- 二维码生成服务
**功能点**
- ✅ 生成测评二维码
- ✅ 扫码测试
- ✅ 扫码查看报告
- ✅ 扫码注册/登录
**实现**
- 使用开源库生成二维码
- 短链接支持
**前端**
- 二维码生成/展示
- 扫码页面(移动端适配)
### 3.4 心理网站模块1天⭐⭐⭐⭐⭐
**后端**
- `PsyWebsiteController`
**功能点**
- ✅ 文章发布/编辑
- ✅ 栏目管理
- ✅ 留言评论
- ✅ 个性化配置
- ✅ 开启/关闭网站功能
**前端**
- 网站模板(可定制)
- 前台展示页面
- 后台管理页面
### 3.5 数据统计模块1天
**后端**
- `PsyStatisticsController`
**统计维度**
- 团体统计
- 个体统计
- 测评轨迹
- 因子趋势分析
- 部门/班级对比
**前端**
- 统计图表ECharts
- 数据导出
### 3.6 权限与批量管理0.5天)
**后端**
- 集成现有权限系统
- 批量权限设置接口
**功能点**
- ✅ 量表权限配置(部门/班级)
- ✅ 批量设置用户权限
- ✅ 独立权限设置
- ✅ 注册用户权限预定义
---
## 第四阶段系统集成与接口预计3天
### 4.1 开放式API接口1.5天)⭐⭐
**后端**
- `ApiController` - 公共API入口
- API密钥验证拦截器
- API文档Swagger
**API接口设计**
```java
// 用户同步
POST /api/v1/users/sync
// 测评结果推送
POST /api/v1/assessments/sync
// 获取量表列表
GET /api/v1/scales
// 提交测评结果
POST /api/v1/assessments/submit
```
**安全措施**
- API Key认证
- 请求签名验证
- 访问频率限制
- IP白名单
### 4.2 数据备份与还原1天
**后端**
- `BackupController`
- 定时任务
**功能点**
- ✅ 一键备份(数据库+文件)
- ✅ 备份下载
- ✅ 一键还原
- ✅ 自动定期备份
- ✅ 备份清理策略
**实现**
- MySQL导出脚本
- 文件压缩打包
- 远程存储支持
### 4.3 单机/网络模式切换0.5天)
**配置管理**
- 配置文件切换
- 数据库连接管理
- 网络检测
---
## 第五阶段前端UI优化预计4天
### 5.1 管理后台界面2天
**页面开发**
- 量表管理 (`views/psychology/scale/`)
- 题目编辑 (`views/psychology/item/`)
- 测评记录 (`views/psychology/assessment/`)
- 统计报表 (`views/psychology/statistics/`)
- 系统配置 (`views/psychology/config/`)
**组件开发**
- 题目编辑器
- 计分规则配置器
- 报告编辑器
- 二维码生成器
### 5.2 移动端适配1天⭐⭐⭐⭐⭐
**功能**
- 响应式布局
- 触屏优化
- 扫码功能
- 语音播放优化
### 5.3 用户体验优化1天
- 加载动画
- 错误提示优化
- 快捷键支持
- 无感知自动保存
---
## 第六阶段测试与优化预计3天
### 6.1 功能测试1天
- 量表管理测试
- 测评流程测试
- 报告生成测试
- 预警功能测试
### 6.2 性能测试1天
- 并发测评压力测试
- 数据库查询优化
- 缓存策略
- 接口响应优化
### 6.3 Bug修复1天
- 修复测试发现的问题
- 代码review
- 安全漏洞检查
---
## 第七阶段部署与文档预计2天
### 7.1 部署准备1天
- 生产环境配置
- 数据库初始化脚本
- Nginx配置
- SSL证书配置
### 7.2 文档编写1天
- 系统使用手册
- API接口文档
- 运维文档
- 常见问题FAQ
---
## 技术栈确认
### 后端
- Spring Boot 2.5.15
- Spring Security + JWT
- MyBatis
- MySQL 5.7+
- Redis缓存
- Druid连接池
### 前端
- Vue 2.6.12
- Element UI 2.15
- Axios
- Vuex
- ECharts图表
- VueRouter
### 工具库
- TTS阿里云/腾讯云
- 二维码qr-code
- Excel导入导出POI
- PDF生成iText/Flying Saucer
- 文件上传OSS可选
---
## 关键需求清单(必须实现)
### ★级功能
- [x] 语音真人读题
- [x] 暂停/恢复测评
- [x] 自定义用户档案
- [x] 自定义量表
- [x] 自定义问卷(多种题型)
- [x] 自定义测评结果
- [x] 二维码扫码功能
- [x] 无人数限制普查
- [x] 心理网站功能
- [x] 自动危机预警
- [x] 开放式API对接
### 必需量表
- COPA-SAI
- COPA-PI
- COPA-TCMI
- COPA-SCMI
- COPA-MPI
- 罪犯暴力倾向量表
- 罪犯自杀倾向量表
- MMPI
- SCL-90
- SAS
- SDS
- 其他50+量表
---
## 开发进度安排
| 阶段 | 天数 | 关键里程碑 |
|------|------|-----------|
| 第一阶段 | 2天 | 数据库设计完成,必填量表导入 |
| 第二阶段 | 8天 | 核心功能可用 |
| 第三阶段 | 6天 | 扩展功能完成 |
| 第四阶段 | 3天 | API接口对外开放 |
| 第五阶段 | 4天 | 前端界面完善 |
| 第六阶段 | 3天 | 系统测试通过 |
| 第七阶段 | 2天 | 正式上线 |
| **总计** | **28天** | **完整系统交付** |
---
## 风险与应对
1. **TTS成本控制**
- 风险评估:大量语音生成会产生费用
- 应对优先使用本地TTS预留API接入
2. **性能瓶颈**
- 风险评估:大批量测评可能出现性能问题
- 应对数据库优化、Redis缓存、异步处理
3. **量表数据准确性**
- 风险评估:计分规则复杂易错
- 应对:充分测试、人工复核
4. **移动端兼容性**
- 风险评估:不同设备适配问题
- 应对:响应式设计、兼容性测试
---
## 下一步行动
**第一阶段已完成情况:**
1. ✅ 数据库设计27张表
2. ✅ 量表管理模块CRUD完整
3. ✅ 菜单配置与权限
4. ✅ 可在浏览器正常运行
**准备就绪的技术环境:**
- ✅ 项目框架RuoYi-Vue
- ✅ 数据库设计SQL脚本
- ✅ 基础架构Controller-Service-Mapper
- ✅ 量表管理功能可用
---
**计划制定日期**2025-11-01
**预计完成日期**2025-11-29