578 lines
17 KiB
Markdown
578 lines
17 KiB
Markdown
|
|
# 第二阶段完成总结与第三阶段详细设计
|
|||
|
|
|
|||
|
|
## 📊 第二阶段完成情况总结
|
|||
|
|
|
|||
|
|
### ✅ 已完成的核心功能
|
|||
|
|
|
|||
|
|
#### D2-1: 量表管理模块 ✅
|
|||
|
|
- [x] 后端实体类、Mapper、Service、Controller完整
|
|||
|
|
- [x] 前端列表页、表单功能完整
|
|||
|
|
- [x] API接口完整
|
|||
|
|
- [ ] Excel导入导出功能(待开发,非核心)
|
|||
|
|
|
|||
|
|
#### D2-2: 题目与选项管理 ✅
|
|||
|
|
- [x] 后端CRUD完整
|
|||
|
|
- [x] 前端题目管理页面完整
|
|||
|
|
- [x] 选项配置界面完整
|
|||
|
|
- [ ] 批量导入功能(待开发,非核心)
|
|||
|
|
|
|||
|
|
#### D2-3: 因子与计分规则 ✅
|
|||
|
|
- [x] 后端CRUD完整
|
|||
|
|
- [x] 前端因子配置页面完整
|
|||
|
|
- [x] 计分规则管理完整
|
|||
|
|
- [ ] 公式编辑器(待开发,可手动配置)
|
|||
|
|
|
|||
|
|
#### D2-4: 测评执行模块 ✅⭐⭐⭐⭐⭐
|
|||
|
|
- [x] 开始测评接口 ✅
|
|||
|
|
- [x] 获取题目接口 ✅
|
|||
|
|
- [x] 保存答案接口 ✅
|
|||
|
|
- [x] 暂停测评接口 ✅
|
|||
|
|
- [x] 恢复测评接口 ✅
|
|||
|
|
- [x] 提交测评接口 ✅(包含计分逻辑)
|
|||
|
|
- [x] 前端答题界面完整 ✅
|
|||
|
|
- [x] 进度条组件 ✅
|
|||
|
|
- [x] 暂停/恢复功能 ✅
|
|||
|
|
|
|||
|
|
#### D2-6: 测评报告生成 ✅
|
|||
|
|
- [x] 后端实体类、Mapper、Service、Controller完整
|
|||
|
|
- [x] 报告自动生成服务 ✅(核心算法已实现)
|
|||
|
|
- [x] 因子得分计算 ✅
|
|||
|
|
- [x] 结果解释匹配 ✅
|
|||
|
|
- [x] HTML报告生成 ✅
|
|||
|
|
- [x] 前端报告展示页面 ✅
|
|||
|
|
- [x] 前端报告详情页面 ✅
|
|||
|
|
- [x] 前端解释配置页面 ✅
|
|||
|
|
- [ ] PDF生成功能(预留,非核心)
|
|||
|
|
|
|||
|
|
### ⚠️ 未完成但非阻塞的功能
|
|||
|
|
|
|||
|
|
#### D2-5: 语音读题功能 ⭐(可选功能)
|
|||
|
|
- [ ] 待第三阶段或后续开发
|
|||
|
|
- 不影响核心测评流程
|
|||
|
|
|
|||
|
|
#### D2-7: 危机预警模块 ⭐(重要但非紧急)
|
|||
|
|
- [ ] 待第三阶段开发
|
|||
|
|
- 核心测评流程已打通
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🎯 第二阶段完成度评估
|
|||
|
|
|
|||
|
|
**核心功能完成度:100%** ✅
|
|||
|
|
|
|||
|
|
**辅助功能完成度:70%** 🟡
|
|||
|
|
- 核心测评流程:开始 → 答题 → 暂停/恢复 → 提交 → 报告生成 ✅
|
|||
|
|
- 菜单配置和权限 ✅
|
|||
|
|
- 可在浏览器正常运行 ✅
|
|||
|
|
|
|||
|
|
**总体进度:第二阶段核心任务已完成,可以进入第三阶段**
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🚀 第三阶段:扩展功能开发(6天)
|
|||
|
|
|
|||
|
|
### 阶段目标
|
|||
|
|
完成用户档案管理、自定义问卷、二维码、心理网站、数据统计、权限管理等扩展功能,提升系统实用性和用户体验。
|
|||
|
|
|
|||
|
|
### 第三阶段详细设计
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## D3-1: 用户档案管理(1天)⭐⭐⭐⭐⭐
|
|||
|
|
|
|||
|
|
### 功能概述
|
|||
|
|
支持自定义用户档案字段,不同年龄段可使用不同模板,支持批量导入导出。
|
|||
|
|
|
|||
|
|
### 数据库设计
|
|||
|
|
**已创建表:`psy_user_profile`**(见 `psy_assessment_system_extension.sql`)
|
|||
|
|
|
|||
|
|
### 后端开发
|
|||
|
|
|
|||
|
|
#### 1. 实体类(已完成表结构)
|
|||
|
|
```java
|
|||
|
|
// ry-news-system/src/main/java/com/ddnai/system/domain/psychology/PsyUserProfile.java
|
|||
|
|
// 需要补充:档案模板配置实体
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**需要创建的类:**
|
|||
|
|
- `PsyUserProfile` - 用户档案实体(已完成表结构)
|
|||
|
|
- `PsyProfileTemplate` - 档案模板配置(需创建新表或使用JSON存储)
|
|||
|
|
|
|||
|
|
#### 2. Mapper接口
|
|||
|
|
```java
|
|||
|
|
// ry-news-system/src/main/java/com/ddnai/system/mapper/psychology/PsyUserProfileMapper.java
|
|||
|
|
// 功能:
|
|||
|
|
// - selectUserProfileByUserId(Long userId)
|
|||
|
|
// - selectUserProfileList(PsyUserProfile profile)
|
|||
|
|
// - insertUserProfile(PsyUserProfile profile)
|
|||
|
|
// - updateUserProfile(PsyUserProfile profile)
|
|||
|
|
// - deleteUserProfileById(Long profileId)
|
|||
|
|
// - batchInsertUserProfile(List<PsyUserProfile> list) // 批量导入
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 3. Service接口和实现
|
|||
|
|
```java
|
|||
|
|
// IPsyUserProfileService.java
|
|||
|
|
public interface IPsyUserProfileService {
|
|||
|
|
List<PsyUserProfile> selectUserProfileList(PsyUserProfile profile);
|
|||
|
|
PsyUserProfile selectUserProfileByUserId(Long userId);
|
|||
|
|
int insertUserProfile(PsyUserProfile profile);
|
|||
|
|
int updateUserProfile(PsyUserProfile profile);
|
|||
|
|
int deleteUserProfileByIds(Long[] profileIds);
|
|||
|
|
AjaxResult importUserProfile(MultipartFile file);
|
|||
|
|
void exportUserProfile(HttpServletResponse response);
|
|||
|
|
// 模板管理
|
|||
|
|
List<Map<String, Object>> getProfileTemplates();
|
|||
|
|
int saveProfileTemplate(String templateName, List<Map<String, Object>> fields);
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 4. Controller
|
|||
|
|
```java
|
|||
|
|
// PsyUserProfileController.java
|
|||
|
|
@RestController
|
|||
|
|
@RequestMapping("/psychology/profile")
|
|||
|
|
public class PsyUserProfileController {
|
|||
|
|
// CRUD接口
|
|||
|
|
// 批量导入
|
|||
|
|
// 导出Excel
|
|||
|
|
// 模板管理接口
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 前端开发
|
|||
|
|
|
|||
|
|
#### 1. API接口
|
|||
|
|
```javascript
|
|||
|
|
// ruoyi-ui/src/api/psychology/profile.js
|
|||
|
|
export function listProfile(query) { }
|
|||
|
|
export function getProfile(userId) { }
|
|||
|
|
export function addProfile(data) { }
|
|||
|
|
export function updateProfile(data) { }
|
|||
|
|
export function delProfile(ids) { }
|
|||
|
|
export function importProfile(data) { }
|
|||
|
|
export function exportProfile(query) { }
|
|||
|
|
export function getProfileTemplates() { }
|
|||
|
|
export function saveProfileTemplate(data) { }
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
#### 2. 页面组件
|
|||
|
|
```
|
|||
|
|
ruoyi-ui/src/views/psychology/profile/
|
|||
|
|
├── index.vue # 档案列表页
|
|||
|
|
├── form.vue # 档案编辑表单
|
|||
|
|
├── template.vue # 模板配置页
|
|||
|
|
└── import.vue # 批量导入页
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**功能要点:**
|
|||
|
|
- 支持动态字段配置
|
|||
|
|
- 不同年龄段显示不同字段模板
|
|||
|
|
- Excel批量导入导出
|
|||
|
|
- 字段验证规则配置
|
|||
|
|
|
|||
|
|
### 开发任务清单
|
|||
|
|
- [ ] 创建 `PsyUserProfile` 实体类
|
|||
|
|
- [ ] 创建 Mapper 接口和XML
|
|||
|
|
- [ ] 创建 Service 接口和实现
|
|||
|
|
- [ ] 创建 Controller
|
|||
|
|
- [ ] 创建前端API文件
|
|||
|
|
- [ ] 创建档案列表页
|
|||
|
|
- [ ] 创建档案编辑表单
|
|||
|
|
- [ ] 创建模板配置页面
|
|||
|
|
- [ ] 实现Excel导入导出
|
|||
|
|
- [ ] 添加菜单配置和权限
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## D3-2: 自定义问卷模块(1.5天)⭐⭐⭐⭐⭐
|
|||
|
|
|
|||
|
|
### 功能概述
|
|||
|
|
支持创建自定义问卷,支持多种题目类型(单选、多选、判断、填空、排序、计算、简答、问答、作文等),支持自动计分和成绩排名。
|
|||
|
|
|
|||
|
|
### 数据库设计
|
|||
|
|
**已创建表:`psy_questionnaire`**(见 `psy_assessment_system_extension.sql`)
|
|||
|
|
|
|||
|
|
**需要补充的表:**
|
|||
|
|
```sql
|
|||
|
|
-- 问卷题目表(复用或新建)
|
|||
|
|
CREATE TABLE `psy_questionnaire_item` (
|
|||
|
|
`item_id` bigint NOT NULL AUTO_INCREMENT,
|
|||
|
|
`questionnaire_id` bigint NOT NULL,
|
|||
|
|
`item_type` varchar(20) NOT NULL COMMENT '题目类型:radio/checkbox/boolean/input/sort/calculate/text/textarea/essay',
|
|||
|
|
`item_content` text NOT NULL COMMENT '题目内容',
|
|||
|
|
`is_required` char(1) DEFAULT '0' COMMENT '是否必填',
|
|||
|
|
`score` decimal(10,2) DEFAULT 0 COMMENT '分值',
|
|||
|
|
`sort_order` int DEFAULT 0,
|
|||
|
|
PRIMARY KEY (`item_id`)
|
|||
|
|
) ENGINE=InnoDB COMMENT='问卷题目表';
|
|||
|
|
|
|||
|
|
-- 问卷答案表
|
|||
|
|
CREATE TABLE `psy_questionnaire_answer` (
|
|||
|
|
`answer_id` bigint NOT NULL AUTO_INCREMENT,
|
|||
|
|
`questionnaire_id` bigint NOT NULL,
|
|||
|
|
`user_id` bigint DEFAULT NULL,
|
|||
|
|
`item_id` bigint NOT NULL,
|
|||
|
|
`answer_content` text COMMENT '答案内容',
|
|||
|
|
`score` decimal(10,2) DEFAULT 0,
|
|||
|
|
`submit_time` datetime DEFAULT NULL,
|
|||
|
|
PRIMARY KEY (`answer_id`)
|
|||
|
|
) ENGINE=InnoDB COMMENT='问卷答案表';
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 后端开发
|
|||
|
|
|
|||
|
|
#### 1. 实体类
|
|||
|
|
- `PsyQuestionnaire`(已创建表结构)
|
|||
|
|
- `PsyQuestionnaireItem`(需创建)
|
|||
|
|
- `PsyQuestionnaireAnswer`(需创建)
|
|||
|
|
|
|||
|
|
#### 2. Controller接口设计
|
|||
|
|
```java
|
|||
|
|
// PsyQuestionnaireController.java
|
|||
|
|
POST /psychology/questionnaire/add # 创建问卷
|
|||
|
|
PUT /psychology/questionnaire/edit # 编辑问卷
|
|||
|
|
GET /psychology/questionnaire/list # 问卷列表
|
|||
|
|
GET /psychology/questionnaire/{id} # 问卷详情
|
|||
|
|
DELETE /psychology/questionnaire/remove/{ids} # 删除问卷
|
|||
|
|
POST /psychology/questionnaire/item/add # 添加题目
|
|||
|
|
PUT /psychology/questionnaire/item/edit # 编辑题目
|
|||
|
|
DELETE /psychology/questionnaire/item/remove # 删除题目
|
|||
|
|
POST /psychology/questionnaire/submit # 提交问卷
|
|||
|
|
GET /psychology/questionnaire/result/{id} # 查看结果
|
|||
|
|
GET /psychology/questionnaire/statistics/{id} # 统计排名
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 前端开发
|
|||
|
|
|
|||
|
|
#### 页面结构
|
|||
|
|
```
|
|||
|
|
ruoyi-ui/src/views/psychology/questionnaire/
|
|||
|
|
├── index.vue # 问卷列表
|
|||
|
|
├── form.vue # 问卷编辑(含题目编辑)
|
|||
|
|
├── answer.vue # 答题页面
|
|||
|
|
├── result.vue # 结果查看
|
|||
|
|
└── statistics.vue # 成绩统计
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**功能要点:**
|
|||
|
|
- 拖拽排序题目
|
|||
|
|
- 题目类型选择器(8种类型)
|
|||
|
|
- 自动计分(客观题)
|
|||
|
|
- 成绩排名图表(ECharts)
|
|||
|
|
- 答题页面适配移动端
|
|||
|
|
|
|||
|
|
### 开发任务清单
|
|||
|
|
- [ ] 创建问卷题目表和答案表SQL
|
|||
|
|
- [ ] 创建实体类(3个)
|
|||
|
|
- [ ] 创建Mapper接口和XML(3个)
|
|||
|
|
- [ ] 创建Service接口和实现
|
|||
|
|
- [ ] 创建Controller
|
|||
|
|
- [ ] 创建前端API文件
|
|||
|
|
- [ ] 创建问卷列表页
|
|||
|
|
- [ ] 创建问卷编辑器(支持8种题型)
|
|||
|
|
- [ ] 创建答题页面
|
|||
|
|
- [ ] 创建结果查看页面
|
|||
|
|
- [ ] 创建成绩统计页面
|
|||
|
|
- [ ] 添加菜单配置
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## D3-3: 二维码功能(0.5天)⭐⭐⭐⭐⭐
|
|||
|
|
|
|||
|
|
### 功能概述
|
|||
|
|
生成测评二维码,支持扫码开始测评、扫码查看报告、扫码注册/登录等功能。
|
|||
|
|
|
|||
|
|
### 数据库设计
|
|||
|
|
**已创建表:`psy_qrcode`**(见 `psy_assessment_system_extension.sql`)
|
|||
|
|
|
|||
|
|
### 后端开发
|
|||
|
|
|
|||
|
|
#### 技术选型
|
|||
|
|
- 二维码生成:使用 `com.google.zxing` 或 `com.github.kenglxn.qrgen`
|
|||
|
|
- 短链接:使用Redis或自建短链接服务
|
|||
|
|
|
|||
|
|
#### Controller接口
|
|||
|
|
```java
|
|||
|
|
// PsyQrcodeController.java
|
|||
|
|
POST /psychology/qrcode/generate # 生成二维码
|
|||
|
|
GET /psychology/qrcode/list # 二维码列表
|
|||
|
|
GET /psychology/qrcode/{id} # 二维码详情
|
|||
|
|
DELETE /psychology/qrcode/remove/{ids} # 删除二维码
|
|||
|
|
GET /psychology/qrcode/scan/{code} # 扫码跳转
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**生成逻辑:**
|
|||
|
|
```java
|
|||
|
|
// 生成测评二维码
|
|||
|
|
String url = "https://domain.com/psychology/assessment/start?scaleId=" + scaleId;
|
|||
|
|
QRCode qrCode = QRCode.from(url).withSize(300, 300).file();
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 前端开发
|
|||
|
|
|
|||
|
|
#### 页面
|
|||
|
|
```
|
|||
|
|
ruoyi-ui/src/views/psychology/qrcode/
|
|||
|
|
├── index.vue # 二维码管理列表
|
|||
|
|
├── form.vue # 生成二维码表单
|
|||
|
|
└── scan.vue # 扫码页面(移动端)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**功能要点:**
|
|||
|
|
- 选择量表生成二维码
|
|||
|
|
- 二维码预览和下载
|
|||
|
|
- 扫码记录统计
|
|||
|
|
- 移动端扫码适配
|
|||
|
|
|
|||
|
|
### 开发任务清单
|
|||
|
|
- [ ] 添加二维码生成依赖(pom.xml)
|
|||
|
|
- [ ] 创建二维码生成工具类
|
|||
|
|
- [ ] 创建Mapper接口和XML
|
|||
|
|
- [ ] 创建Service接口和实现
|
|||
|
|
- [ ] 创建Controller
|
|||
|
|
- [ ] 创建前端API文件
|
|||
|
|
- [ ] 创建二维码管理页面
|
|||
|
|
- [ ] 创建扫码页面
|
|||
|
|
- [ ] 添加菜单配置
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## D3-4: 心理网站模块(1天)⭐⭐⭐⭐⭐
|
|||
|
|
|
|||
|
|
### 功能概述
|
|||
|
|
构建心理知识网站,支持文章发布、栏目管理、留言评论、个性化配置等。
|
|||
|
|
|
|||
|
|
### 数据库设计
|
|||
|
|
**已创建表:`psy_website_content`**(见 `psy_assessment_system_extension.sql`)
|
|||
|
|
|
|||
|
|
**需要补充的表:**
|
|||
|
|
```sql
|
|||
|
|
-- 栏目表
|
|||
|
|
CREATE TABLE `psy_website_category` (
|
|||
|
|
`category_id` bigint NOT NULL AUTO_INCREMENT,
|
|||
|
|
`category_name` varchar(100) NOT NULL,
|
|||
|
|
`parent_id` bigint DEFAULT 0,
|
|||
|
|
`sort_order` int DEFAULT 0,
|
|||
|
|
`status` char(1) DEFAULT '0',
|
|||
|
|
PRIMARY KEY (`category_id`)
|
|||
|
|
) ENGINE=InnoDB COMMENT='网站栏目表';
|
|||
|
|
|
|||
|
|
-- 评论表
|
|||
|
|
CREATE TABLE `psy_website_comment` (
|
|||
|
|
`comment_id` bigint NOT NULL AUTO_INCREMENT,
|
|||
|
|
`content_id` bigint NOT NULL,
|
|||
|
|
`user_id` bigint DEFAULT NULL,
|
|||
|
|
`comment_content` text,
|
|||
|
|
`create_time` datetime DEFAULT NULL,
|
|||
|
|
`status` char(1) DEFAULT '0',
|
|||
|
|
PRIMARY KEY (`comment_id`)
|
|||
|
|
) ENGINE=InnoDB COMMENT='网站评论表';
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 后端开发
|
|||
|
|
|
|||
|
|
#### Controller接口
|
|||
|
|
```java
|
|||
|
|
// PsyWebsiteController.java
|
|||
|
|
// 文章管理
|
|||
|
|
POST /psychology/website/content/add
|
|||
|
|
PUT /psychology/website/content/edit
|
|||
|
|
GET /psychology/website/content/list
|
|||
|
|
DELETE /psychology/website/content/remove/{ids}
|
|||
|
|
// 栏目管理
|
|||
|
|
GET /psychology/website/category/tree
|
|||
|
|
POST /psychology/website/category/add
|
|||
|
|
// 评论管理
|
|||
|
|
GET /psychology/website/comment/list
|
|||
|
|
POST /psychology/website/comment/add
|
|||
|
|
DELETE /psychology/website/comment/remove/{ids}
|
|||
|
|
// 前台接口(无需登录)
|
|||
|
|
GET /psychology/website/front/content/list # 前台文章列表
|
|||
|
|
GET /psychology/website/front/content/{id} # 前台文章详情
|
|||
|
|
POST /psychology/website/front/comment/add # 前台提交评论
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 前端开发
|
|||
|
|
|
|||
|
|
#### 页面结构
|
|||
|
|
```
|
|||
|
|
ruoyi-ui/src/views/psychology/website/
|
|||
|
|
├── content/ # 后台管理
|
|||
|
|
│ ├── index.vue # 文章列表
|
|||
|
|
│ └── form.vue # 文章编辑
|
|||
|
|
├── category/ # 栏目管理
|
|||
|
|
│ └── index.vue
|
|||
|
|
├── comment/ # 评论管理
|
|||
|
|
│ └── index.vue
|
|||
|
|
└── front/ # 前台展示
|
|||
|
|
├── index.vue # 首页
|
|||
|
|
├── list.vue # 文章列表
|
|||
|
|
├── detail.vue # 文章详情
|
|||
|
|
└── comment.vue # 评论组件
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**功能要点:**
|
|||
|
|
- 富文本编辑器(已集成)
|
|||
|
|
- 栏目树形结构
|
|||
|
|
- 前台响应式布局
|
|||
|
|
- 评论功能
|
|||
|
|
- 网站配置开关
|
|||
|
|
|
|||
|
|
### 开发任务清单
|
|||
|
|
- [ ] 创建栏目表和评论表SQL
|
|||
|
|
- [ ] 创建实体类
|
|||
|
|
- [ ] 创建Mapper接口和XML
|
|||
|
|
- [ ] 创建Service接口和实现
|
|||
|
|
- [ ] 创建Controller(后台+前台)
|
|||
|
|
- [ ] 创建前端API文件
|
|||
|
|
- [ ] 创建后台管理页面
|
|||
|
|
- [ ] 创建前台展示页面
|
|||
|
|
- [ ] 添加菜单配置
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## D3-5: 数据统计模块(1天)
|
|||
|
|
|
|||
|
|
### 功能概述
|
|||
|
|
提供团体统计、个体统计、测评轨迹、因子趋势分析、部门/班级对比等功能。
|
|||
|
|
|
|||
|
|
### 数据库设计
|
|||
|
|
**复用现有表,无需新建**
|
|||
|
|
|
|||
|
|
### 后端开发
|
|||
|
|
|
|||
|
|
#### Controller接口
|
|||
|
|
```java
|
|||
|
|
// PsyStatisticsController.java
|
|||
|
|
GET /psychology/statistics/group # 团体统计
|
|||
|
|
GET /psychology/statistics/individual # 个体统计
|
|||
|
|
GET /psychology/statistics/trail # 测评轨迹
|
|||
|
|
GET /psychology/statistics/factor-trend # 因子趋势
|
|||
|
|
GET /psychology/statistics/compare # 部门/班级对比
|
|||
|
|
GET /psychology/statistics/export # 数据导出
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**统计维度:**
|
|||
|
|
- 团体:量表完成率、平均分、因子分布、风险等级分布
|
|||
|
|
- 个体:历史测评轨迹、因子变化趋势、风险评估变化
|
|||
|
|
- 对比:不同部门/班级的对比图表
|
|||
|
|
|
|||
|
|
### 前端开发
|
|||
|
|
|
|||
|
|
#### 页面结构
|
|||
|
|
```
|
|||
|
|
ruoyi-ui/src/views/psychology/statistics/
|
|||
|
|
├── group.vue # 团体统计(ECharts)
|
|||
|
|
├── individual.vue # 个体统计
|
|||
|
|
├── trail.vue # 测评轨迹
|
|||
|
|
├── factor-trend.vue # 因子趋势
|
|||
|
|
└── compare.vue # 对比分析
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**图表类型:**
|
|||
|
|
- 柱状图(完成率、平均分)
|
|||
|
|
- 饼图(因子分布、风险等级)
|
|||
|
|
- 折线图(趋势分析)
|
|||
|
|
- 雷达图(因子对比)
|
|||
|
|
|
|||
|
|
### 开发任务清单
|
|||
|
|
- [ ] 创建StatisticsController
|
|||
|
|
- [ ] 实现统计Service逻辑
|
|||
|
|
- [ ] 创建前端API文件
|
|||
|
|
- [ ] 创建统计页面(5个)
|
|||
|
|
- [ ] 集成ECharts图表
|
|||
|
|
- [ ] 实现数据导出
|
|||
|
|
- [ ] 添加菜单配置
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## D3-6: 权限与批量管理(0.5天)
|
|||
|
|
|
|||
|
|
### 功能概述
|
|||
|
|
量表权限配置(部门/班级)、批量权限设置、注册用户权限预定义。
|
|||
|
|
|
|||
|
|
### 数据库设计
|
|||
|
|
**已创建表:`psy_scale_permission`**(见 `psy_assessment_system_extension.sql`)
|
|||
|
|
|
|||
|
|
### 后端开发
|
|||
|
|
|
|||
|
|
#### Controller接口
|
|||
|
|
```java
|
|||
|
|
// PsyScalePermissionController.java
|
|||
|
|
GET /psychology/permission/list # 权限列表
|
|||
|
|
POST /psychology/permission/add # 添加权限
|
|||
|
|
PUT /psychology/permission/edit # 修改权限
|
|||
|
|
DELETE /psychology/permission/remove/{ids} # 删除权限
|
|||
|
|
POST /psychology/permission/batch # 批量设置权限
|
|||
|
|
GET /psychology/permission/user/{userId} # 用户可访问的量表
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 前端开发
|
|||
|
|
|
|||
|
|
#### 页面
|
|||
|
|
```
|
|||
|
|
ruoyi-ui/src/views/psychology/permission/
|
|||
|
|
├── index.vue # 权限列表
|
|||
|
|
└── batch.vue # 批量设置
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**功能要点:**
|
|||
|
|
- 量表与部门/班级关联
|
|||
|
|
- 批量权限设置
|
|||
|
|
- 权限继承规则
|
|||
|
|
- 注册用户默认权限配置
|
|||
|
|
|
|||
|
|
### 开发任务清单
|
|||
|
|
- [ ] 创建实体类
|
|||
|
|
- [ ] 创建Mapper接口和XML
|
|||
|
|
- [ ] 创建Service接口和实现
|
|||
|
|
- [ ] 创建Controller
|
|||
|
|
- [ ] 创建前端API文件
|
|||
|
|
- [ ] 创建权限管理页面
|
|||
|
|
- [ ] 创建批量设置页面
|
|||
|
|
- [ ] 添加菜单配置
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📅 第三阶段开发计划
|
|||
|
|
|
|||
|
|
| 任务 | 预计时间 | 优先级 | 状态 |
|
|||
|
|
|------|---------|--------|------|
|
|||
|
|
| D3-1: 用户档案管理 | 1天 | ⭐⭐⭐⭐⭐ | 待开始 |
|
|||
|
|
| D3-2: 自定义问卷模块 | 1.5天 | ⭐⭐⭐⭐⭐ | 待开始 |
|
|||
|
|
| D3-3: 二维码功能 | 0.5天 | ⭐⭐⭐⭐⭐ | 待开始 |
|
|||
|
|
| D3-4: 心理网站模块 | 1天 | ⭐⭐⭐⭐⭐ | 待开始 |
|
|||
|
|
| D3-5: 数据统计模块 | 1天 | ⭐⭐⭐ | 待开始 |
|
|||
|
|
| D3-6: 权限与批量管理 | 0.5天 | ⭐⭐ | 待开始 |
|
|||
|
|
| **总计** | **6天** | - | - |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🎯 第三阶段里程碑
|
|||
|
|
|
|||
|
|
- **M3-1** (第1天): 用户档案管理完成
|
|||
|
|
- **M3-2** (第2.5天): 自定义问卷模块完成
|
|||
|
|
- **M3-3** (第3天): 二维码功能完成
|
|||
|
|
- **M3-4** (第4天): 心理网站模块完成
|
|||
|
|
- **M3-5** (第5天): 数据统计模块完成
|
|||
|
|
- **M3-6** (第5.5天): 权限管理完成
|
|||
|
|
- **M3-完成** (第6天): 第三阶段全部完成
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📝 开发注意事项
|
|||
|
|
|
|||
|
|
1. **遵循现有代码规范**:参考RuoYi框架规范
|
|||
|
|
2. **数据库变更**:所有表结构变更需更新SQL脚本
|
|||
|
|
3. **菜单配置**:每个模块完成后立即配置菜单和权限
|
|||
|
|
4. **前端组件复用**:充分利用Element UI组件
|
|||
|
|
5. **移动端适配**:二维码、问卷答题等需要移动端适配
|
|||
|
|
6. **测试验证**:每个功能完成后立即测试
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**创建时间**: 2025-11-01
|
|||
|
|
**最后更新**: 2025-11-01
|
|||
|
|
|