docs(kdoc): 其余模块注释统一为直白说明

把上一提交没覆盖到的模块也改完,至此仓库内不再有"只写编号、不写说明"的注释。

涉及 33 个文件(生产 24 + 测试 9),包括航班状态模型与合并引擎、事件与留痕模型、
运营日计算、投递器、历史归档作业、编解码与身份、重试与重放、健康指示器、
生命周期装配、以及各自的测试类。

改法与前面一致:先说这段代码做什么,再说为什么这么做,术语第一次出现就地解释
(FLID、OPERATION_DAY、航班版本号、删除通知、待发事件表等)。工单编号
(U07/N02/ACM2-10 之类)已全部移除;段落编号只剩 10 处,全部带文件名位于句尾,
用作延伸阅读,例如"见 docs/flight-state.md §5"。

保留了本来就自解释的行内注释、PgTestSupport 顶部的环境变量默认值表格,
以及 InboxController 里描述待补接口的 TODO。

校验:逐文件做"去注释后比对"(块注释 + 行注释清除、空白归一),33 个文件代码
零差异;另做逐行非注释代码比对,同样零差异。clean test 为 78 passed / 1 skipped。
This commit is contained in:
windyboy
2026-09-10 11:14:11 +08:00
parent 6e7d819034
commit 1183c7522b
33 changed files with 283 additions and 210 deletions
@@ -1,21 +1,25 @@
package com.gzzn.omms.msgexchange.domain
/** MSG_EVENT 事件形态(design.md §2.1UPSERT 整态/通知,TOMBSTONE 删除。 */
/** 事件的两种形态:UPSERT 是新增或更新(可能是整态也可能是变化通知TOMBSTONE 删除。 */
enum class EventType { UPSERT, TOMBSTONE }
/** MSG_EVENT 投递状态机(design.md §2.3PENDING → SENT失败退避重试;耗尽转 DEAD 保留作 DLQ。 */
/** 投递状态PENDING 待发 → SENT 已发出;发送失败退避重试,重试次数用尽转 DEAD,留在表里当死信队列。 */
enum class EventStatus { PENDING, SENT, DEAD }
/**
* MSG_EVENToutboxdesign.md §2.1):状态变更、删除通知
* KAFKA_SCHD 发整态、KAFKA_MSG 只通知变化(docs/flight-state.md §5,两主题不承诺顺序);
* TOMBSTONE 仅在 ACTIVE→DELETED(§3.3)或生命周期清理前补发(§6),与删除同事务登记。
* stateVersion:发布时的航班版本;KAFKA_SCHD 聚合按 FLID 取最新(§5)。
* MSG_EVENT:一张待发事件表(outbox),记录航班状态变更要对外发什么
*
* 写业务数据时在同一个事务里往这里插一行,投递线程随后按行发出,这样业务提交和"该发的事件"
* 不会脱节。KAFKA_SCHD 发完整状态,KAFKA_MSG 只发"这个航班变了"的通知;两个主题之间不保证
* 先后顺序。TOMBSTONE 只在两种情况下登记:航班从在用变成删除,或者被生命周期清理前补发
* 一次删除通知。见 docs/flight-state.md §5。
*
* stateVersion 是发布时的航班版本号;同一 FLID 攒了多条待发事件时,只发版本号最新的那条。
*/
data class MsgEvent(
val eventId: Long? = null,
val target: String,
val partitionKey: String, // 恒为 FLID
val partitionKey: String, // 分区键,恒为 FLID(航班实例 ID
val eventType: EventType = EventType.UPSERT,
val stateVersion: Long = 0,
val payloadJson: String,