问题: - 认种订单支付后,系统账户(成本费、运营费、总部社区、RWA底池)余额始终为0 - reward-service 正确计算分配,但 wallet-service 未实际执行系统账户的资金转移 根本原因: 1. allocateToSystemAccount() 方法只打印日志,未执行任何数据库操作(遗留的 TODO) 2. UserId 值对象不允许负数,而系统账户 user_id 为负数(-1 到 -4) 修复内容: 1. wallet-application.service.ts - allocateToSystemAccount() - 实现完整的系统账户资金分配逻辑 - 通过 findByAccountSequence() 获取系统账户 - 调用 addAvailableBalance() 直接增加可用余额 - 创建 SYSTEM_ALLOCATION 类型的流水记录 2. wallet-account.aggregate.ts - 新增 addAvailableBalance(amount: Money) 方法 - 用于系统账户直接增加余额(无需待领取/过期机制) 3. ledger-entry-type.enum.ts - 新增 SYSTEM_ALLOCATION 枚举值,用于系统账户分配流水 4. user-id.vo.ts - 移除负数校验,允许系统账户使用负数 user_id - 系统账户约定:-1(总部社区)、-2(成本费)、-3(运营费)、-4(RWA底池) 验证结果(认种1棵树=2199 USDT): - S0000000001 总部社区: 9 USDT ✓ - S0000000002 成本费账户: 400 USDT ✓ - S0000000003 运营费账户: 300 USDT ✓ - S0000000004 RWA底池: 800 USDT ✓ 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| .claude | ||
| api-gateway | ||
| infrastructure | ||
| mpc-system | ||
| services | ||