12 KiB
12 KiB
心理测评系统开发计划
项目概述
基于RuoYi-Vue框架(Spring Boot + Vue + MySQL)构建的心理测评系统,满足罪犯心理测评特殊需求。
第一阶段:数据库设计与初始化 ✅ 已完成
1.1 完善现有数据库表结构
当前状态:已有基础的心理测评表结构(psy_assessment_system.sql)
需要补充的表:
-
用户档案扩展表 (psy_user_profile)
- 关联sys_user
- 支持自定义档案项
- 不同年龄段字段模板
-
量表权限表 (psy_scale_permission)
- 关联部门/班级与量表
- 权限级别控制
-
问卷功能表 (psy_questionnaire)
- 自定义问卷管理
- 多种题目类型支持
-
语音读题表 (psy_voice_config)
- 题目与语音文件关联
- TTS配置
-
危机预警表 (psy_warning)
- 预警规则设置
- 预警记录
- 预警解除记录
-
二维码管理表 (psy_qrcode)
- 扫码测试配置
- 扫码记录
-
数据备份表 (sys_backup)
- 备份任务记录
- 备份文件管理
-
心理网站内容表 (psy_website_content)
- 文章、公告管理
- 个性化配置
-
开放式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- 量表CRUDPsyScaleServiceImpl- 业务逻辑PsyScaleMapper- 数据访问
功能点:
- ✅ 量表列表查询(分页、筛选)
- ✅ 新增/编辑/删除量表
- ✅ 量表详情查看
- ✅ 量表状态管理(启用/停用)
- ✅ 量表导入导出(Excel模板)
前端:
- 量表管理页面 (
views/psychology/scale/index.vue) - 量表编辑弹窗(题目批量编辑)
- 量表详情页面
2.2 题目与选项管理(1.5天)
后端:
PsyItemController/PsyOptionController- 批量操作接口
功能点:
- ✅ 题目列表(树形展示)
- ✅ 题目编辑(富文本)
- ✅ 选项配置
- ✅ 批量导入题目(Excel)
- ✅ 题目排序拖拽
前端:
- 题目编辑器(支持选项配置)
- 批量导入组件
2.3 因子与计分规则(1天)
后端:
PsyFactorController/PsyFactorRuleController
功能点:
- ✅ 因子配置
- ✅ 因子公式设置
- ✅ 权重配置
- ✅ 反向计分设置
前端:
- 因子配置界面
- 公式编辑器
2.4 测评执行模块(2天)⭐⭐⭐⭐⭐
后端:
PsyAssessmentControllerPsyAssessmentAnswerController
核心功能:
- ✅ 开始测评:创建测评记录
- ✅ 暂停/恢复测评:保存进度、断点续测
- ✅ 提交测评:计算总分、因子分
- ✅ 防重复提交:校验机制
答题接口设计:
// 开始测评
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接口集成
实现方案:
-
方案A(推荐):集成阿里云/腾讯云TTS
- 优点:质量高、稳定
- 成本:按调用量计费
-
方案B:本地TTS引擎
- 优点:免费、离线可用
- 缺点:质量一般
-
方案C:预录音频文件
- 优点:质量可控
- 缺点:存储量大、需要人工录音
API接口:
// 获取题目语音
GET /psychology/voice/item/{itemId}
// 批量生成语音
POST /psychology/voice/batch-generate
前端:
- 音频播放控件
- 播放/暂停/进度控制
- 自动播放开关
2.6 测评报告生成(1天)
后端:
PsyReportController- 报告生成服务
功能点:
- ✅ 自动生成标准报告
- ✅ 因子得分展示
- ✅ 结果解释(根据得分区间)
- ✅ 建议与指导
- ✅ 自定义报告(管理员可编辑)
- ✅ PDF导出
报告内容:
- 基本信息
- 各因子得分雷达图
- 结果解释
- 风险评估
- 改进建议
前端:
- 报告展示页面
- 报告编辑功能(富文本)
- PDF预览/下载
2.7 危机预警模块(1天)⭐⭐⭐⭐⭐
后端:
PsyWarningController
功能点:
- ✅ 预警规则设置(因子阈值)
- ✅ 自动预警检测
- ✅ 预警记录查询
- ✅ 预警解除功能
- ✅ 预警通知(只通知管理员)
预警逻辑:
// 提交测评后自动检测
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接口设计:
// 用户同步
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(可选)
关键需求清单(必须实现)
★级功能
- 语音真人读题
- 暂停/恢复测评
- 自定义用户档案
- 自定义量表
- 自定义问卷(多种题型)
- 自定义测评结果
- 二维码扫码功能
- 无人数限制普查
- 心理网站功能
- 自动危机预警
- 开放式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天 | 完整系统交付 |
风险与应对
-
TTS成本控制
- 风险评估:大量语音生成会产生费用
- 应对:优先使用本地TTS,预留API接入
-
性能瓶颈
- 风险评估:大批量测评可能出现性能问题
- 应对:数据库优化、Redis缓存、异步处理
-
量表数据准确性
- 风险评估:计分规则复杂易错
- 应对:充分测试、人工复核
-
移动端兼容性
- 风险评估:不同设备适配问题
- 应对:响应式设计、兼容性测试
下一步行动
第一阶段已完成情况:
- ✅ 数据库设计(27张表)
- ✅ 量表管理模块(CRUD完整)
- ✅ 菜单配置与权限
- ✅ 可在浏览器正常运行
准备就绪的技术环境:
- ✅ 项目框架(RuoYi-Vue)
- ✅ 数据库设计(SQL脚本)
- ✅ 基础架构(Controller-Service-Mapper)
- ✅ 量表管理功能可用
计划制定日期:2025-11-01 预计完成日期:2025-11-29