pangu-user-platform/docs/05-模块技术方案/会员管理/会员管理开发计划_v1.0.md

367 lines
10 KiB
Markdown
Raw Permalink Normal View History

# 会员管理模块 - 开发计划
---
| 文档信息 | 内容 |
|---------|------|
| **文档版本** | V1.0 |
| **模块名称** | 会员管理模块 |
| **编写团队** | pangu |
| **创建日期** | 2026-01-31 |
---
## 1. 项目概述
### 1.1 模块简介
会员管理模块是盘古用户平台的核心业务模块,负责管理前端用户(家长/教师)的信息维护、登录认证、学生绑定等功能。
### 1.2 开发目标
- 完成会员管理的全部功能开发
- 前后端联调通过
- 完成功能测试和修复
- 通过验收测试
---
## 2. 开发阶段划分
### 2.1 阶段总览
| 阶段 | 名称 | 主要任务 | 交付物 |
|:---:|-----|---------|--------|
| 1 | 后端开发 | 数据库、接口开发 | 可调用的API接口 |
| 2 | 前端开发 | 页面、组件开发 | 可操作的页面 |
| 3 | 联调测试 | 前后端联调、功能测试 | 测试报告 |
| 4 | 验收上线 | 验收测试、部署上线 | 生产环境运行 |
---
## 3. 阶段一:后端开发
### 3.1 任务清单
| 序号 | 任务名称 | 详细描述 | 优先级 | 负责人 | 状态 |
|:---:|---------|---------|:-----:|:-----:|:----:|
| 1.1 | 数据库表创建 | 创建pg_member表及索引 | P0 | - | 待开始 |
| 1.2 | 实体类开发 | Member、MemberVO、MemberDTO | P0 | - | 待开始 |
| 1.3 | 枚举类开发 | IdentityTypeEnum、RegisterSourceEnum | P1 | - | 待开始 |
| 1.4 | Mapper开发 | MemberMapper接口和XML | P0 | - | 待开始 |
| 1.5 | Service接口 | IMemberService接口定义 | P0 | - | 待开始 |
| 1.6 | Service实现 | MemberServiceImpl实现 | P0 | - | 待开始 |
| 1.7 | Controller开发 | MemberController接口 | P0 | - | 待开始 |
| 1.8 | 权限配置 | 菜单、按钮权限配置 | P0 | - | 待开始 |
| 1.9 | 接口测试 | Postman/Swagger测试 | P0 | - | 待开始 |
| 1.10 | 代码审查 | 后端代码Review | P1 | - | 待开始 |
### 3.2 详细任务说明
#### 3.2.1 数据库表创建1.1
**任务目标:** 创建会员表及相关索引
**具体内容:**
- 创建 pg_member 表
- 创建唯一索引uk_member_code, uk_phone
- 创建普通索引idx_open_id, idx_school_id, idx_identity_type
**验收标准:**
- 表结构符合设计文档
- 索引创建正确
- 初始数据插入成功
#### 3.2.2 实体类开发1.2
**任务目标:** 开发会员相关的实体类
**具体内容:**
- Member.java - 会员实体
- MemberVO.java - 视图对象
- MemberDTO.java - 数据传输对象
- StudentVO内部类- 学生视图
**验收标准:**
- 字段与数据库表对应
- 注解配置正确
- 通过编译
#### 3.2.3 Mapper开发1.4
**任务目标:** 开发数据访问层
**具体内容:**
- MemberMapper.java 接口
- MemberMapper.xml 映射文件
- 自定义查询方法
**验收标准:**
- CRUD功能正常
- 关联查询正确
- 分页查询正常
#### 3.2.4 Service开发1.5, 1.6
**任务目标:** 开发业务逻辑层
**具体内容:**
- 会员列表查询(带数据权限)
- 新增会员(含校验逻辑)
- 编辑会员
- 删除会员(检查绑定关系)
- 重置密码
- 状态切换
- 学生绑定/解绑
**验收标准:**
- 业务规则实现正确
- 异常处理完善
- 事务控制正确
#### 3.2.5 Controller开发1.7
**任务目标:** 开发REST接口
**接口清单:**
| 接口 | 方法 | 说明 |
|-----|------|------|
| /member/list | GET | 查询列表 |
| /member/{id} | GET | 获取详情 |
| /member | POST | 新增 |
| /member | PUT | 修改 |
| /member/{id} | DELETE | 删除 |
| /member/resetPwd/{id} | PUT | 重置密码 |
| /member/changeStatus | PUT | 修改状态 |
| /member/bindStudent | POST | 绑定学生 |
| /member/unbindStudent/{memberId}/{studentId} | DELETE | 解绑学生 |
**验收标准:**
- 接口路径规范
- 权限注解配置
- 日志注解配置
- Swagger文档生成
---
## 4. 阶段二:前端开发
### 4.1 任务清单
| 序号 | 任务名称 | 详细描述 | 优先级 | 负责人 | 状态 |
|:---:|---------|---------|:-----:|:-----:|:----:|
| 2.1 | API接口封装 | member.js接口定义 | P0 | - | 待开始 |
| 2.2 | 路由配置 | 会员管理路由 | P0 | - | 待开始 |
| 2.3 | 列表页开发 | index.vue | P0 | - | 待开始 |
| 2.4 | 搜索组件 | 搜索条件表单 | P0 | - | 待开始 |
| 2.5 | 表格组件 | 数据表格展示 | P0 | - | 待开始 |
| 2.6 | 编辑页开发 | form.vue | P0 | - | 待开始 |
| 2.7 | 学生绑定弹窗 | StudentBindDialog.vue | P0 | - | 待开始 |
| 2.8 | 密码显示弹窗 | PasswordDialog.vue | P1 | - | 待开始 |
| 2.9 | 工具函数 | utils/member.js | P1 | - | 待开始 |
| 2.10 | 样式调整 | UI样式优化 | P2 | - | 待开始 |
| 2.11 | 代码审查 | 前端代码Review | P1 | - | 待开始 |
### 4.2 详细任务说明
#### 4.2.1 列表页开发2.3
**页面功能:**
- 搜索条件:手机号、昵称、身份类型、状态、注册时间
- 操作按钮:新增
- 数据表格:显示会员列表
- 行操作:编辑、重置密码、删除
- 分页组件
**交互要求:**
- 手机号脱敏显示
- 状态开关可直接切换
- 删除需二次确认
#### 4.2.2 编辑页开发2.6
**页面功能:**
- 基本信息表单
- 教师信息表单(条件显示)
- 学生绑定列表
- 保存/取消按钮
**交互要求:**
- 身份类型切换时动态显示/隐藏教师信息
- 区域-学校-年级-班级级联选择
- 表单验证
#### 4.2.3 学生绑定弹窗2.7
**组件功能:**
- 学生搜索
- 学生列表(多选)
- 分页
- 确认选择
**交互要求:**
- 教师身份只显示本校学生
- 排除已绑定学生
- 多选确认
---
## 5. 阶段三:联调测试
### 5.1 任务清单
| 序号 | 任务名称 | 详细描述 | 优先级 | 负责人 | 状态 |
|:---:|---------|---------|:-----:|:-----:|:----:|
| 3.1 | 接口联调 | 前后端接口对接 | P0 | - | 待开始 |
| 3.2 | 功能测试 | 执行测试用例 | P0 | - | 待开始 |
| 3.3 | Bug修复 | 修复发现的问题 | P0 | - | 待开始 |
| 3.4 | 回归测试 | 验证Bug修复 | P0 | - | 待开始 |
| 3.5 | 权限测试 | 各角色权限验证 | P0 | - | 待开始 |
| 3.6 | 性能测试 | 响应时间、并发测试 | P1 | - | 待开始 |
| 3.7 | 兼容性测试 | 浏览器兼容性 | P2 | - | 待开始 |
### 5.2 测试重点
1. **业务规则验证**
- 手机号唯一性
- 教师必须绑定学校信息
- 教师只能绑定本校学生
- 有绑定学生的会员不能删除
2. **数据权限验证**
- 超级管理员看全部
- 分公司用户看所属区域
- 学校用户看本校教师
3. **状态控制验证**
- 禁用后无法登录
- 状态切换生效
---
## 6. 阶段四:验收上线
### 6.1 任务清单
| 序号 | 任务名称 | 详细描述 | 优先级 | 负责人 | 状态 |
|:---:|---------|---------|:-----:|:-----:|:----:|
| 4.1 | UAT测试 | 用户验收测试 | P0 | - | 待开始 |
| 4.2 | 问题修复 | UAT问题修复 | P0 | - | 待开始 |
| 4.3 | 代码合并 | 合并到主分支 | P0 | - | 待开始 |
| 4.4 | 部署上线 | 生产环境部署 | P0 | - | 待开始 |
| 4.5 | 上线验证 | 生产环境验证 | P0 | - | 待开始 |
| 4.6 | 文档归档 | 技术文档归档 | P1 | - | 待开始 |
### 6.2 上线检查清单
| 检查项 | 状态 |
|-------|:----:|
| 数据库脚本准备 | □ |
| 菜单权限配置 | □ |
| 角色权限分配 | □ |
| 应用配置检查 | □ |
| 接口测试通过 | □ |
| 功能测试通过 | □ |
| 权限测试通过 | □ |
| 代码Review完成 | □ |
| 部署脚本准备 | □ |
| 回滚方案准备 | □ |
---
## 7. 风险识别
### 7.1 技术风险
| 风险项 | 风险等级 | 影响 | 应对措施 |
|-------|:-------:|------|---------|
| 数据权限实现复杂 | 中 | 进度延迟 | 提前熟悉RuoYi数据权限机制 |
| 前端组件复杂度高 | 中 | 开发周期延长 | 复用已有组件,分解任务 |
| 接口设计变更 | 低 | 返工 | 提前评审接口设计 |
### 7.2 业务风险
| 风险项 | 风险等级 | 影响 | 应对措施 |
|-------|:-------:|------|---------|
| 需求变更 | 中 | 返工 | 需求评审确认,变更流程管控 |
| 测试时间不足 | 中 | 质量问题 | 合理安排测试周期 |
---
## 8. 依赖项
### 8.1 模块依赖
| 依赖模块 | 依赖内容 | 影响 |
|---------|---------|------|
| 区域管理 | 区域树接口 | 教师信息选择 |
| 学校管理 | 学校/年级/班级接口 | 教师信息选择 |
| 学生管理 | 学生列表接口 | 学生绑定功能 |
| 系统管理 | 用户/角色/权限 | 权限控制 |
### 8.2 技术依赖
| 依赖项 | 说明 |
|-------|------|
| RuoYi框架 | 基础框架支持 |
| MyBatis Plus | ORM功能 |
| Spring Security | 权限控制 |
| Element Plus | UI组件 |
---
## 9. 交付物清单
### 9.1 文档交付物
| 文档名称 | 用途 |
|---------|------|
| 会员管理模块技术方案_v1.0.md | 总体技术方案 |
| 会员管理前端详细设计_v1.0.md | 前端设计文档 |
| 会员管理后端详细设计_v1.0.md | 后端设计文档 |
| 会员管理测试用例_v1.0.md | 测试用例 |
| 会员管理开发计划_v1.0.md | 开发计划 |
### 9.2 代码交付物
| 交付物 | 路径 |
|-------|------|
| 后端代码 | pangu-admin/src/main/java/com/pangu/member/ |
| 前端代码 | frontend/src/views/member/ |
| 数据库脚本 | sql/pg_member.sql |
| 菜单配置 | sql/pg_member_menu.sql |
### 9.3 测试交付物
| 交付物 | 说明 |
|-------|------|
| 测试报告 | 功能测试报告 |
| Bug清单 | 问题跟踪记录 |
| 验收报告 | UAT验收报告 |
---
## 10. 附录
### 10.1 相关文档
| 文档 | 路径 |
|-----|------|
| 需求规格说明书 | docs/01-需求文档/需求规格说明书_v1.0.md |
| 系统设计文档 | docs/02-系统设计/系统设计文档_v1.0.md |
| 数据库设计文档 | docs/03-数据库设计/数据库设计文档_v1.0.md |
| 接口设计文档 | docs/04-接口文档/接口设计文档_v1.0.md |
### 10.2 参考资料
| 资料 | 说明 |
|-----|------|
| RuoYi-Vue文档 | http://doc.ruoyi.vip |
| Vue 3文档 | https://vuejs.org |
| Element Plus文档 | https://element-plus.org |
| MyBatis Plus文档 | https://baomidou.com |
---
*文档结束*