diff --git a/docs/product/PRD-产品设计文档.md b/docs/product/PRD-产品设计文档.md new file mode 100644 index 0000000..36757c0 --- /dev/null +++ b/docs/product/PRD-产品设计文档.md @@ -0,0 +1,773 @@ +# 健身房管理系统产品设计文档(PRD) + +> 文档编号: GYM-PRD-001 +> 版本: v1.0 +> 日期: 2026-02-28 +> 作者: 张翔 +> 状态: 初稿 + +--- + +## 文档修订历史 + +| 版本 | 日期 | 作者 | 修订内容 | +|------|------|------|---------| +| v1.0 | 2026-02-28 | 张翔 | 初稿 | + +--- + +## 一、产品概述 + +### 1.1 产品背景 + +随着健身行业数字化转型的加速,传统健身房面临着会员管理效率低、预约流程繁琐、数据统计困难等痛点。本系统旨在为综合型健身俱乐部、精品工作室、连锁品牌提供全场景的数字化管理平台,实现: + +- 会员端:一站式查看个人所有信息,便捷预约签到 +- 管理后台:全维度数据整理与分析,支撑运营决策 +- 多业态支持:灵活适配不同规模和类型的健身场所 + +### 1.2 产品目标 + +| 目标维度 | 目标描述 | 成功指标 | +|---------|---------|---------| +| 用户体验 | 提升会员预约和签到体验 | 预约成功率 ≥ 95%,签到耗时 ≤ 3秒 | +| 运营效率 | 降低人工操作成本 | 人工处理时间减少 50% | +| 数据价值 | 提供数据驱动决策支持 | 数据报表使用率 ≥ 80% | +| 系统稳定 | 保证高可用性 | SLA ≥ 99.9% | + +### 1.3 目标用户 + +| 用户角色 | 用户画像 | 核心需求 | +|---------|---------|---------| +| **会员** | 25-45岁健身爱好者,追求健康生活方式 | 便捷预约、快速签到、查看个人信息、追踪健身进度 | +| **教练** | 专业健身教练,需要管理课程和学员 | 课程排期、学员签到、课时统计、评价管理 | +| **前台** | 门店前台人员,负责日常接待 | 会员接待、签到辅助、会员信息查询 | +| **店长** | 门店管理者,负责门店运营 | 单店全功能管理、数据查看、员工管理 | +| **运营管理员** | 平台运营人员,负责营销和数据分析 | 营销活动配置、数据分析、报表生成 | +| **财务专员** | 财务人员,负责账务管理 | 账单管理、财务报表、对账处理 | +| **超级管理员** | 平台最高权限管理者 | 全平台管理、系统配置、权限管理 | + +--- + +## 二、功能需求 + +### 2.1 会员管理 + +#### 2.1.1 会员注册与信息管理 + +**用户故事**: 作为新用户,我可以通过手机号注册成为会员,以便开始使用系统 + +**功能描述**: +- 支持手机号+验证码注册 +- 支持微信一键登录 +- 会员信息完善(姓名、性别、生日、头像等) +- 会员信息查询和修改 +- 会员状态管理(正常、冻结、注销) + +**验收标准**: +- 注册流程在30秒内完成 +- 验证码60秒内到达 +- 支持手机号脱敏显示 +- 敏感信息(手机号、身份证)加密存储 + +#### 2.1.2 会员卡管理 + +**用户故事**: 作为会员,我可以购买和管理会员卡,以便享受相应的权益 + +**功能描述**: +- 会员卡类型管理(时长卡、次卡、储值卡、等级卡) +- 会员卡购买流程 +- 会员卡信息查询 +- 会员卡激活/冻结/注销 +- 会员卡转让(可选) + +**验收标准**: +- 支持多种支付方式(微信、支付宝、银行卡) +- 会员卡购买成功后立即生效 +- 支持会员卡有效期提醒 +- 支持会员卡使用记录查询 + +#### 2.1.3 权益管理 + +**用户故事**: 作为会员,我可以查看我的权益余额和使用情况,以便合理安排健身计划 + +**功能描述**: +- 权益类型管理(时长、次数、储值、等级) +- 权益余额查询 +- 权益使用记录 +- 权益到期提醒 +- 权益扣减和充值 + +**验收标准**: +- 权益余额实时更新 +- 支持权益到期前3天提醒 +- 权益扣减记录可追溯 +- 支持权益转让(可选) + +#### 2.1.4 等级管理 + +**用户故事**: 作为会员,我可以查看我的等级和积分,以便了解我的会员权益 + +**功能描述**: +- 会员等级体系定义 +- 等级升级规则 +- 等级权益配置 +- 积分获取规则 +- 积分兑换规则 + +**验收标准**: +- 等级升级自动触发 +- 等级权益清晰展示 +- 积分获取和使用记录可查询 +- 支持等级权益差异化 + +### 2.2 预约管理 + +#### 2.2.1 团课预约 + +**用户故事**: 作为会员,我可以预约团课,以便参加我感兴趣的课程 + +**功能描述**: +- 团课列表展示(按时间、类型、教练筛选) +- 团课详情查看 +- 团课预约 +- 预约取消 +- 预约提醒 + +**验收标准**: +- 支持提前7天预约 +- 支持课程开始前2小时取消 +- 预约成功后立即发送通知 +- 支持预约冲突检测 + +#### 2.2.2 私教预约 + +**用户故事**: 作为会员,我可以预约私教课程,以便获得一对一指导 + +**功能描述**: +- 教练列表展示 +- 教练详情查看 +- 教练可预约时段查询 +- 私教课程预约 +- 预约取消 + +**验收标准**: +- 支持查看教练排班 +- 支持选择预约时间段 +- 支持预约备注 +- 支持教练确认机制 + +#### 2.2.3 场地预约 + +**用户故事**: 作为会员,我可以预约场地,以便自主训练 + +**功能描述**: +- 场地列表展示 +- 场地详情查看 +- 场地可用时段查询 +- 场地预约 +- 预约取消 + +**验收标准**: +- 支持场地类型筛选 +- 支持查看场地实时占用情况 +- 支持预约时长限制 +- 支持预约超时自动释放 + +#### 2.2.4 线上课程预约 + +**用户故事**: 作为会员,我可以预约线上课程,以便在家锻炼 + +**功能描述**: +- 线上课程列表展示 +- 课程详情查看 +- 课程预约 +- 课程回放 +- 课程评价 + +**验收标准**: +- 支持课程分类浏览 +- 支持课程搜索 +- 支持课程收藏 +- 支持课程进度追踪 + +### 2.3 签到管理 + +#### 2.3.1 扫码签到 + +**用户故事**: 作为会员,我可以通过扫码快速签到,以便节省时间 + +**功能描述**: +- 生成会员二维码 +- 扫码签到 +- 签到验证 +- 签到记录查询 + +**验收标准**: +- 二维码有效期5分钟 +- 签到响应时间 ≤ 2秒 +- 支持重复签到检测 +- 签到成功后发送通知 + +#### 2.3.2 人脸识别签到 + +**用户故事**: 作为会员,我可以通过人脸识别自动签到,以便实现无感入场 + +**功能描述**: +- 人脸信息采集 +- 人脸特征存储 +- 人脸识别签到 +- 签到记录查询 + +**验收标准**: +- 人脸识别准确率 ≥ 99% +- 识别响应时间 ≤ 1秒 +- 支持人脸信息更新 +- 支持多人同时识别 + +#### 2.3.3 NFC签到 + +**用户故事**: 作为会员,我可以通过NFC快速签到,以便便捷入场 + +**功能描述**: +- NFC卡绑定 +- NFC签到 +- 签到验证 +- 签到记录查询 + +**验收标准**: +- 支持ISO 14443 Type A/B标准 +- 签到响应时间 ≤ 1秒 +- 支持NFC卡挂失 +- 支持NFC卡解绑 + +#### 2.3.4 教练代签 + +**用户故事**: 作为教练,我可以为会员代签,以便处理特殊情况 + +**功能描述**: +- 教练登录验证 +- 选择会员 +- 代签操作 +- 代签记录查询 + +**验收标准**: +- 支持按手机号搜索会员 +- 支持代签备注 +- 代签记录可追溯 +- 支持代签权限控制 + +### 2.4 课程管理 + +#### 2.4.1 课程类型管理 + +**用户故事**: 作为运营管理员,我可以管理课程类型,以便分类展示课程 + +**功能描述**: +- 课程类型增删改查 +- 课程类型排序 +- 课程类型图标 +- 课程类型描述 + +**验收标准**: +- 支持多级分类 +- 支持课程类型启用/禁用 +- 支持课程类型搜索 +- 支持课程类型统计 + +#### 2.4.2 课程排期 + +**用户故事**: 作为教练,我可以管理课程排期,以便安排我的教学计划 + +**功能描述**: +- 课程排期创建 +- 课程排期修改 +- 课程排期删除 +- 课程排期查询 + +**验收标准**: +- 支持按周/月视图查看 +- 支持拖拽调整排期 +- 支持排期冲突检测 +- 支持排期复制 + +#### 2.4.3 场地管理 + +**用户故事**: 作为店长,我可以管理场地信息,以便合理分配资源 + +**功能描述**: +- 场地信息增删改查 +- 场地容量设置 +- 场地设备管理 +- 场地状态管理 + +**验收标准**: +- 支持场地图片上传 +- 支持场地设备清单 +- 支持场地维护状态 +- 支持场地使用统计 + +#### 2.4.4 价格配置 + +**用户故事**: 作为运营管理员,我可以配置课程价格,以便灵活定价 + +**功能描述**: +- 课程价格设置 +- 会员卡价格设置 +- 折扣规则配置 +- 价格生效时间 + +**验收标准**: +- 支持多种价格类型 +- 支持会员等级折扣 +- 支持促销活动价格 +- 支持价格历史查询 + +### 2.5 教练管理 + +#### 2.5.1 教练信息管理 + +**用户故事**: 作为店长,我可以管理教练信息,以便展示教练资料 + +**功能描述**: +- 教练信息增删改查 +- 教练资质管理 +- 教练照片上传 +- 教练简介编辑 + +**验收标准**: +- 支持教练资质证书上传 +- 支持教练擅长领域标注 +- 支持教练评价展示 +- 支持教练排序 + +#### 2.5.2 排班管理 + +**用户故事**: 作为教练,我可以管理我的排班,以便安排工作时间 + +**功能描述**: +- 排班创建 +- 排班修改 +- 排班删除 +- 排班查询 + +**验收标准**: +- 支持按日/周/月视图 +- 支持设置可预约时段 +- 支持设置休息日 +- 支持排班模板 + +#### 2.5.3 课时统计 + +**用户故事**: 作为教练,我可以查看我的课时统计,以便了解工作量 + +**功能描述**: +- 课时统计查询 +- 课时明细查看 +- 课时趋势分析 +- 课时报表导出 + +**验收标准**: +- 支持按时间段统计 +- 支持按课程类型统计 +- 支持课时收入统计 +- 支持数据可视化 + +#### 2.5.4 评价管理 + +**用户故事**: 作为会员,我可以对教练进行评价,以便提供反馈 + +**功能描述**: +- 评价提交 +- 评价查看 +- 评价回复 +- 评价统计 + +**验收标准**: +- 支持星级评价 +- 支持文字评价 +- 支持评价图片 +- 支持评价匿名 + +### 2.6 财务管理 + +#### 2.6.1 营收统计 + +**用户故事**: 作为财务专员,我可以查看营收统计,以便了解经营状况 + +**功能描述**: +- 营收数据统计 +- 营收趋势分析 +- 营收对比分析 +- 营收报表导出 + +**验收标准**: +- 支持按日/周/月统计 +- 支持按门店统计 +- 支持按业务类型统计 +- 支持数据可视化 + +#### 2.6.2 账单管理 + +**用户故事**: 作为会员,我可以查看我的账单,以便了解消费情况 + +**功能描述**: +- 账单列表查询 +- 账单详情查看 +- 账单筛选 +- 账单导出 + +**验收标准**: +- 支持按时间筛选 +- 支持按类型筛选 +- 支持账单详情查看 +- 支持账单PDF导出 + +#### 2.6.3 退款管理 + +**用户故事**: 作为运营管理员,我可以处理退款申请,以便提升用户满意度 + +**功能描述**: +- 退款申请查看 +- 退款审核 +- 退款处理 +- 退款记录查询 + +**验收标准**: +- 支持退款原因分类 +- 支持退款审核流程 +- 支持退款状态跟踪 +- 支持退款统计 + +#### 2.6.4 对账管理 + +**用户故事**: 作为财务专员,我可以进行对账操作,以便确保账务准确 + +**功能描述**: +- 对账数据导入 +- 对账差异分析 +- 对账确认 +- 对账报表 + +**验收标准**: +- 支持多渠道对账 +- 支持自动对账 +- 支持差异标记 +- 支持对账记录 + +### 2.7 计划中心 + +#### 2.7.1 训练计划 + +**用户故事**: 作为会员,我可以制定训练计划,以便科学健身 + +**功能描述**: +- 训练计划创建 +- 训练计划编辑 +- 训练计划执行 +- 训练计划分享 + +**验收标准**: +- 支持模板选择 +- 支持自定义计划 +- 支持计划执行记录 +- 支持计划进度追踪 + +#### 2.7.2 课程排期 + +**用户故事**: 作为运营管理员,我可以管理课程排期,以便合理安排课程 + +**功能描述**: +- 课程排期查看 +- 课程排期调整 +- 课程排期冲突检测 +- 课程排期导出 + +**验收标准**: +- 支持多维度视图 +- 支持批量调整 +- 支持排期提醒 +- 支持排期统计 + +#### 2.7.3 会员目标 + +**用户故事**: 作为会员,我可以设置健身目标,以便激励自己 + +**功能描述**: +- 目标设置 +- 目标进度追踪 +- 目标达成提醒 +- 目标历史记录 + +**验收标准**: +- 支持多种目标类型 +- 支持目标周期设置 +- 支持目标可视化 +- 支持目标分享 + +#### 2.7.4 教练排班 + +**用户故事**: 作为店长,我可以管理教练排班,以便合理安排人力 + +**功能描述**: +- 教练排班查看 +- 教练排班调整 +- 教练排班统计 +- 教练排班导出 + +**验收标准**: +- 支持按门店查看 +- 支持按教练查看 +- 支持排班冲突检测 +- 支持排班优化建议 + +### 2.8 数据分析 + +#### 2.8.1 会员分析 + +**用户故事**: 作为运营管理员,我可以查看会员分析,以便了解会员情况 + +**功能描述**: +- 会员增长分析 +- 会员活跃度分析 +- 会员留存分析 +- 会员画像分析 + +**验收标准**: +- 支持多维度分析 +- 支持趋势图表 +- 支持数据钻取 +- 支持报表导出 + +#### 2.8.2 课程分析 + +**用户故事**: 作为运营管理员,我可以查看课程分析,以便优化课程安排 + +**功能描述**: +- 课程预约分析 +- 课程签到分析 +- 课程评价分析 +- 课程收益分析 + +**验收标准**: +- 支持按课程类型分析 +- 支持按时间段分析 +- 支持数据对比 +- 支持优化建议 + +#### 2.8.3 财务分析 + +**用户故事**: 作为财务专员,我可以查看财务分析,以便了解财务状况 + +**功能描述**: +- 收入分析 +- 支出分析 +- 利润分析 +- 现金流分析 + +**验收标准**: +- 支持多维度分析 +- 支持预算对比 +- 支持预测分析 +- 支持风险预警 + +#### 2.8.4 运营分析 + +**用户故事**: 作为运营管理员,我可以查看运营分析,以便优化运营策略 + +**功能描述**: +- 整体运营指标 +- 门店运营对比 +- 员工绩效分析 +- 营销效果分析 + +**验收标准**: +- 支持实时数据 +- 支持自定义指标 +- 支持数据预警 +- 支持决策建议 + +### 2.9 系统管理 + +#### 2.9.1 租户管理 + +**用户故事**: 作为超级管理员,我可以管理租户,以便支持多租户架构 + +**功能描述**: +- 租户信息增删改查 +- 租户配置管理 +- 租户状态管理 +- 租户数据隔离 + +**验收标准**: +- 支持租户独立配置 +- 支持租户数据隔离 +- 支持租户计费 +- 支持租户监控 + +#### 2.9.2 门店管理 + +**用户故事**: 作为超级管理员,我可以管理门店,以便支持多门店运营 + +**功能描述**: +- 门店信息增删改查 +- 门店配置管理 +- 门店状态管理 +- 门店数据统计 + +**验收标准**: +- 支持门店图片上传 +- 支持门店地址定位 +- 支持门店营业时间设置 +- 支持门店数据隔离 + +#### 2.9.3 权限管理 + +**用户故事**: 作为超级管理员,我可以管理权限,以便控制用户访问 + +**功能描述**: +- 角色管理 +- 权限管理 +- 用户角色分配 +- 权限审计 + +**验收标准**: +- 支持RBAC模型 +- 支持权限继承 +- 支持权限审计 +- 支持权限测试 + +#### 2.9.4 系统配置 + +**用户故事**: 作为超级管理员,我可以配置系统参数,以便灵活调整系统行为 + +**功能描述**: +- 系统参数配置 +- 业务规则配置 +- 接口配置 +- 日志配置 + +**验收标准**: +- 支持参数分类管理 +- 支持参数生效时间 +- 支持参数变更记录 +- 支持参数导出 + +--- + +## 三、非功能需求 + +### 3.1 性能需求 + +| 指标 | 要求 | 说明 | +|-------|------|------| +| 响应时间 | API响应时间 ≤ 500ms | 95%的请求 | +| 并发能力 | 支持1000 QPS | 热门课程抢课场景 | +| 数据库查询 | 单次查询 ≤ 100ms | 索引优化 | +| 页面加载 | 首屏加载 ≤ 2秒 | 3G网络环境 | + +### 3.2 可用性需求 + +| 指标 | 要求 | 说明 | +|-------|------|------| +| 系统可用性 | SLA ≥ 99.9% | 年度停机时间 ≤ 8.76小时 | +| 故障恢复 | RTO ≤ 30分钟 | 恢复时间目标 | +| 数据备份 | 每日备份 | 保留30天 | +| 容灾能力 | 支持异地容灾 | RPO ≤ 1小时 | + +### 3.3 安全性需求 + +| 指标 | 要求 | 说明 | +|-------|------|------| +| 数据加密 | 敏感数据加密存储 | AES-256 | +| 传输加密 | HTTPS加密传输 | TLS 1.2+ | +| 认证安全 | JWT Token认证 | 有效期2小时 | +| 权限控制 | RBAC权限模型 | 最小权限原则 | +| 审计日志 | 操作日志记录 | 保留90天 | + +### 3.4 可扩展性需求 + +| 指标 | 要求 | 说明 | +|-------|------|------| +| 水平扩展 | 支持应用集群部署 | 无状态设计 | +| 数据库扩展 | 支持读写分离 | 主从复制 | +| 缓存扩展 | 支持Redis集群 | 分布式缓存 | +| 存储扩展 | 支持OSS对象存储 | 海量文件存储 | + +### 3.5 可维护性需求 + +| 指标 | 要求 | 说明 | +|-------|------|------| +| 代码规范 | 遵循编码规范 | SonarQube检查 | +| 文档完善 | 代码注释率 ≥ 30% | 关键逻辑注释 | +| 日志规范 | 统一日志格式 | ELK日志分析 | +| 监控告警 | 实时监控 | Prometheus+Grafana | + +--- + +## 四、用户故事与验收标准 + +### 4.1 会员端用户故事 + +| 用户故事 | 优先级 | 验收标准 | +|---------|-------|---------| +| 作为新用户,我可以通过手机号注册成为会员 | P0 | 注册流程在30秒内完成,验证码60秒内到达 | +| 作为会员,我可以购买会员卡 | P0 | 支持多种支付方式,购买成功后立即生效 | +| 作为会员,我可以预约团课 | P0 | 支持提前7天预约,预约成功后立即发送通知 | +| 作为会员,我可以通过扫码签到 | P0 | 二维码有效期5分钟,签到响应时间 ≤ 2秒 | +| 作为会员,我可以查看我的权益余额 | P1 | 权益余额实时更新,支持到期前3天提醒 | +| 作为会员,我可以设置健身目标 | P2 | 支持多种目标类型,支持目标可视化 | + +### 4.2 管理端用户故事 + +| 用户故事 | 优先级 | 验收标准 | +|---------|-------|---------| +| 作为店长,我可以查看门店数据 | P0 | 支持实时数据查看,支持数据导出 | +| 作为教练,我可以管理课程排期 | P0 | 支持按周/月视图,支持拖拽调整 | +| 作为运营管理员,我可以配置课程价格 | P0 | 支持多种价格类型,支持会员等级折扣 | +| 作为财务专员,我可以查看营收统计 | P1 | 支持按日/周/月统计,支持数据可视化 | +| 作为超级管理员,我可以管理租户 | P1 | 支持租户独立配置,支持租户数据隔离 | + +--- + +## 五、项目里程碑 + +| 阶段 | 时间 | 交付内容 | +|------|------|---------| +| 第一阶段 | 2026-03-01 ~ 2026-03-31 | 会员管理、预约管理、签到管理核心功能 | +| 第二阶段 | 2026-04-01 ~ 2026-04-30 | 课程管理、教练管理、财务管理 | +| 第三阶段 | 2026-05-01 ~ 2026-05-31 | 计划中心、数据分析、系统管理 | +| 第四阶段 | 2026-06-01 ~ 2026-06-30 | 系统优化、性能调优、上线部署 | + +--- + +## 六、风险与应对 + +| 风险 | 影响 | 概率 | 应对措施 | +|------|------|------|---------| +| 需求变更频繁 | 高 | 中 | 采用敏捷开发,快速迭代 | +| 技术选型不当 | 高 | 低 | 充分调研,POC验证 | +| 性能不达标 | 中 | 中 | 提前性能测试,优化瓶颈 | +| 安全漏洞 | 高 | 低 | 安全审计,渗透测试 | +| 人员流动 | 中 | 中 | 知识沉淀,文档完善 | + +--- + +## 七、成功标准 + +| 维度 | 指标 | 目标值 | +|------|------|-------| +| 功能完整性 | 需求覆盖率 | ≥ 95% | +| 用户体验 | 用户满意度 | ≥ 4.5/5.0 | +| 系统性能 | 响应时间 | ≤ 500ms | +| 系统稳定性 | SLA | ≥ 99.9% | +| 代码质量 | 代码覆盖率 | ≥ 80% | + +--- + +## 八、参考文档 + +- 《健身房管理系统概要设计文档》 GYM-HLD-001 +- 《健身房管理系统详细设计文档》 GYM-LLD-001/002/003 +- Spring Boot 3 官方文档 +- PostgreSQL 官方文档