From e2a438c84ebd2bb2ea58a5ba6051edbd3b606cde Mon Sep 17 00:00:00 2001 From: zhangzijienbplus <17738440858@163.com> Date: Wed, 22 Oct 2025 14:19:10 +0800 Subject: [PATCH] del --- sql/refresh_token.sql | 16 ------------ sql/user_device_session.sql | 50 ------------------------------------- 2 files changed, 66 deletions(-) delete mode 100644 sql/refresh_token.sql delete mode 100644 sql/user_device_session.sql diff --git a/sql/refresh_token.sql b/sql/refresh_token.sql deleted file mode 100644 index 5403359..0000000 --- a/sql/refresh_token.sql +++ /dev/null @@ -1,16 +0,0 @@ --- 创建刷新令牌表 -CREATE TABLE IF NOT EXISTS `refresh_token` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', - `account_id` bigint(20) NOT NULL COMMENT '账号ID', - `device_id` varchar(100) DEFAULT NULL COMMENT '设备ID', - `token` varchar(255) NOT NULL COMMENT '刷新令牌', - `expire_time` datetime NOT NULL COMMENT '过期时间', - `revoked` char(1) NOT NULL DEFAULT '0' COMMENT '是否已撤销(0正常 1撤销)', - `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_time` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - PRIMARY KEY (`id`), - UNIQUE KEY `uk_token` (`token`), - KEY `idx_account_id` (`account_id`), - KEY `idx_device_id` (`device_id`), - KEY `idx_expire_time` (`expire_time`) -) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='刷新令牌表'; \ No newline at end of file diff --git a/sql/user_device_session.sql b/sql/user_device_session.sql deleted file mode 100644 index 65f6d88..0000000 --- a/sql/user_device_session.sql +++ /dev/null @@ -1,50 +0,0 @@ --- 用户设备会话管理表 -CREATE TABLE `user_device_session` ( - `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID', - `username` varchar(50) NOT NULL COMMENT '用户名', - `device_id` varchar(100) NOT NULL COMMENT '设备ID(基于主板序列号生成)', - `device_name` varchar(100) DEFAULT NULL COMMENT '设备名称', - `device_type` varchar(50) DEFAULT 'PC' COMMENT '设备类型', - `os_name` varchar(50) DEFAULT NULL COMMENT '操作系统', - `os_version` varchar(50) DEFAULT NULL COMMENT '系统版本', - `ip_address` varchar(50) DEFAULT NULL COMMENT 'IP地址', - `hostname` varchar(100) DEFAULT NULL COMMENT '主机名', - `first_login_time` datetime DEFAULT NULL COMMENT '首次登录时间', - `last_active_time` datetime DEFAULT NULL COMMENT '最后活跃时间', - `online_status` char(1) DEFAULT '0' COMMENT '在线状态(0离线 1在线)', - `login_count` bigint(20) DEFAULT 1 COMMENT '登录次数', - `token_hash` varchar(64) DEFAULT NULL COMMENT 'JWT令牌哈希(用于识别)', - `status` char(1) DEFAULT '0' COMMENT '设备状态(0正常 1已踢出 2已禁用)', - `expire_time` datetime DEFAULT NULL COMMENT '过期时间', - `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', - PRIMARY KEY (`id`), - UNIQUE KEY `uk_username_device` (`username`, `device_id`), - KEY `idx_username` (`username`), - KEY `idx_device_id` (`device_id`), - KEY `idx_token_hash` (`token_hash`), - KEY `idx_online_status` (`online_status`), - KEY `idx_last_active_time` (`last_active_time`) -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户设备会话管理表'; - --- 插入测试数据 -INSERT INTO `user_device_session` (`username`, `device_id`, `device_name`, `device_type`, `os_name`, `os_version`, `ip_address`, `hostname`, `first_login_time`, `last_active_time`, `online_status`, `login_count`, `status`) VALUES -('admin', 'DEVICE-ABC123DEF456', 'Windows 工作站', 'PC', 'Windows 11', '10.0.22000', '192.168.1.100', 'DESKTOP-ADMIN', NOW(), NOW(), '1', 1, '0'), -('admin', 'DEVICE-XYZ789GHI012', 'MacBook Pro', 'PC', 'Windows 10', '10.0.19045', '192.168.1.101', 'LAPTOP-ADMIN', DATE_SUB(NOW(), INTERVAL 2 DAY), DATE_SUB(NOW(), INTERVAL 1 DAY), '0', 5, '0'), -('testuser', 'DEVICE-QWE456RTY789', 'Ubuntu 桌面', 'PC', 'Windows 11', '10.0.22000', '192.168.1.102', 'UBUNTU-TEST', DATE_SUB(NOW(), INTERVAL 1 HOUR), DATE_SUB(NOW(), INTERVAL 30 MINUTE), '1', 3, '0'); - --- 创建定时清理过期设备的事件(可选) --- DELIMITER $$ --- CREATE EVENT IF NOT EXISTS `clean_expired_devices` --- ON SCHEDULE EVERY 1 DAY --- STARTS CURRENT_TIMESTAMP --- DO --- BEGIN --- DELETE FROM user_device_session --- WHERE (expire_time IS NOT NULL AND expire_time < NOW()) --- OR (online_status = '0' AND last_active_time < DATE_SUB(NOW(), INTERVAL 7 DAY)); --- END$$ --- DELIMITER ; - --- 设置事件调度器开启(如果使用事件) --- SET GLOBAL event_scheduler = ON; \ No newline at end of file