- 新增 Kafka 消费者实现,支持消息处理和错误处理。 - 实现 OffsetTracker 类,用于跟踪消息偏移量。 - 新增消息解析和数据库插入逻辑,支持从 Kafka 消息构建数据库行。 - 实现 UDP 数据包解析功能,支持不同类型的 UDP 消息。 - 新增 Redis 错误队列处理,支持错误重试机制。 - 实现 Redis 客户端和集成类,支持日志记录和心跳机制。 - 添加 Zod 验证模式,确保 Kafka 消息有效性。 - 新增日志记录和指标收集工具,支持系统监控。 - 添加 UUID 生成工具,支持唯一标识符生成。 - 编写处理器逻辑的单元测试,确保功能正确性。 - 配置 Vite 构建工具,支持 Node.js 环境下的构建。
1.3 KiB
1.3 KiB
bls-onoffline-backend 规格说明
-
Kafka 数据结构 { "HotelCode": "1085", "MAC": "00:1A:2B:3C:4D:5E", "HostNumber": "091123987456", "RoomNumber": "8888房", "EndPoint": "50.2.60.1:6543", "CurrentStatus": "on", "CurrentTime": "2026-02-02T10:30:00Z", "UnixTime": 1770000235000, "LauncherVersion": "1.0.0", "RebootReason": "1" }
-
Kafka 主题 Topic:blwlog4Nodejs-rcu-onoffline-topic
-
数据库结构 数据库:log_platform 表:onoffline_record 字段: guid varchar(32) ts_ms int8 write_ts_ms int8 hotel_id int2 mac varchar(21) device_id varchar(64) room_id varchar(64) ip varchar(21) current_status varchar(10) launcher_version varchar(10) reboot_reason varchar(10) 主键:(ts_ms, mac, device_id, room_id) 按 ts_ms 每日分区
G5库结构(双写,临时接入): 库同为:log_platform 表:onoffline_record_g5 差异字段:
- guid 为 int4,由库自己生成。
- record_source 固定为 CRICS。
- current_status 为 int2,on映射为1,off映射为2,其余为0。 支持通过环境变量开关双写。
- 数据处理规则 非重启数据:reboot_reason 为空或不存在,current_status 取 CurrentStatus 重启数据:reboot_reason 不为空,current_status 固定为 on 其余字段直接按 Kafka 原值落库,空值不补 0