Appearance
现金流动性投影 + FX(DM2)
概述
- 流动性:将 Liquia entity / bank id 映射为 DTMS id 后,调用
POST /cash-liquidity/projection。 - FX 暴露:读取 DTMS DM2 buckets 与 deals,生成推荐并可接受为 Mission;显式要求
DTMS_ENABLED=true。
触发入口
| 动作 | HTTP |
|---|---|
| 流动性投影 | POST /api/cash-liquidity/projection |
| FX buckets | GET /api/fx-exposure/buckets |
| FX 推荐 | GET /api/fx-exposure/recommendations?bucketName= |
| FX deals | GET /api/fx-exposure/buckets/:bucketName/deals?currency= |
| 接受推荐 | POST /api/fx-exposure/missions body { candidateRef } |
参与方
- Client、
api-gateway CashLiquidityUseCase、FX use-cases、MissionsServiceDtmsAuthService、DtmsClient、Redis、DTMS、本地 DB(Mission)
业务流程图
加载图表…
时序图:Cash Liquidity
加载图表…
时序图:FX Buckets / Recommendations / Accept
加载图表…
DTMS API 对照
| 步骤 | Liquia | HTTP | Path | Bearer |
|---|---|---|---|---|
| 流动性 | getLiquidityProjection | POST | /cash-liquidity/projection | 是 |
| Buckets | getDm2Buckets | GET | /dm2-buckets | 是 |
| Deals | getDm2BucketDeals | GET | /dm2-buckets/{bucket}/deals?currency= | 是 |
| 鉴权 | login | POST | /auth/users/_login | 否 |
本地数据影响
- Liquidity:只读映射,无写
- FX Accept:写
Mission+ steps(无 DTMS id 字段);推荐读取 mission external refs
异常与补偿
- Liquidity:传入 id 但无一有 DTMS 链接 → 空结果;不检查
shouldSkipSync(缺配置会直接抛) - FX:
DTMS_ENABLED!=='true'→ 空或DTMS_DISABLED;list 失败 warn→[];stale →FX_EXPOSURE_STALE - 与 Sync 差异:FX 在 production 也尊重
DTMS_ENABLED
源码索引
apps/api/src/orchestration/liquidity/cash-liquidity.use-case.tsapps/api/src/orchestration/fx-exposure/*.use-case.ts- CashLiquidity / FxExposure controllers