-- 终端心跳状态表(迁移自 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='食堂超市终端心跳状态';