添加 Kafka 消费者、数据库写入、Redis 集成等核心模块,实现设备上下线事件处理 - 创建项目基础目录结构与配置文件 - 实现 Kafka 消费逻辑与手动提交偏移量 - 添加 PostgreSQL 数据库连接与分区表管理 - 集成 Redis 用于错误队列和项目心跳 - 包含数据处理逻辑,区分重启与非重启数据 - 提供数据库初始化脚本与分区创建工具 - 添加单元测试与代码校验脚本
24 lines
1.0 KiB
SQL
24 lines
1.0 KiB
SQL
CREATE SCHEMA IF NOT EXISTS onoffline;
|
|
|
|
CREATE TABLE IF NOT EXISTS onoffline.onoffline_record (
|
|
guid VARCHAR(32) NOT NULL,
|
|
ts_ms BIGINT NOT NULL,
|
|
write_ts_ms BIGINT NOT NULL,
|
|
hotel_id SMALLINT NOT NULL,
|
|
mac VARCHAR(21) NOT NULL,
|
|
device_id VARCHAR(64) NOT NULL,
|
|
room_id VARCHAR(64) NOT NULL,
|
|
ip VARCHAR(21),
|
|
current_status VARCHAR(255),
|
|
launcher_version VARCHAR(255),
|
|
reboot_reason VARCHAR(255),
|
|
PRIMARY KEY (ts_ms, mac, device_id, room_id)
|
|
) PARTITION BY RANGE (ts_ms);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_onoffline_ts_ms ON onoffline.onoffline_record (ts_ms);
|
|
CREATE INDEX IF NOT EXISTS idx_onoffline_hotel_id ON onoffline.onoffline_record (hotel_id);
|
|
CREATE INDEX IF NOT EXISTS idx_onoffline_mac ON onoffline.onoffline_record (mac);
|
|
CREATE INDEX IF NOT EXISTS idx_onoffline_device_id ON onoffline.onoffline_record (device_id);
|
|
CREATE INDEX IF NOT EXISTS idx_onoffline_room_id ON onoffline.onoffline_record (room_id);
|
|
CREATE INDEX IF NOT EXISTS idx_onoffline_current_status ON onoffline.onoffline_record (current_status);
|