diff --git a/README.md b/README.md index 2b0d0e6..7a5e067 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,70 @@ - 当前项目已完成总台管理、站点后台、商家后台三层后台基础骨架 - 当前数据库与代码基线已统一使用 `merchant / merchants / merchant_id` 语义 +## 已实现功能概览(截至 2026-03-11) + +### 1) 三层后台(总台/站点/商家)基础骨架 +- 总台管理(`/admin`) + - 登录 + 登录态校验中间件 + - 仪表盘与运营定位说明 + - 站点管理:列表 + 新增(基础骨架) + - 商品巡检:列表 + 新增/更新/删除(基础骨架) + - 订单监控:列表 + 状态更新 + 详情页(基础骨架) + - 系统配置/渠道配置页面:已接入数据库读取(骨架) + - 支付配置基线:已落库并在渠道配置页展示(骨架) +- 站点后台(`/site-admin`) + - 登录 + - 站点范围内的商品/订单最小查询能力(骨架,逐步推进中) +- 商家后台(`/merchant-admin`) + - 仪表盘统计(已接入 Redis 缓存与失效) + - 商品:列表 + 新增/编辑/删除(含分类展示/选择) + - 订单:列表 + 详情 + 状态更新(含订单明细) + - 用户:列表 + +### 2) 商品分类 + 订单明细数据结构 +- `product_categories`:商品分类表(站点维度) +- `products.category_id`:商品关联分类 +- `order_items`:订单明细(多商品场景) +- Seeder:已补演示分类/商品/订单明细数据 + +### 3) Redis 缓存(第一阶段) +- `.env` 已切换 `CACHE_STORE=redis` +- 缓存 key 辅助类:`App\Support\CacheKeys` +- 已缓存:商家仪表盘统计、商家商品列表 +- 已实现基础缓存失效:商品新增/更新/删除、订单状态更新 + +### 4) 商品导入失败明细留痕 + 定时清理 +- 导入失败 CSV 文件保存到本地磁盘(`storage/app/private/...`) +- 总台/商家后台提供下载入口 +- 已补定时清理脚本:每天东八区 `04:30` 清理 30 天前失败文件 + +### 5) 收费闭环(骨架已落地,持续完善中) +围绕 `plans + site_subscriptions + platform_orders` 建立“可运营可治理”的最小闭环。 + +- 核心表/模型/迁移 + - `plans`(套餐) + - `site_subscriptions`(站点订阅) + - `platform_orders`(平台订单) +- 订阅激活服务(最小闭环) + - `SubscriptionActivationService::activateOrder()` + - 支持:新购创建订阅;续费延长订阅到期(未过期基于 ends_at,已过期从 now 起算) + - 幂等保护:同一订单重复同步不会重复续期(基于 meta.subscription_activation) +- 平台订单(总台治理核心页) + - 列表:筛选/摘要卡/异常定位(回执、退款、对账差额、同步状态、失败原因 Top 等) + - 详情:支付/退款回执留痕、退款汇总口径统一、订阅关联、同步动作、审计记录 + - 工具:导出 CSV、批量同步订阅、批量仅标记生效、清除同步失败标记(均支持筛选条件透传) +- 订阅详情(总台治理页) + - 订阅维度治理摘要:回执/退款汇总 + 对账差额 + 同步状态聚合 + - 与平台订单列表一键联动跳转(保持筛选上下文) + - 支持从订单/订单列表进入并回跳(back) + +### 6) 测试覆盖(Feature Tests 为主) +- 平台订单:列表/详情/筛选/导出/批量工具/回执退款口径/失败原因联动 +- 订阅详情:治理摘要与联动链接 +- 订阅激活:续期延长口径与幂等保护 + +> 更详细的边界与页面清单可参考:`docs/ADMIN_BASELINE.md`、`docs/FOUNDATION_PROGRESS_2026-03-08.md`。 + ## 数据库连接 - DB_HOST=`127.0.0.1` - DB_PORT=`3306`