From ff1b18c7846b4cc180a663fcff378f09ff49826e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Sat, 3 Oct 2026 11:48:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=B3=A5=E7=82=B9=E4=B8=89?= =?UTF-8?q?=E6=B1=A0=E4=B8=8E=E4=BC=9A=E5=91=98=E8=AE=A1=E8=B4=B9=E5=90=8E?= =?UTF-8?q?=E5=8F=B0=E6=94=AF=E6=92=91=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 设计文档 §5.6 补充用户详情会员状态、月度泥点命名与表浏览器标签 - 设计文档 §10.2 前后端清单补登订单会员快照与用户会员状态可视化 - 决策记录登记 2026-10-03 后台会员计费运维面补全决策 Co-authored-by: Junie --- docs/project-memory/shared-memory/decision-log.md | 11 +++++++++++ ...�技术设计】泥点三池与会员计费后端设计-2026-10-02.md | 7 ++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/docs/project-memory/shared-memory/decision-log.md b/docs/project-memory/shared-memory/decision-log.md index 5016cbdb5..8cf38d7eb 100644 --- a/docs/project-memory/shared-memory/decision-log.md +++ b/docs/project-memory/shared-memory/decision-log.md @@ -9405,3 +9405,14 @@ CI 上 `background_agent_runtime_recovers_stale_running_before_pending_task` 在 - 验证:`npm run agc:bundled-resources:test`(18 passed,含 sidecar 归位、跳过规则、上游缺失、版本漂移、目录被占);`npm run agc:bundled-resources:check`、`check-config.mjs`、`cargo test --bin genarrative-ai-game-creator-shell package_layout::tests`、`cargo check --no-default-features`、`cargo fmt --check`、`check:encoding`、eslint/prettier 全部通过;Windows 真机准备步骤 staging 24 个文件(含 243MB `claude.exe`)后 `cargo check` 不再出现构建期写入。 - 边界(未验证):macOS 真机的 sidecar 加载与 `check-macos-bundle.mjs` 包内容门禁未在本机验证;Linux 门禁按新配置不再要求 sidecar 资源,需 CI 实跑确认转绿。 - 关联:issue #519、master `fb130d184`、`docs/technical/【技术方案】AGC随包资源staging归位-2026-09-26.md`、CI run 3083。 + +## 2026-10-03 后台补全会员计费运维面:订单快照、用户会员状态、三池命名与表标签 + +- 背景:`docs/technical/【技术设计】泥点三池与会员计费后端设计-2026-10-02.md` §5.6 声称「订单列表 / 退款人工复核读取 §2.4 快照」,但管理端 `AdminRechargeOrderEntryPayload` 没有任何会员字段;用户详情不展示会员档位与账期,钱包月度池仍叫「会员限时」,通用表浏览器缺 `profile_membership_plan` 标签。 +- 决策(订单快照透出):新增 `AdminMembershipOrderChangePayload`(变更类型 / 前后档位 / 前后账期 / 前后每期泥点 / 补点增量 / 期数 / 前后到期与重置 / 价格拆分 JSON)挂到 `AdminRechargeOrderEntryPayload.membershipChange`,由 `map_membership_order_change` 从 module-runtime 既有的 `RuntimeProfileMembershipOrderChangeSnapshot` 直接映射;非会员订单为 `null`。只读,不改下单 / 退款语义。 +- 决策(用户会员状态):`AdminUserDetailResponse` 新增 `membership: AdminProfileMembershipPayload`,api-server 复用 `get_profile_recharge_center` 的 `membership` 投影,不再新开一条 admin 专用读路径。 +- 决策(三池命名只在契约 / UI 层):`AdminProfileWalletPayload.membership_limited_points` 改名为 `monthly_points`(TS `monthlyPoints`),后台钱包区块「会员限时」改为「月度泥点」。**SpacetimeDB 列名 `membership_limited_points` 与生成绑定保持不动**——持久化改名属破坏性变更,须先确认迁移计划。 +- 决策(展示复用):新建 `apps/admin-web/src/config/membershipDisplay.ts` 收敛档位 / 账期展示名与 `format*`,`AdminMembershipPlanPage`、`AdminRechargeOrderPage`、`AdminUserDetailDialog` 共用,不再各留一份 `planLabels`。 +- 影响范围:`server-rs/crates/shared-contracts/src/admin.rs`、`server-rs/crates/api-server/src/admin_recharge.rs`、`apps/admin-web/src/{api/adminApiTypes.ts,config/membershipDisplay.ts,pages/AdminMembershipPlanPage.tsx,pages/AdminRechargeOrderPage.tsx,components/AdminUserDetailDialog.tsx}`、`scripts/admin-web-fake-api.mjs`、设计文档 §5.6/§10.2、本文件。 +- 验证:`cargo check -p api-server`;`npm run admin-web:typecheck`;`npx vitest run apps/admin-web` → 26 files / 248 tests passed(新增「会员订单在发放泥点列展示会员变更快照」及用户详情会员断言)。 +- 边界:`/admin/api/*` 不在 `/api/external/v1` OpenAPI 门禁内,本次未补接口级契约测试,会员快照只在管理端页面用例层面取证。 diff --git a/docs/technical/【技术设计】泥点三池与会员计费后端设计-2026-10-02.md b/docs/technical/【技术设计】泥点三池与会员计费后端设计-2026-10-02.md index dc08098a8..0cff5c155 100644 --- a/docs/technical/【技术设计】泥点三池与会员计费后端设计-2026-10-02.md +++ b/docs/technical/【技术设计】泥点三池与会员计费后端设计-2026-10-02.md @@ -415,6 +415,9 @@ flowchart TD - 后台页:新增「会员档位」页(`AdminMembershipPlanPage`);「充值商品」页收敛为纯泥点商品 (`AdminRechargeProductPage` 不再有会员档位与 `membership_*` 字段)。 - 订单列表 / 退款人工复核读取 §2.4 快照(`membershipChange`,含变更前后档位、周期、补点与有效期)。 +- 用户详情返回单用户会员状态与账期(档位 / 状态 / 账期类型与期数 / 本账期发放与剩余 / 到期 / 重置), + 钱包区块把月度池命名为「月度泥点」。 +- 通用表浏览器补上 `profile_membership_plan` 的中文标签与说明。 ### 5.7 契约生成(ts-rs,已落地) @@ -522,7 +525,9 @@ flowchart TD - 共享组件与平台入口改用三池:`PlatformMudPointWalletEntry` 明细面板并列「永久泥点 / 月度泥点 / 每日免费泥点」, 充值弹层余额读三池合计,`ProfileRechargeCenterResponse` 不再有 `walletBalance`。 - 展示用合计在 `packages/shared/src/utils/mudPoints.ts` 派生(`totalPoints`),月度刷新时刻固定按北京时间格式化。 -- 后台:新增「会员档位」页,充值商品页收敛为纯泥点商品。 +- 后台:新增「会员档位」页,充值商品页收敛为纯泥点商品;订单列表与退款人工复核渲染 + `membershipChange` 快照;用户详情展示会员状态与账期、钱包月度池改名「月度泥点」; + 表浏览器补 `profile_membership_plan` 标签。 未做(依决策保留,不是遗漏):