refactor(会员): 会员档位目录移除无用的 sort_order,统一按 rank 排序

- module-runtime catalog.rs:RuntimeProfileMembershipPlanRecord 与种子目录去掉 sort_order,目录单测改为按 rank 断言
- module-runtime domain.rs/commands.rs:后台改价入参与构建函数去掉 sort_order
- spacetime-module profile.rs:profile_membership_plan 表结构去掉排序列,membership_plan_records 改按 rank 升序读取
- shared-contracts runtime.rs:ProfileMembershipPlanResponse 与 AdminUpsertProfileMembershipPlanRequest 移除 sortOrder
- spacetime-client:客户端签名、mapper 与 module_bindings 同步移除 sortOrder
- api-server runtime_profile.rs:响应构建与测试夹具去掉 sortOrder
- admin-web:AdminMembershipPlanPage 移除「排序」输入,档位列表改为按 rank 排序,契约类型同步
- packages/shared:ProfileMembershipPlanRecord 去掉 sortOrder,充值弹层改为直接沿用后端的 rank 顺序
- docs:泥点三池与会员计费后端设计同步目录字段与后台能力说明

Co-authored-by: Junie <junie@jetbrains.com>
This commit is contained in:
2026-10-03 13:14:04 +08:00
parent e5de57f7f8
commit 16f92f2110
17 changed files with 19 additions and 76 deletions
@@ -79,7 +79,6 @@ pub struct ProfileMembershipPlan {
pub(crate) period_points: u64,
pub(crate) model_access: RuntimeProfileMembershipModelAccess,
pub(crate) concurrent_job_limit: u32,
pub(crate) sort_order: i32,
pub(crate) enabled: bool,
pub(crate) created_by: String,
pub(crate) created_at: Timestamp,
@@ -251,7 +250,7 @@ pub struct RuntimeProfileMembershipUpgradeQuote {
- `runtime_profile_membership_plan_catalog()`:后台 `profile_membership_plan` 表的种子真相源,
一行一档(`title` / `rank` / `month_price_cents` / `year_price_cents` / `period_points` /
`model_access` / `concurrent_job_limit` / `sort_order` / `enabled`)。
`model_access` / `concurrent_job_limit` / `enabled`)。目录展示顺序与升级次序统一由 `rank` 决定。
- `resolve_runtime_profile_membership_plan_snapshot(plan, cycle_kind)`:
「档位 + 周期 → 可下单套餐」的唯一解析入口,`price_cents` 取所选周期的价格字段。
- `runtime_profile_membership_plan_rank(plan) -> Option<u8>` / `is_runtime_profile_membership_plan_purchasable(plan) -> bool`:
@@ -401,8 +400,8 @@ flowchart TD
- `mudPointBalance` 用 §5.1;`membership` 用 §5.2。
- 会员列表改为 `membershipPlans: RuntimeProfileMembershipPlanRecord[]`:一行一档,含 `plan` /
`title` / `rank` / 月价 / 年价 / 每期泥点 / 模型权限 / 并发上限 / 排序 / 可购买,
由 `profile_membership_plan` 表按 `sort_order` 升序读出。
`title` / `rank` / 月价 / 年价 / 每期泥点 / 模型权限 / 并发上限 / 可购买,
由 `profile_membership_plan` 表按 `rank` 升序读出。
- 删除 `walletBalance`、`membershipProducts`、`benefits`(旧 Month/Season/Year 权益矩阵)。
- `pointProducts` 只剩泥点商品(会员商品行不再出现在商品配置表里)。
@@ -410,6 +409,7 @@ flowchart TD
- 新增 `GET|POST /admin/api/profile/membership-plans`(按档位枚举 CRUD 价格与权益)。
- `rank` 不进请求:升级比较基准由代码内目录决定,后台不能改。
- 目录不再有独立「排序」字段:展示顺序与升级次序统一由 `rank` 升序决定。
- `normal` 是不可购买的非会员占位档位,价格与额度由后端按 0 落库、`enabled` 强制 `false`。
- 非 `normal` 档位要求月价 / 年价 / 并发上限都大于 0,否则 4xx。
- 后台页:新增「会员档位」页(`AdminMembershipPlanPage`);「充值商品」页收敛为纯泥点商品