Files
Web_BLS_RCUAction_Server/openspec/changes/2026-03-18-g5-ip-skip-empty/spec.md

1.2 KiB
Raw Blame History

G5 room_status 空 IP 跳过写入

背景

Kafka payload 中包含 ip 字段,但该字段可能为空。对于 room_status_moment_g5,当 ip 为空时,应直接跳过该次状态写入,避免更新 ts_ms,也避免写入不完整数据。

目标

  1. G5 room_status_moment_g5 写入时补充 ip 字段。
  2. ip 为空或空白时G5 直接跳过这条状态,不进入缓冲、不触发 upsert、不更新 ts_ms
  3. G4 逻辑保持现状,不受 G5 空 IP 策略影响。
  4. 保持 ip 作为有效值时的正常 upsert 与字段合并。

变更范围

  • src/processor/statusExtractor.js
    • 规范化 ip,将空字符串/空白字符串视为 null
  • src/db/statusBatchProcessor.js
    • G5 目标在 ip 为空时直接跳过
  • src/db/roomStatusManager.js
    • 在 upsert 中增加 ip 写入与更新逻辑
  • tests/status_extractor.test.js
    • 增加 ip 归一化测试
  • tests/status_batch_processor.test.js
    • 增加 G5 空 ip 直接跳过测试

验收标准

  1. G5 表 room_status_moment_g5 的记录可写入 ip 字段。
  2. ip 为空的 G5 状态不产生任何数据库写入。
  3. 现有测试通过。