# 会员管理模块 - 开发计划

---

| 文档信息 | 内容 |
|---------|------|
| **文档版本** | 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/ |
| 前端代码 | pangu-ui/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 |

---

*文档结束*
