rwadurian/backend/services/trading-service
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
..
prisma feat(c2c): 订单详情增强、付款水单上传、买单逻辑修复及schema对齐 2026-01-31 08:54:05 -08:00
src fix(c2c-bot): 调整purchaseOrder操作顺序,先扣余额再链上转账 2026-02-01 05:02:19 -08:00
.env.example feat(mining-ecosystem): 添加挖矿生态系统完整微服务与前端 2026-01-10 17:45:46 -08:00
DEVELOPMENT_GUIDE.md feat(mining-ecosystem): 添加挖矿生态系统完整微服务与前端 2026-01-10 17:45:46 -08:00
Dockerfile fix(c2c): 修复水单上传权限、手机号、卖方ID、资产显示 2026-01-31 09:19:38 -08:00
nest-cli.json feat(mining-ecosystem): 添加挖矿生态系统完整微服务与前端 2026-01-10 17:45:46 -08:00
package-lock.json feat(c2c): 实现C2C Bot自动交易系统 2026-01-28 07:10:25 -08:00
package.json feat(c2c): 实现C2C Bot自动交易系统 2026-01-28 07:10:25 -08:00
tsconfig.json fix(trading-service): exclude prisma from tsconfig to fix build output path 2026-01-15 04:46:01 -08:00