Files
pj_service_cloud/db/20260908_add_hard_terminal_status.sql
2026-09-08 15:25:23 +08:00

26 lines
2.1 KiB
SQL

-- 终端心跳状态表(迁移自 hq-platform 20260730_add_hard_terminal_status.sql)。
-- 食堂、超市 Android 终端心跳状态。在线状态由服务端按最后心跳时间实时计算,不冗余落库。
CREATE TABLE IF NOT EXISTS `pjcloudx_hardware`.`hard_terminal_status` (
`hard_id` bigint NOT NULL COMMENT '设备ID,对应hard_manager.id',
`last_online_time` datetime NOT NULL COMMENT '服务端最近收到心跳的时间',
`heartbeat_scene` varchar(32) NOT NULL COMMENT '最近心跳场景(ONLINE,AUTO_UPDATE)',
`disconnect_reason` varchar(128) DEFAULT NULL COMMENT '计划内断开原因,目前用于标记自动更新重启',
`apk_version_name` varchar(64) DEFAULT NULL COMMENT '终端上报的APK展示版本号',
`apk_version_code` bigint DEFAULT NULL COMMENT '终端上报的APK内部版本码',
`system_uptime_seconds` bigint DEFAULT NULL COMMENT 'Android系统本次启动后运行秒数',
`app_uptime_seconds` bigint DEFAULT NULL COMMENT '终端App本次进程运行秒数',
`network_type` varchar(32) DEFAULT NULL COMMENT '最近心跳使用的网络类型',
`available_storage_bytes` bigint DEFAULT NULL COMMENT '应用存储卷最近可用空间,单位字节',
`root_status` varchar(16) DEFAULT NULL COMMENT 'Root状态(unknown,available,unavailable)',
`device_owner` tinyint(1) DEFAULT NULL COMMENT '当前应用是否为Device Owner',
`kiosk_active` tinyint(1) DEFAULT NULL COMMENT '最近心跳时是否处于Kiosk锁定任务模式',
`device_status_json` json DEFAULT NULL COMMENT '打印机、电子秤、读卡器、副屏等可选硬件状态快照',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '修改人',
`update_time` datetime NOT NULL COMMENT '修改时间',
`tenant_id` bigint NOT NULL COMMENT '租户ID',
PRIMARY KEY (`hard_id`),
KEY `idx_hard_terminal_status_tenant_online` (`tenant_id`, `last_online_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin COMMENT='食堂超市终端心跳状态';