补充设备告警与休眠设置后端能力
This commit is contained in:
@@ -367,6 +367,20 @@ CREATE TABLE IF NOT EXISTS `device_settings` (
|
||||
REFERENCES `device_auth` (`device_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- Device alarm events are reported by the device side through MQTT msg_id=010.
|
||||
CREATE TABLE IF NOT EXISTS `device_alarm_events` (
|
||||
`alarm_id` BIGINT NOT NULL AUTO_INCREMENT,
|
||||
`device_id` VARCHAR(64) NOT NULL,
|
||||
`owner_user_id` BIGINT NULL,
|
||||
`child_id` BIGINT NULL,
|
||||
`source_msg_id` VARCHAR(8) NOT NULL DEFAULT '010',
|
||||
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`alarm_id`),
|
||||
KEY `idx_device_alarm_device_created` (`device_id`, `created_at`),
|
||||
KEY `idx_device_alarm_owner_created` (`owner_user_id`, `created_at`),
|
||||
KEY `idx_device_alarm_child_created` (`child_id`, `created_at`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `im_conversations` (
|
||||
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
||||
`conversation_type` TINYINT UNSIGNED NOT NULL,
|
||||
@@ -427,20 +441,20 @@ CREATE TABLE IF NOT EXISTS `im_messages` (
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `child_location_current` (
|
||||
`child_id` BIGINT NOT NULL COMMENT '孩子ID,当前表每个孩子仅保留一条最新定位',
|
||||
`device_id` VARCHAR(64) NOT NULL COMMENT '定位上报设备ID',
|
||||
`coord_type` VARCHAR(16) NOT NULL DEFAULT 'gcj02' COMMENT '坐标系类型,统一使用gcj02',
|
||||
`lat` DECIMAL(10, 7) NOT NULL COMMENT '纬度',
|
||||
`lng` DECIMAL(10, 7) NOT NULL COMMENT '经度',
|
||||
`accuracy_m` INT UNSIGNED NULL COMMENT '定位精度,单位米',
|
||||
`altitude_m` DECIMAL(8, 2) NULL COMMENT '海拔高度,单位米',
|
||||
`speed_mps` DECIMAL(8, 2) NULL COMMENT '速度,单位米每秒',
|
||||
`heading_deg` SMALLINT UNSIGNED NULL COMMENT '航向角,单位度,范围0到360',
|
||||
`source` TINYINT UNSIGNED NOT NULL COMMENT '定位来源编码,由设备侧约定',
|
||||
`battery_pct` TINYINT UNSIGNED NULL COMMENT '设备电量百分比,范围0到100',
|
||||
`device_time` DATETIME NOT NULL COMMENT '设备采集定位时间',
|
||||
`server_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '服务端接收并写入时间',
|
||||
`updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '当前定位记录最后更新时间',
|
||||
`child_id` BIGINT NOT NULL,
|
||||
`device_id` VARCHAR(64) NOT NULL,
|
||||
`coord_type` VARCHAR(16) NOT NULL DEFAULT 'gcj02',
|
||||
`lat` DECIMAL(10, 7) NOT NULL,
|
||||
`lng` DECIMAL(10, 7) NOT NULL,
|
||||
`accuracy_m` INT UNSIGNED NULL,
|
||||
`altitude_m` DECIMAL(8, 2) NULL,
|
||||
`speed_mps` DECIMAL(8, 2) NULL,
|
||||
`heading_deg` SMALLINT UNSIGNED NULL,
|
||||
`source` TINYINT UNSIGNED NOT NULL,
|
||||
`battery_pct` TINYINT UNSIGNED NULL,
|
||||
`device_time` DATETIME NOT NULL,
|
||||
`server_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`updated_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`child_id`),
|
||||
KEY `idx_child_loc_current_device` (`device_id`),
|
||||
KEY `idx_child_loc_current_server_time` (`server_time`),
|
||||
@@ -454,21 +468,21 @@ CREATE TABLE IF NOT EXISTS `child_location_current` (
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `child_location_history` (
|
||||
`id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '历史定位记录ID',
|
||||
`child_id` BIGINT NOT NULL COMMENT '孩子ID',
|
||||
`device_id` VARCHAR(64) NOT NULL COMMENT '定位上报设备ID',
|
||||
`coord_type` VARCHAR(16) NOT NULL DEFAULT 'gcj02' COMMENT '坐标系类型,统一使用gcj02',
|
||||
`lat` DECIMAL(10, 7) NOT NULL COMMENT '纬度',
|
||||
`lng` DECIMAL(10, 7) NOT NULL COMMENT '经度',
|
||||
`accuracy_m` INT UNSIGNED NULL COMMENT '定位精度,单位米',
|
||||
`altitude_m` DECIMAL(8, 2) NULL COMMENT '海拔高度,单位米',
|
||||
`speed_mps` DECIMAL(8, 2) NULL COMMENT '速度,单位米每秒',
|
||||
`heading_deg` SMALLINT UNSIGNED NULL COMMENT '航向角,单位度,范围0到360',
|
||||
`source` TINYINT UNSIGNED NOT NULL COMMENT '定位来源编码,由设备侧约定',
|
||||
`battery_pct` TINYINT UNSIGNED NULL COMMENT '设备电量百分比,范围0到100',
|
||||
`device_time` DATETIME NOT NULL COMMENT '设备采集定位时间',
|
||||
`server_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '服务端接收并写入时间',
|
||||
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '历史定位记录创建时间',
|
||||
`id` BIGINT NOT NULL AUTO_INCREMENT,
|
||||
`child_id` BIGINT NOT NULL,
|
||||
`device_id` VARCHAR(64) NOT NULL,
|
||||
`coord_type` VARCHAR(16) NOT NULL DEFAULT 'gcj02',
|
||||
`lat` DECIMAL(10, 7) NOT NULL,
|
||||
`lng` DECIMAL(10, 7) NOT NULL,
|
||||
`accuracy_m` INT UNSIGNED NULL,
|
||||
`altitude_m` DECIMAL(8, 2) NULL,
|
||||
`speed_mps` DECIMAL(8, 2) NULL,
|
||||
`heading_deg` SMALLINT UNSIGNED NULL,
|
||||
`source` TINYINT UNSIGNED NOT NULL,
|
||||
`battery_pct` TINYINT UNSIGNED NULL,
|
||||
`device_time` DATETIME NOT NULL,
|
||||
`server_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `idx_child_loc_hist_child` (`child_id`, `created_at`),
|
||||
KEY `idx_child_loc_hist_device` (`device_id`, `created_at`),
|
||||
|
||||
Reference in New Issue
Block a user