rwadurian/backend/services/wallet-service/src
hailin d3969710be fix(wallet): 系统账户划转前自动结算 settleableUsdt,解决全额划转余额不足
## 问题
省/市区域和团队账户收到的奖励进入 settleableUsdt,
但划转验证只检查 usdtAvailable,导致全额划转报"余额不足"。

## 修复
在 requestSystemWithdrawal 事务中,划转前自动执行结算:
1. 检测账户是否为区域/团队账户(6/7/8/9开头)
2. 若 settleableUsdt > 0,自动结算到 usdtAvailable
3. 记录 REWARD_SETTLED 流水明细(含 trigger=SYSTEM_WITHDRAWAL_AUTO_SETTLE)
4. 结算和划转在同一事务中,保证原子性

## 审计流水
每次自动结算会产生一条独立的 REWARD_SETTLED 流水:
- memo: "系统账户自动结算: 待结算 X 绿积分转入可用余额(划转前自动执行)"
- payloadJson: { settledAmount, previousAvailable, newAvailable, trigger }

## 其他
- 划转白名单扩展支持 6xxx(市团队)、7xxx(省团队)
- getSystemAccountName 添加省团队/市团队名称映射

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 06:30:34 -08:00
..
api feat(pre-planting): 预种购买后自动触发待领取→可结算转换 2026-03-01 08:51:03 -08:00
application fix(wallet): 系统账户划转前自动结算 settleableUsdt,解决全额划转余额不足 2026-03-02 06:30:34 -08:00
config feat(wallet-service): add Redis caching for wallet queries 2025-12-06 18:37:13 -08:00
domain fix(wallet): 区分直接入账和批量转换的 REWARD_TO_SETTLEABLE 2026-03-01 10:30:47 -08:00
infrastructure Revert "fix(ledger): 分享收益筛选支持多类型(REWARD_TO_SETTLEABLE + REWARD_PENDING)" 2026-03-01 11:07:19 -08:00
pre-planting feat(pre-planting): 3171 预种计划 1.0 全量实现(纯新增,零侵入) 2026-02-18 05:06:03 -08:00
shared feat(wallet/mpc): 增强提现和充值流程可靠性 2025-12-15 19:47:20 -08:00
app.module.ts feat(pre-planting): 3171 预种计划 1.0 全量实现(纯新增,零侵入) 2026-02-18 05:06:03 -08:00
main.ts feat(sync): implement Outbox Pattern for reward-service to wallet-service sync 2025-12-10 23:26:49 -08:00