fix: close sms scheduling and billing gaps

This commit is contained in:
hectorzhao
2026-07-01 18:56:05 +08:00
parent 8ba4ef8a13
commit f8c9b78c21
28 changed files with 1480 additions and 26 deletions
+16
View File
@@ -90,6 +90,22 @@ node <inline step6 auto-billing probe>
主要缺口是发送链路尚未自动调用计费闭环:发送任务创建后不会自动冻结或扣费,也不会自动生成短信计费记录,消息金额默认为 0。后续需要把第 5 步发送链路和第 6 步计费能力连接起来。
## 缺口修复复测记录
- 发送创建时会按通道单价写入 `SmsMessageRecord.billingUnits/unitPrice/amountCents`
- 立即发送创建时执行账户检查和冻结;定时发送创建时检查余额,到点触发再冻结。
- Gateway submit accepted 后会生成/更新 `SmsBillingRecord`,写入 charged 流水。
- Gateway submit rejected/timeout 会释放冻结。
- 最终失败回执和 72 小时 unknown 转 timeout 会执行退款并更新计费记录状态。
- trace、dashboard 和 reconciliation 可通过消息金额、计费记录和账户交易聚合看到自动计费数据。
复测命令:
```bash
npm --prefix api test -- send-chain.service.spec.ts billing.service.spec.ts operations.service.spec.ts
npm --prefix api run build
```
## 下一步
进入第 7 步:执行 CMPP 连接状态、通道路由、客户/通道连接数量管理和展示测试。重点覆盖客户连接状态、通道 CMPP 连接状态、连接数量展示、通道 health/metrics、路由规则和 Gateway 相关契约。