rwadurian/backend/services/trading-service/src
hailin c802519ec2 fix(c2c-bot): 调整purchaseOrder操作顺序,先扣余额再链上转账
问题:原流程先执行不可逆的链上dUSDT转账,再扣减卖家DB余额。
若转账成功但扣减失败(余额不足、DB异常),会导致:
- dUSDT已转出(链上不可回退)
- 订单仍为PENDING(可能被重复处理)
- 卖家余额未扣减

修复:
1. 将deductSellerBalance移至transferDusdt之前(可逆操作先行)
2. 链上转账失败时调用restoreSellerBalance回补余额
3. 新增restoreSellerBalance方法,失败时记录CRITICAL级别日志

修改后流程:扣余额(可逆) → 链上转账(不可逆) → 更新订单状态(DB)
任何步骤失败都不会导致资金损失。

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 05:02:19 -08:00
..
api feat(c2c-bot): 添加C2C Bot管理页面,支持运行时开关和热钱包查看 2026-02-01 04:47:28 -08:00
application fix(c2c-bot): 调整purchaseOrder操作顺序,先扣余额再链上转账 2026-02-01 05:02:19 -08:00
domain feat(trading): 实现完整的CEX做市商双边深度系统 2026-01-17 21:11:23 -08:00
infrastructure feat(c2c-bot): 添加C2C Bot管理页面,支持运行时开关和热钱包查看 2026-02-01 04:47:28 -08:00
shared fix(c2c): 修复水单上传权限、手机号显示、卖方ID显示 2026-01-31 09:13:46 -08:00
app.module.ts fix(trading,auth): add parent .env path for shared JWT_SECRET 2026-01-15 06:57:57 -08:00
main.ts fix(api-gateway): correct Kong routing for trading-service 2026-01-15 05:27:46 -08:00