1.2 KiB
1.2 KiB
G5 room_status 空 IP 跳过写入
背景
Kafka payload 中包含 ip 字段,但该字段可能为空。对于 room_status_moment_g5,当 ip 为空时,应直接跳过该次状态写入,避免更新 ts_ms,也避免写入不完整数据。
目标
- G5
room_status_moment_g5写入时补充ip字段。 - 当
ip为空或空白时,G5 直接跳过这条状态,不进入缓冲、不触发 upsert、不更新ts_ms。 - G4 逻辑保持现状,不受 G5 空 IP 策略影响。
- 保持
ip作为有效值时的正常 upsert 与字段合并。
变更范围
src/processor/statusExtractor.js- 规范化
ip,将空字符串/空白字符串视为null
- 规范化
src/db/statusBatchProcessor.js- G5 目标在
ip为空时直接跳过
- G5 目标在
src/db/roomStatusManager.js- 在 upsert 中增加
ip写入与更新逻辑
- 在 upsert 中增加
tests/status_extractor.test.js- 增加
ip归一化测试
- 增加
tests/status_batch_processor.test.js- 增加 G5 空
ip直接跳过测试
- 增加 G5 空
验收标准
- G5 表
room_status_moment_g5的记录可写入ip字段。 ip为空的 G5 状态不产生任何数据库写入。- 现有测试通过。