feat: 移除“租户管理员为用户充值 / 每租户一套余额”能力:余额统一为全局用户余额
This commit is contained in:
@@ -13,9 +13,9 @@
|
||||
- **加入租户**:支持邀请码加入与申请加入(tenantjoin 模块)。
|
||||
|
||||
### 1.2 余额体系(可用 + 冻结)与账本流水
|
||||
- **账户维度**:`tenant_users(tenant_id,user_id)`;字段包含 `balance`、`balance_frozen`。
|
||||
- **账户维度**:`users(id)`;字段包含 `balance`、`balance_frozen`(全局余额,可在已加入租户间共享消费)。
|
||||
- **账本流水**:`tenant_ledgers` 记录每次余额变更,含:
|
||||
- `type`(credit_topup / freeze / unfreeze / debit_purchase / credit_refund 等);
|
||||
- `type`(freeze / unfreeze / debit_purchase / credit_refund 等);
|
||||
- `balance_before/after`、`frozen_before/after` 快照;
|
||||
- `idempotency_key` 唯一约束(tenant+user 维度)用于幂等落账。
|
||||
- **一致性**:账本落地实现包含行锁与“余额/冻结余额不得为负”的不变量校验。
|
||||
@@ -28,10 +28,10 @@
|
||||
- **试看**:区分 preview/main 资源角色;`/preview` 不要求购买,`/assets` 要求已购/免费/作者。
|
||||
|
||||
### 1.4 订单、购买、充值与退款
|
||||
- **订单与明细**:`orders` + `order_items`;支持 type=content_purchase/topup 与状态流转。
|
||||
- **订单与明细**:`orders` + `order_items`;支持 type=content_purchase 与状态流转。
|
||||
- **购买(余额支付)**:支持冻结→扣款(消耗冻结)→授予权益;并发靠行锁+冻结方案防止透支。
|
||||
- **购买幂等**:`idempotency_key` 支持“至多一次”购买语义;失败会写回滚标记并稳定返回“失败+已回滚”。
|
||||
- **充值**:租户管理员可为租户成员单笔充值 + 批量充值;写 topup 订单 + credit_topup 账本。
|
||||
- **充值**:已移除(不提供按租户充值能力)。
|
||||
- **退款**:租户管理员可对已支付订单退款;默认时间窗(paid_at + 24h),可 force 绕过;退款入账 + 回收权益。
|
||||
- **后台订单查询**:支持管理员按条件分页查询与导出(CSV)。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user