rwadurian/backend/services/trading-service/src/application/schedulers
hailin eab61abace feat(c2c-bot): 顺序处理订单 + 自动生成付款水单图片
1. 顺序处理订单:
   - Scheduler 每个10s周期只处理1个卖单(原先最多10个)
   - 移除 for 循环,确保完成一个订单后再处理下一个
   - 分布式锁 TTL 从 8s 增加到 30s,留足链上转账时间

2. 付款水单自动生成:
   - 新增 PaymentProofService,使用 SVG 模板 + sharp 转 PNG
   - 水单包含:订单号、支付金额、交易哈希、收款地址、完成时间
   - Bot 完成转账后自动生成水单并调用 updatePaymentProof 更新订单
   - 水单生成失败不影响订单本身(try-catch 保护)

文件变更:
- package.json: 添加 sharp ^0.33.2 依赖
- c2c-bot.scheduler.ts: 限制每周期1单,增加锁时间
- payment-proof.service.ts: 新文件,SVG→PNG 水单生成服务
- application.module.ts: 注册 PaymentProofService
- c2c-bot.service.ts: 注入 PaymentProofService,步骤5生成水单

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 18:32:52 -08:00
..
burn.scheduler.ts fix(trading): 销毁和快照只在交易系统激活时执行 2026-01-18 08:28:48 -08:00
c2c-bot.scheduler.ts feat(c2c-bot): 顺序处理订单 + 自动生成付款水单图片 2026-02-02 18:32:52 -08:00
c2c-expiry.scheduler.ts feat(c2c): 完善C2C场外交易功能 - 收款信息与订单超时处理 2026-01-19 07:17:22 -08:00
index.ts feat(trading-service): add burn system, Kafka events, and idempotency 2026-01-14 07:15:41 -08:00
outbox.scheduler.ts fix(outbox): 实现指数退避重试策略,最大延迟3小时 2026-01-10 21:08:57 -08:00
price-broadcast.scheduler.ts feat(trading): 资产页面实时价格 WebSocket 推送 2026-01-18 21:18:34 -08:00