diff --git a/Roadmap/01-功能清单.md b/Roadmap/01-功能清单.md new file mode 100644 index 0000000..b33dfe8 --- /dev/null +++ b/Roadmap/01-功能清单.md @@ -0,0 +1,322 @@ +# TakeoutSaaS 功能清单 + +> 最后更新:2026-02-02 + +本文档列出整个 SaaS 外卖系统的所有功能模块,包括平台端、租户端、C端(小程序/App)。 + +--- + +## 一、平台管理端 (AdminApi + AdminUI) + +平台运营方使用,管理所有租户、商户、系统配置等。 + +### 1. 身份认证与授权 + +| 功能 | 状态 | 说明 | +|------|:----:|------| +| 平台用户登录 | ✅ | 账号密码登录 | +| JWT Token 刷新 | ✅ | 无感刷新 | +| 密码重置 | ✅ | 通过重置链接 | +| 用户信息获取 | ✅ | 当前登录用户 | +| 动态菜单加载 | ✅ | 基于权限过滤 | + +### 2. 用户管理 + +| 功能 | 状态 | 说明 | +|------|:----:|------| +| 用户列表查询 | ✅ | 分页、筛选 | +| 用户详情 | ✅ | 查看用户信息 | +| 创建用户 | ✅ | 新增平台用户 | +| 编辑用户 | ✅ | 修改用户信息 | +| 删除/恢复用户 | ✅ | 软删除 | +| 用户状态变更 | ✅ | 启用/禁用/解锁 | +| 重置用户密码 | ✅ | 生成重置链接 | +| 批量操作 | ✅ | 批量启用/禁用/删除/导出 | +| 用户权限查询 | ✅ | 查看用户权限列表 | + +### 3. 角色权限管理 + +| 功能 | 状态 | 说明 | +|------|:----:|------| +| 平台角色列表 | ✅ | 分页查询 | +| 创建角色 | ✅ | 新增角色 | +| 编辑角色 | ✅ | 修改角色信息 | +| 删除角色 | ✅ | 删除角色 | +| 角色权限配置 | ✅ | 分配权限 | +| 克隆角色 | ✅ | 复制角色及权限 | +| 权限树查询 | ✅ | 按门户类型 | +| 菜单管理 | ✅ | 菜单CRUD | + +### 4. 租户管理 + +| 功能 | 状态 | 说明 | +|------|:----:|------| +| 租户列表 | ✅ | 分页、筛选 | +| 创建租户 | ✅ | 新增租户 | +| 编辑租户 | ✅ | 修改租户信息 | +| 租户详情 | ✅ | 查看租户详情 | +| 租户审核 | ✅ | 审核租户申请 | +| 租户角色管理 | ✅ | 管理租户内角色 | +| 租户菜单配置 | ✅ | 配置租户可用菜单 | +| 角色模板 | ✅ | 预设角色模板 | + +### 5. 租户套餐 + +| 功能 | 状态 | 说明 | +|------|:----:|------| +| 套餐列表 | ✅ | 分页查询 | +| 创建套餐 | ✅ | 定义套餐内容 | +| 编辑套餐 | ✅ | 修改套餐 | +| 套餐详情 | ✅ | 查看套餐配置 | +| 套餐发布/下架 | ✅ | 控制套餐可见性 | +| 功能策略配置 | ✅ | JSON配置功能开关 | + +### 6. 租户订阅计费 ⭐ + +| 功能 | 状态 | 说明 | +|------|:----:|------| +| 租户订阅管理 | ❌ | 查看/管理租户订阅 | +| 订阅订单列表 | ❌ | 订阅支付订单 | +| 手动开通订阅 | ❌ | 后台开通 | +| 续费管理 | ❌ | 续费/到期处理 | +| 升降级处理 | ❌ | 套餐变更 | +| 账单管理 | ❌ | 账单记录 | + +### 7. 商户管理 + +| 功能 | 状态 | 说明 | +|------|:----:|------| +| 商户列表 | ✅ | 分页、筛选 | +| 创建商户 | ✅ | 新增商户 | +| 编辑商户 | ✅ | 修改商户信息 | +| 商户详情 | ✅ | 查看商户详情 | +| 商户审核 | ✅ | 审核流程(认领/审批/驳回/撤销) | +| 商户文档管理 | ✅ | 上传/审核资质文档 | +| 商户合同管理 | ✅ | 合同CRUD | +| 审计历史 | ✅ | 操作记录 | +| 变更历史 | ✅ | 字段变更记录 | +| 导出PDF | ✅ | 商户资料导出 | +| 商户分类 | ✅ | 分类管理 | + +### 8. 门店管理 + +| 功能 | 状态 | 说明 | +|------|:----:|------| +| 门店列表 | ✅ | 分页、筛选 | +| 创建门店 | ✅ | 新增门店 | +| 编辑门店 | ✅ | 修改门店信息 | +| 门店详情 | ✅ | 查看门店详情 | +| 门店审核 | ✅ | 提交审核 | +| 营业状态切换 | ✅ | 开业/歇业 | +| 门店资质管理 | ✅ | 资质CRUD、完整性检查 | +| 营业时间管理 | ✅ | 营业时间CRUD、批量更新 | +| 配送区域管理 | ✅ | 配送区域CRUD、覆盖检查 | +| 门店费用配置 | ✅ | 配送费、包装费等 | +| 节假日管理 | ✅ | 特殊营业时间 | +| 门店员工管理 | ✅ | 员工CRUD | +| 桌台区域管理 | ✅ | 堂食桌台 | +| 班次管理 | ✅ | 员工排班 | +| 自提配置 | ✅ | 自提点设置 | + +### 9. 商品管理 + +| 功能 | 状态 | 说明 | +|------|:----:|------| +| 商品列表 | ✅ | 分页、筛选 | +| 创建商品 | ✅ | 新增商品 | +| 编辑商品 | ✅ | 修改商品信息 | +| 商品详情 | ✅ | 查看商品详情 | +| 商品上下架 | ✅ | 发布/下架 | +| SKU管理 | ✅ | 规格管理 | +| 商品属性 | ✅ | 属性管理 | +| 加料管理 | ✅ | 加料选项 | +| 商品媒体 | ✅ | 图片/视频 | +| 定价规则 | ✅ | 价格策略 | +| 商品分类 | ⚠️ | 基础完成,待完善 | + +### 10. 订单管理 + +| 功能 | 状态 | 说明 | +|------|:----:|------| +| 订单列表 | ✅ | 分页、筛选 | +| 订单详情 | ✅ | 查看订单详情 | +| 创建订单 | ✅ | 后台创建 | +| 编辑订单 | ✅ | 修改订单 | +| 删除订单 | ✅ | 删除订单 | +| 订单状态流转 | ❌ | 完整状态机 | +| 订单取消/退款 | ❌ | 取消退款流程 | +| 订单备注 | ❌ | 商家备注 | +| 订单打印 | ❌ | 小票打印 | + +### 11. 配送管理 + +| 功能 | 状态 | 说明 | +|------|:----:|------| +| 配送单列表 | ✅ | 基础CRUD | +| 配送单详情 | ⚠️ | 待完善 | +| 骑手分配 | ❌ | 分配骑手 | +| 配送追踪 | ❌ | 实时位置 | +| 配送完成确认 | ❌ | 签收确认 | +| 配送异常处理 | ❌ | 异常流程 | + +### 12. 支付管理 + +| 功能 | 状态 | 说明 | +|------|:----:|------| +| 支付记录列表 | ✅ | 基础查询 | +| 支付详情 | ⚠️ | 待完善 | +| 退款处理 | ❌ | 退款流程 | +| 支付对账 | ❌ | 对账功能 | +| 支付渠道配置 | ⚠️ | 页面有,API待完善 | + +### 13. 库存管理 + +| 功能 | 状态 | 说明 | +|------|:----:|------| +| 库存列表 | ✅ | 查询库存 | +| 库存锁定 | ✅ | 下单锁定 | +| 库存扣减 | ✅ | 支付扣减 | +| 库存调整 | ✅ | 手动调整 | +| 库存释放 | ✅ | 取消释放 | +| 库存预警 | ❌ | 低库存提醒 | +| 库存盘点 | ❌ | 盘点功能 | + +### 14. 字典与参数 + +| 功能 | 状态 | 说明 | +|------|:----:|------| +| 字典分组管理 | ✅ | 分组CRUD | +| 字典条目管理 | ✅ | 条目CRUD | +| 批量获取字典 | ✅ | 带缓存 | +| 标签覆盖 | ✅ | 多语言/租户定制 | +| 系统参数 | ✅ | 系统配置 | +| 缓存指标 | ✅ | 缓存监控 | + +### 15. 文件管理 + +| 功能 | 状态 | 说明 | +|------|:----:|------| +| 文件上传 | ✅ | 图片/文档上传 | +| 文件分类 | ✅ | 按类型分类 | + +### 16. 营销活动 + +| 功能 | 状态 | 说明 | +|------|:----:|------| +| 优惠券管理 | ❌ | 优惠券CRUD | +| 满减活动 | ❌ | 满减规则 | +| 限时折扣 | ❌ | 折扣活动 | +| 新人专享 | ❌ | 新用户优惠 | +| 邀请有礼 | ❌ | 邀请奖励 | +| 活动数据统计 | ❌ | 活动效果 | + +### 17. 财务结算 + +| 功能 | 状态 | 说明 | +|------|:----:|------| +| 商户佣金计算 | ❌ | 佣金规则 | +| 结算周期管理 | ❌ | 结算配置 | +| 结算单管理 | ❌ | 结算CRUD | +| 提现管理 | ❌ | 提现审核 | +| 发票管理 | ❌ | 发票申请 | +| 财务报表 | ❌ | 收入/支出报表 | + +### 18. 内容管理 + +| 功能 | 状态 | 说明 | +|------|:----:|------| +| Banner管理 | ❌ | 轮播图CRUD | +| 公告管理 | ⚠️ | 页面有,API待完善 | +| 推送通知 | ❌ | 消息推送 | +| 版本管理 | ❌ | App版本 | +| 协议管理 | ❌ | 用户协议/隐私政策 | + +### 19. 风控管理 + +| 功能 | 状态 | 说明 | +|------|:----:|------| +| 黑名单管理 | ❌ | 用户/设备黑名单 | +| 风控规则 | ❌ | 规则配置 | +| 敏感词过滤 | ❌ | 敏感词库 | +| 异常行为检测 | ❌ | 风险识别 | + +### 20. 客服工单 + +| 功能 | 状态 | 说明 | +|------|:----:|------| +| FAQ管理 | ❌ | 常见问题 | +| 用户反馈 | ❌ | 反馈处理 | +| 工单系统 | ❌ | 工单CRUD | +| 在线客服 | ❌ | IM集成 | + +### 21. 数据统计 + +| 功能 | 状态 | 说明 | +|------|:----:|------| +| 概览Dashboard | ⚠️ | 页面有,数据待接入 | +| 订单统计 | ❌ | 订单数据分析 | +| 销售统计 | ❌ | 销售额分析 | +| 用户统计 | ❌ | 用户增长分析 | +| 商户统计 | ❌ | 商户数据分析 | + +--- + +## 二、租户管理端 (TenantApi + TenantUI) + +商户/租户使用,管理自己的门店、商品、订单等。 + +| 功能模块 | 状态 | 说明 | +|----------|:----:|------| +| 租户登录认证 | ❌ | 租户用户登录 | +| 门店管理 | ❌ | 管理自己的门店 | +| 商品管理 | ❌ | 管理自己的商品 | +| 订单管理 | ❌ | 处理订单 | +| 员工管理 | ❌ | 管理门店员工 | +| 营业设置 | ❌ | 营业时间、配送等 | +| 营销工具 | ❌ | 优惠券、活动 | +| 数据报表 | ❌ | 经营数据 | +| 财务管理 | ❌ | 收入、提现 | +| 消息通知 | ❌ | 订单提醒等 | + +--- + +## 三、C端应用 (小程序/App) + +消费者使用,浏览、下单、支付等。 + +| 功能模块 | 状态 | 说明 | +|----------|:----:|------| +| 用户注册/登录 | ❌ | 手机号/微信登录 | +| 首页推荐 | ❌ | 门店/商品推荐 | +| 门店列表 | ❌ | 附近门店 | +| 门店详情 | ❌ | 门店信息、菜单 | +| 商品详情 | ❌ | 商品规格、加料 | +| 购物车 | ❌ | 购物车管理 | +| 下单支付 | ❌ | 订单创建、支付 | +| 订单列表 | ❌ | 我的订单 | +| 订单详情 | ❌ | 订单状态、配送 | +| 配送追踪 | ❌ | 骑手位置 | +| 评价系统 | ❌ | 订单评价 | +| 优惠券 | ❌ | 领券、用券 | +| 收货地址 | ❌ | 地址管理 | +| 个人中心 | ❌ | 用户信息 | +| 消息中心 | ❌ | 通知消息 | +| 客服入口 | ❌ | 在线客服 | + +--- + +## 状态说明 + +- ✅ 已完成 - 功能已开发完成,可正常使用 +- ⚠️ 部分完成 - 基础功能完成,需要完善 +- ❌ 未开始 - 功能尚未开发 + +--- + +## 统计 + +| 端 | 总功能数 | 已完成 | 部分完成 | 未开始 | +|----|:--------:|:------:|:--------:|:------:| +| 平台管理端 | ~100 | ~70 | ~8 | ~22 | +| 租户管理端 | ~10 | 0 | 0 | 10 | +| C端应用 | ~16 | 0 | 0 | 16 | diff --git a/Roadmap/02-开发里程碑.md b/Roadmap/02-开发里程碑.md new file mode 100644 index 0000000..39ec5f7 --- /dev/null +++ b/Roadmap/02-开发里程碑.md @@ -0,0 +1,326 @@ +# TakeoutSaaS 开发里程碑 + +> 最后更新:2026-02-02 + +本文档定义整个 SaaS 外卖系统的开发里程碑,按优先级和依赖关系排序。 + +--- + +## 里程碑概览 + +``` +M1 平台核心 ──────────────────────────────────────────── ✅ 已完成 + │ +M2 租户订阅计费 ─────────────────────────────────────── 🔄 进行中 + │ +M3 订单交易闭环 ─────────────────────────────────────── ⏳ 待开始 + │ +M4 租户管理端 ───────────────────────────────────────── ⏳ 待开始 + │ +M5 C端小程序 ────────────────────────────────────────── ⏳ 待开始 + │ +M6 营销与运营 ───────────────────────────────────────── ⏳ 待开始 + │ +M7 财务结算 ─────────────────────────────────────────── ⏳ 待开始 + │ +M8 数据与风控 ───────────────────────────────────────── ⏳ 待开始 +``` + +--- + +## M1: 平台核心基础 ✅ 已完成 + +**目标**:搭建平台管理端基础框架,实现核心管理功能。 + +### 完成内容 + +| 模块 | 功能 | 后端 | 前端 | +|------|------|:----:|:----:| +| 身份认证 | 登录、Token刷新、密码重置 | ✅ | ✅ | +| 用户管理 | CRUD、批量操作、权限分配 | ✅ | ✅ | +| 角色权限 | 角色CRUD、权限配置、菜单管理 | ✅ | ✅ | +| 租户管理 | 租户CRUD、审核、角色模板 | ✅ | ✅ | +| 租户套餐 | 套餐CRUD、功能策略 | ✅ | ✅ | +| 商户管理 | 完整审核流程、文档、合同 | ✅ | ✅ | +| 门店管理 | 资质、营业时间、配送区域、费用 | ✅ | ✅ | +| 商品管理 | SKU、属性、加料、媒体、定价 | ✅ | ✅ | +| 订单管理 | 基础CRUD | ✅ | ✅ | +| 库存管理 | 锁定、扣减、调整、释放 | ✅ | ✅ | +| 字典参数 | 字典CRUD、系统参数 | ✅ | ✅ | +| 文件管理 | 文件上传 | ✅ | ✅ | + +--- + +## M2: 租户订阅计费 🔄 进行中 + +**目标**:实现 SaaS 变现核心,租户可订阅套餐、支付、续费。 + +**预计周期**:2 周 + +### 功能清单 + +| 功能 | 优先级 | 说明 | +|------|:------:|------| +| 租户订阅实体 | P0 | 订阅数据模型设计 | +| 订阅订单实体 | P0 | 订单数据模型设计 | +| 创建订阅 | P0 | 新租户开通订阅 | +| 订阅状态管理 | P0 | 生效/过期/取消 | +| 订阅订单管理 | P0 | 订单CRUD | +| 手动确认支付 | P0 | 后台确认收款 | +| 续费处理 | P1 | 续费逻辑 | +| 升降级处理 | P1 | 套餐变更 | +| 到期提醒 | P1 | 到期前通知 | +| 过期处理 | P1 | 过期后降级/停用 | +| 账单记录 | P2 | 账单历史 | +| 配额检查 | P2 | 套餐配额限制 | + +### 数据模型 + +``` +tenant_subscriptions (租户订阅) +├── id +├── tenant_id +├── package_id +├── subscription_type (月付/年付) +├── status (待支付/生效中/已过期/已取消) +├── start_date +├── end_date +├── auto_renew +├── price_locked +├── created_at +└── updated_at + +subscription_orders (订阅订单) +├── id +├── tenant_id +├── subscription_id +├── package_id +├── order_type (新购/续费/升级/降级) +├── subscription_type +├── amount +├── payment_status +├── payment_method +├── paid_at +├── transaction_id +└── created_at +``` + +### API 设计 + +``` +# 订阅管理 +GET /api/admin/v1/tenants/{tenantId}/subscription +POST /api/admin/v1/tenants/{tenantId}/subscription +PUT /api/admin/v1/tenants/{tenantId}/subscription +DELETE /api/admin/v1/tenants/{tenantId}/subscription + +# 订阅订单 +GET /api/admin/v1/subscription-orders +GET /api/admin/v1/subscription-orders/{orderId} +POST /api/admin/v1/subscription-orders +PUT /api/admin/v1/subscription-orders/{orderId}/confirm-payment +``` + +### 前端页面 + +- 租户订阅管理页 +- 订阅订单列表页 +- 租户详情-订阅Tab + +--- + +## M3: 订单交易闭环 ⏳ 待开始 + +**目标**:完善订单全生命周期,实现完整交易流程。 + +**预计周期**:3 周 + +**依赖**:M2 完成 + +### 功能清单 + +| 功能 | 优先级 | 说明 | +|------|:------:|------| +| 订单状态机 | P0 | 完整状态流转 | +| 订单支付 | P0 | 支付状态处理 | +| 订单取消 | P0 | 取消流程 | +| 退款处理 | P0 | 退款流程 | +| 配送分配 | P1 | 骑手分配 | +| 配送追踪 | P1 | 配送状态 | +| 订单完成 | P1 | 完成确认 | +| 订单评价 | P2 | 评价入口 | +| 订单打印 | P2 | 小票打印 | + +### 订单状态流转 + +``` +待支付 → 已支付 → 商家接单 → 制作中 → 待配送 → 配送中 → 已完成 + ↓ ↓ ↓ ↓ ↓ ↓ + 已取消 已退款 已取消 已取消 已取消 配送异常 +``` + +--- + +## M4: 租户管理端 ⏳ 待开始 + +**目标**:为商户/租户提供独立管理后台。 + +**预计周期**:4 周 + +**依赖**:M3 完成 + +### 功能清单 + +| 模块 | 功能 | +|------|------| +| 认证 | 租户用户登录、权限控制 | +| 门店 | 管理自己的门店 | +| 商品 | 管理自己的商品 | +| 订单 | 接单、处理订单 | +| 员工 | 管理门店员工 | +| 设置 | 营业时间、配送设置 | +| 报表 | 经营数据统计 | +| 财务 | 收入、提现 | + +### 技术方案 + +- **后端**:TenantApi(新项目,复用 Domain/Infrastructure) +- **前端**:TenantUI(新项目,复用组件库) +- **认证**:独立 JWT,租户隔离 + +--- + +## M5: C端小程序 ⏳ 待开始 + +**目标**:消费者端小程序,实现浏览、下单、支付。 + +**预计周期**:6 周 + +**依赖**:M4 完成 + +### 功能清单 + +| 模块 | 功能 | +|------|------| +| 认证 | 微信登录、手机号绑定 | +| 首页 | 门店推荐、搜索 | +| 门店 | 门店列表、详情、菜单 | +| 商品 | 商品详情、规格选择 | +| 购物车 | 购物车管理 | +| 订单 | 下单、支付、订单列表 | +| 配送 | 配送追踪 | +| 用户 | 地址管理、个人中心 | +| 优惠 | 优惠券、活动 | + +### 技术方案 + +- **框架**:uni-app / Taro +- **后端**:CustomerApi(新项目) +- **支付**:微信支付 + +--- + +## M6: 营销与运营 ⏳ 待开始 + +**目标**:营销工具,提升订单转化。 + +**预计周期**:3 周 + +**依赖**:M5 完成 + +### 功能清单 + +| 功能 | 说明 | +|------|------| +| 优惠券 | 创建、发放、核销 | +| 满减活动 | 满减规则配置 | +| 限时折扣 | 折扣活动 | +| 新人专享 | 新用户优惠 | +| 邀请有礼 | 邀请奖励 | +| Banner管理 | 轮播图配置 | +| 推送通知 | 消息推送 | + +--- + +## M7: 财务结算 ⏳ 待开始 + +**目标**:商户结算、平台财务管理。 + +**预计周期**:3 周 + +**依赖**:M5 完成 + +### 功能清单 + +| 功能 | 说明 | +|------|------| +| 佣金规则 | 佣金比例配置 | +| 结算周期 | 结算频率配置 | +| 结算单 | 结算单生成、审核 | +| 提现管理 | 提现申请、审核 | +| 发票管理 | 发票申请 | +| 财务报表 | 收支统计 | + +--- + +## M8: 数据与风控 ⏳ 待开始 + +**目标**:数据分析、风险控制。 + +**预计周期**:2 周 + +**依赖**:M6、M7 完成 + +### 功能清单 + +| 功能 | 说明 | +|------|------| +| Dashboard | 核心指标看板 | +| 订单统计 | 订单数据分析 | +| 销售统计 | 销售额分析 | +| 用户统计 | 用户增长分析 | +| 黑名单 | 用户/设备黑名单 | +| 风控规则 | 风险规则配置 | +| 敏感词 | 敏感词过滤 | + +--- + +## 里程碑时间线(预估) + +``` +2026-02 +├── M2: 租户订阅计费 (2周) + +2026-03 +├── M3: 订单交易闭环 (3周) + +2026-04 +├── M4: 租户管理端 (4周) + +2026-05 ~ 2026-06 +├── M5: C端小程序 (6周) + +2026-07 +├── M6: 营销与运营 (3周) +├── M7: 财务结算 (3周) + +2026-08 +├── M8: 数据与风控 (2周) +``` + +--- + +## 状态说明 + +- ✅ 已完成 +- 🔄 进行中 +- ⏳ 待开始 +- ❌ 已取消 + +--- + +## 变更记录 + +| 日期 | 变更内容 | +|------|----------| +| 2026-02-02 | 初始版本,定义 M1-M8 里程碑 |