fix(acm2-96): schd 单条上限超限分轮,文档与实现对齐 C-9

This commit is contained in:
windyboy
2026-09-23 16:59:09 +08:00
parent 4fbb974307
commit 71698b240b
8 changed files with 41 additions and 11 deletions
+2 -2
View File
@@ -60,7 +60,7 @@
### 2.4 下游(admin-api、网页客户端)
- **C-9** 航班变更发 Kafka`msg` 一条变更一条消息,消息体是整条 `MSG` 的 JSON`META` 加对应业务体),变更与删除由 `META` 的类型与子类型区分(`Q5`);`schd`两轮采集之间积累的变化合成一条消息内容是 `SCHD.FLTR` JSON 数组,条数不设上限(`Q1`。空字段不输出,没变化不发;删航班只走 `msg`;不设 message key;可能重复投递。
- **C-9** 航班变更发 Kafka`msg` 一条变更一条消息,消息体是整条 `MSG` 的 JSON`META` 加对应业务体),变更与删除由 `META` 的类型与子类型区分(`Q5`);`schd`积累的变化按批发出,每批一条消息内容是 `SCHD.FLTR` JSON 数组,单批条数上限见 `PARAM:msgx.schd.flush-limit`,超限部分留待后续轮次发出。空字段不输出,没变化不发;删航班只走 `msg`;不设 message key;可能重复投递。
- **C-10** 静态参考数据写本系统库,admin-api 只读;本系统不调用 admin-api。
- **C-11** 航班快照写 Redis;网页客户端经 `GET /all/flights` 读这一份,不直连 Redis;共享航班(`MAID` 非空)不单列返回(是否以主航班 `MAFL` 提供见 `Q6`)。成功 HTTP 200 返回裸 JSON 数组(不套旧 `ResponseDto`),不分页;失败 HTTP 503,JSON 对象 `{"error":"FLIGHT_PROJECTION_UNAVAILABLE","reason":"<细节>"}`;投影读失败不得返回 200 空数组(`INV-11`)。投影 value、`KAFKA:schd` 数组元素与查询成功体元素同形:都是日计划一条 `FLTR` 转成的 JSON(字段名与 [XSD](legacy/unisysaodbsis.xsd) `FLTR` 一致,空字段不输出,与 `C-9` 相同);由自有 PG 当前态重建,不是另起包装。
@@ -112,7 +112,7 @@
| 编号 | 状态 | 事项 | 说明 |
|---|---|---|---|
| Q1 | 已定 | `schd` 一条 Kafka 消息里装多少变更 | 两轮发送之间积累的全部变更合成一条,条数不设上限`C-9` |
| Q1 | 已定 | `schd` 一条 Kafka 消息里装多少变更 | 单批上限内的待发航班聚成一条 `SCHD.FLTR` JSON 数组,超限部分后续轮次发出`C-9` |
| Q2 | 待对方 | FLOP 里 `SRVT`/`VIPF` 等集合段缺席是否等于删除 | 见 `G-SRVT-VIPF`;旧系统不解析这两段,无法对拍 |
| Q3 | 待对方 | SIS 没写明的 FLOP 子类型怎么解析、处理完算啥 | 按现有逻辑处理(`US-05` AC1);见 `G-FLOP-SEMANTICS``CLM-1`。旧系统找不到对应处理器时按失败兜底,仍写回处理时间且无业务改动 |
| Q4 | 待对方 | 上游重发时会不会改正文 | 假定内容不变,只认身份;改正文会被当重复跳过。旧系统不比较正文 |