Commit ea34197dd730ce3acb23182edc12c3a2bbd2aa13

Authored by Lyon
1 parent bcb6a68b

SysUserSessionServiceImplTest 测试父类替换

SysUserSessionDO.java 表结构新增字段 username;
create_tables.sql 修改
ruoyi-vue-pro.sql 修改
移除超时的在线用户-
sql/ruoyi-vue-pro.sql
... ... @@ -37,9 +37,9 @@ CREATE TABLE `inf_api_access_log` (
37 37 `duration` int(11) NOT NULL COMMENT '执行时长',
38 38 `result_code` int(11) NOT NULL DEFAULT '0' COMMENT '结果码',
39 39 `result_msg` varchar(512) DEFAULT '' COMMENT '结果提示',
40   - `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  40 + `creator` varchar(64) DEFAULT '' COMMENT '创建者',
41 41 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
42   - `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  42 + `updater` varchar(64) DEFAULT '' COMMENT '更新者',
43 43 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
44 44 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
45 45 PRIMARY KEY (`id`) USING BTREE
... ... @@ -78,9 +78,9 @@ CREATE TABLE `inf_api_error_log` (
78 78 `process_status` tinyint(4) NOT NULL COMMENT '处理状态',
79 79 `process_time` datetime DEFAULT NULL COMMENT '处理时间',
80 80 `process_user_id` int(11) DEFAULT '0' COMMENT '处理用户编号',
81   - `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  81 + `creator` varchar(64) DEFAULT '' COMMENT '创建者',
82 82 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
83   - `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  83 + `updater` varchar(64) DEFAULT '' COMMENT '更新者',
84 84 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
85 85 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
86 86 PRIMARY KEY (`id`) USING BTREE
... ... @@ -105,9 +105,9 @@ CREATE TABLE `inf_config` (
105 105 `value` varchar(500) NOT NULL DEFAULT '' COMMENT '参数键值',
106 106 `sensitive` bit(1) NOT NULL COMMENT '是否敏感',
107 107 `remark` varchar(500) DEFAULT NULL COMMENT '备注',
108   - `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  108 + `creator` varchar(64) DEFAULT '' COMMENT '创建者',
109 109 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
110   - `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  110 + `updater` varchar(64) DEFAULT '' COMMENT '更新者',
111 111 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
112 112 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
113 113 PRIMARY KEY (`id`) USING BTREE
... ... @@ -138,9 +138,9 @@ CREATE TABLE `inf_job` (
138 138 `retry_count` int(11) NOT NULL DEFAULT '0' COMMENT '重试次数',
139 139 `retry_interval` int(11) NOT NULL DEFAULT '0' COMMENT '重试间隔',
140 140 `monitor_timeout` int(11) NOT NULL DEFAULT '0' COMMENT '监控超时时间',
141   - `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  141 + `creator` varchar(64) DEFAULT '' COMMENT '创建者',
142 142 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
143   - `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  143 + `updater` varchar(64) DEFAULT '' COMMENT '更新者',
144 144 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
145 145 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
146 146 PRIMARY KEY (`id`) USING BTREE
... ... @@ -169,9 +169,9 @@ CREATE TABLE `inf_job_log` (
169 169 `duration` int(11) DEFAULT NULL COMMENT '执行时长',
170 170 `status` tinyint(4) NOT NULL COMMENT '任务状态',
171 171 `result` varchar(4000) DEFAULT '' COMMENT '结果数据',
172   - `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  172 + `creator` varchar(64) DEFAULT '' COMMENT '创建者',
173 173 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
174   - `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  174 + `updater` varchar(64) DEFAULT '' COMMENT '更新者',
175 175 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
176 176 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
177 177 PRIMARY KEY (`id`) USING BTREE
... ... @@ -196,9 +196,9 @@ CREATE TABLE `sys_dept` (
196 196 `phone` varchar(11) DEFAULT NULL COMMENT '联系电话',
197 197 `email` varchar(50) DEFAULT NULL COMMENT '邮箱',
198 198 `status` tinyint(4) NOT NULL COMMENT '部门状态(0正常 1停用)',
199   - `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  199 + `creator` varchar(64) DEFAULT '' COMMENT '创建者',
200 200 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
201   - `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  201 + `updater` varchar(64) DEFAULT '' COMMENT '更新者',
202 202 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
203 203 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
204 204 PRIMARY KEY (`id`) USING BTREE
... ... @@ -232,9 +232,9 @@ CREATE TABLE `sys_dict_data` (
232 232 `dict_type` varchar(100) NOT NULL DEFAULT '' COMMENT '字典类型',
233 233 `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '状态(0正常 1停用)',
234 234 `remark` varchar(500) DEFAULT NULL COMMENT '备注',
235   - `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  235 + `creator` varchar(64) DEFAULT '' COMMENT '创建者',
236 236 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
237   - `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  237 + `updater` varchar(64) DEFAULT '' COMMENT '更新者',
238 238 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
239 239 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
240 240 PRIMARY KEY (`id`) USING BTREE
... ... @@ -310,9 +310,9 @@ CREATE TABLE `sys_dict_type` (
310 310 `type` varchar(100) NOT NULL DEFAULT '' COMMENT '字典类型',
311 311 `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '状态(0正常 1停用)',
312 312 `remark` varchar(500) DEFAULT NULL COMMENT '备注',
313   - `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  313 + `creator` varchar(64) DEFAULT '' COMMENT '创建者',
314 314 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
315   - `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  315 + `updater` varchar(64) DEFAULT '' COMMENT '更新者',
316 316 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
317 317 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
318 318 PRIMARY KEY (`id`) USING BTREE,
... ... @@ -349,9 +349,9 @@ DROP TABLE IF EXISTS `sys_file`;
349 349 CREATE TABLE `sys_file` (
350 350 `id` varchar(188) NOT NULL COMMENT '文件路径',
351 351 `content` blob NOT NULL COMMENT '文件内容',
352   - `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  352 + `creator` varchar(64) DEFAULT '' COMMENT '创建者',
353 353 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
354   - `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  354 + `updater` varchar(64) DEFAULT '' COMMENT '更新者',
355 355 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
356 356 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
357 357 PRIMARY KEY (`id`) USING BTREE
... ... @@ -376,9 +376,9 @@ CREATE TABLE `sys_login_log` (
376 376 `result` tinyint(4) NOT NULL COMMENT '登陆结果',
377 377 `user_ip` varchar(50) NOT NULL COMMENT '用户 IP',
378 378 `user_agent` varchar(512) NOT NULL COMMENT '浏览器 UA',
379   - `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  379 + `creator` varchar(64) DEFAULT '' COMMENT '创建者',
380 380 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
381   - `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  381 + `updater` varchar(64) DEFAULT '' COMMENT '更新者',
382 382 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
383 383 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
384 384 PRIMARY KEY (`id`) USING BTREE
... ... @@ -405,9 +405,9 @@ CREATE TABLE `sys_menu` (
405 405 `icon` varchar(100) DEFAULT '#' COMMENT '菜单图标',
406 406 `component` varchar(255) DEFAULT NULL COMMENT '组件路径',
407 407 `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '菜单状态(0正常 1停用)',
408   - `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  408 + `creator` varchar(64) DEFAULT '' COMMENT '创建者',
409 409 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
410   - `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  410 + `updater` varchar(64) DEFAULT '' COMMENT '更新者',
411 411 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
412 412 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
413 413 PRIMARY KEY (`id`) USING BTREE
... ... @@ -532,9 +532,9 @@ CREATE TABLE `sys_notice` (
532 532 `content` text NOT NULL COMMENT '公告内容',
533 533 `notice_type` tinyint(4) NOT NULL COMMENT '公告类型(1通知 2公告)',
534 534 `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '公告状态(0正常 1关闭)',
535   - `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  535 + `creator` varchar(64) DEFAULT '' COMMENT '创建者',
536 536 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
537   - `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  537 + `updater` varchar(64) DEFAULT '' COMMENT '更新者',
538 538 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
539 539 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
540 540 PRIMARY KEY (`id`) USING BTREE
... ... @@ -573,9 +573,9 @@ CREATE TABLE `sys_operate_log` (
573 573 `result_code` int(11) NOT NULL DEFAULT '0' COMMENT '结果码',
574 574 `result_msg` varchar(512) DEFAULT '' COMMENT '结果提示',
575 575 `result_data` varchar(4000) DEFAULT '' COMMENT '结果数据',
576   - `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  576 + `creator` varchar(64) DEFAULT '' COMMENT '创建者',
577 577 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
578   - `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  578 + `updater` varchar(64) DEFAULT '' COMMENT '更新者',
579 579 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
580 580 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
581 581 PRIMARY KEY (`id`) USING BTREE
... ... @@ -598,9 +598,9 @@ CREATE TABLE `sys_post` (
598 598 `sort` int(4) NOT NULL COMMENT '显示顺序',
599 599 `status` tinyint(4) NOT NULL COMMENT '状态(0正常 1停用)',
600 600 `remark` varchar(500) DEFAULT NULL COMMENT '备注',
601   - `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  601 + `creator` varchar(64) DEFAULT '' COMMENT '创建者',
602 602 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
603   - `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  603 + `updater` varchar(64) DEFAULT '' COMMENT '更新者',
604 604 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
605 605 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
606 606 PRIMARY KEY (`id`) USING BTREE
... ... @@ -631,9 +631,9 @@ CREATE TABLE `sys_role` (
631 631 `status` tinyint(4) NOT NULL COMMENT '角色状态(0正常 1停用)',
632 632 `type` tinyint(4) NOT NULL COMMENT '角色类型',
633 633 `remark` varchar(500) DEFAULT NULL COMMENT '备注',
634   - `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  634 + `creator` varchar(64) DEFAULT '' COMMENT '创建者',
635 635 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
636   - `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  636 + `updater` varchar(64) DEFAULT '' COMMENT '更新者',
637 637 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
638 638 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
639 639 PRIMARY KEY (`id`) USING BTREE
... ... @@ -656,9 +656,9 @@ CREATE TABLE `sys_role_menu` (
656 656 `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增编号',
657 657 `role_id` bigint(20) NOT NULL COMMENT '角色ID',
658 658 `menu_id` bigint(20) NOT NULL COMMENT '菜单ID',
659   - `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  659 + `creator` varchar(64) DEFAULT '' COMMENT '创建者',
660 660 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
661   - `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  661 + `updater` varchar(64) DEFAULT '' COMMENT '更新者',
662 662 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
663 663 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
664 664 PRIMARY KEY (`id`) USING BTREE
... ... @@ -843,9 +843,9 @@ CREATE TABLE `sys_user` (
843 843 `status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '帐号状态(0正常 1停用)',
844 844 `login_ip` varchar(50) DEFAULT '' COMMENT '最后登录IP',
845 845 `login_date` datetime DEFAULT NULL COMMENT '最后登录时间',
846   - `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  846 + `creator` varchar(64) DEFAULT '' COMMENT '创建者',
847 847 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
848   - `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  848 + `updater` varchar(64) DEFAULT '' COMMENT '更新者',
849 849 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
850 850 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
851 851 PRIMARY KEY (`id`) USING BTREE
... ... @@ -870,9 +870,9 @@ CREATE TABLE `sys_user_role` (
870 870 `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增编号',
871 871 `user_id` bigint(20) NOT NULL COMMENT '用户ID',
872 872 `role_id` bigint(20) NOT NULL COMMENT '角色ID',
873   - `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  873 + `creator` varchar(64) DEFAULT '' COMMENT '创建者',
874 874 `create_time` datetime DEFAULT NULL COMMENT '创建时间',
875   - `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  875 + `updater` varchar(64) DEFAULT '' COMMENT '更新者',
876 876 `update_time` datetime DEFAULT NULL COMMENT '更新时间',
877 877 `deleted` bit(1) DEFAULT b'0' COMMENT '是否删除',
878 878 PRIMARY KEY (`id`) USING BTREE
... ... @@ -898,12 +898,13 @@ DROP TABLE IF EXISTS `sys_user_session`;
898 898 CREATE TABLE `sys_user_session` (
899 899 `id` varchar(32) NOT NULL COMMENT '会话编号',
900 900 `user_id` bigint(20) NOT NULL COMMENT '用户编号',
  901 + `username` varchar(50) NOT NULL DEFAULT '' COMMENT '用户账号',
901 902 `user_ip` varchar(50) NOT NULL COMMENT '用户 IP',
902 903 `user_agent` varchar(512) NOT NULL COMMENT '浏览器 UA',
903 904 `session_timeout` datetime NOT NULL COMMENT '会话超时时间',
904   - `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  905 + `creator` varchar(64) DEFAULT '' COMMENT '创建者',
905 906 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
906   - `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  907 + `updater` varchar(64) DEFAULT '' COMMENT '更新者',
907 908 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
908 909 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
909 910 PRIMARY KEY (`id`) USING BTREE
... ... @@ -913,69 +914,69 @@ CREATE TABLE `sys_user_session` (
913 914 -- Records of sys_user_session
914 915 -- ----------------------------
915 916 BEGIN;
916   -INSERT INTO `sys_user_session` VALUES ('015797486c564c01b128cb2662bfa1f9', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-08 03:20:22', '', '2021-02-08 03:20:22', '', '2021-03-07 14:58:55', b'0');
917   -INSERT INTO `sys_user_session` VALUES ('019f009268e24cc1957c46763eef1fd4', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-14 20:04:33', '', '2021-02-07 08:36:48', '', '2021-03-07 14:58:55', b'0');
918   -INSERT INTO `sys_user_session` VALUES ('037f130370a744a4b1db19aef205b8ae', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-08 20:38:37', '', '2021-02-08 20:38:37', '', '2021-03-07 14:58:55', b'0');
919   -INSERT INTO `sys_user_session` VALUES ('04d51ff81ad54d05ab2f29e66b2a02f2', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-11 00:58:19', '', '2021-02-05 17:46:10', '', '2021-03-07 14:58:55', b'0');
920   -INSERT INTO `sys_user_session` VALUES ('055057e3356b4c249d56a6627ca057a7', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-03-05 01:25:51', '', '2021-03-04 16:54:24', '', '2021-03-07 14:58:55', b'0');
921   -INSERT INTO `sys_user_session` VALUES ('05965209307f4e7a945aadc6842af77e', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36', '2021-03-07 15:09:55', '', '2021-03-07 14:39:54', '', '2021-03-07 14:39:54', b'0');
922   -INSERT INTO `sys_user_session` VALUES ('064ba2d647704f57bdf36a1803a724d7', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-27 12:04:09', '', '2021-02-26 02:17:35', '', '2021-03-07 14:58:55', b'0');
923   -INSERT INTO `sys_user_session` VALUES ('0df60899301d4080bd4164f24bccf18b', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-14 22:57:44', '', '2021-02-07 13:05:42', '', '2021-03-07 14:58:55', b'0');
924   -INSERT INTO `sys_user_session` VALUES ('1127b5eb9b0c4f9fa382d4d98a8a4a38', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-10 11:10:31', '', '2021-02-05 06:49:00', '', '2021-03-07 14:58:55', b'0');
925   -INSERT INTO `sys_user_session` VALUES ('11aa2d7861d445349790804fa8676754', 1, '127.0.0.1', 'Mozilla/5.0 (Linux; Android 10; PCT-AL10 Build/HUAWEIPCT-AL10; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045513 Mobile Safari/537.36 MMWEBID/2883 MicroMessenger/8.0.1.1841(0x28000159) Process/tools WeChat/arm64 Weixin NetType/4G Language/zh_CN ABI/arm64', '2021-02-09 00:06:03', '', '2021-02-09 00:06:03', '', '2021-03-07 14:58:55', b'0');
926   -INSERT INTO `sys_user_session` VALUES ('135db2c6d88a4f41aaf4df46f3a3e0ea', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-03-06 01:44:25', '', '2021-03-06 01:44:25', '', '2021-03-07 14:58:55', b'0');
927   -INSERT INTO `sys_user_session` VALUES ('1bcac32d34b94422893f10718f643320', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-09 12:14:10', '', '2021-02-09 12:14:10', '', '2021-03-07 14:58:55', b'0');
928   -INSERT INTO `sys_user_session` VALUES ('20109910c52e4b02bbc0531212bff8cb', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-06 02:39:48', '', '2021-02-06 02:39:48', '', '2021-03-07 14:58:55', b'0');
929   -INSERT INTO `sys_user_session` VALUES ('2024509755b3444690c2a1dddaebd812', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-05 06:22:30', '', '2021-02-05 06:22:30', '', '2021-03-07 14:58:55', b'0');
930   -INSERT INTO `sys_user_session` VALUES ('260facb728964db7a3df8461b4eebe86', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-08 23:10:08', '', '2021-02-08 23:10:08', '', '2021-03-07 14:58:55', b'0');
931   -INSERT INTO `sys_user_session` VALUES ('27858c1f13c64a2a8889063932419885', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-20 16:11:21', '', '2021-02-08 18:27:13', '', '2021-03-07 14:58:55', b'0');
932   -INSERT INTO `sys_user_session` VALUES ('27d6db8abb3b4ed88d446ad489b9db23', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-14 10:57:34', '', '2021-02-07 06:38:34', '', '2021-03-07 14:58:55', b'0');
933   -INSERT INTO `sys_user_session` VALUES ('27dbe0b1051b41eb9efe6558af7cd681', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-03-06 19:10:23', '', '2021-03-06 00:51:14', '', '2021-03-07 14:58:55', b'0');
934   -INSERT INTO `sys_user_session` VALUES ('285af833677642448bbd19c40a279825', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-18 20:23:05', '', '2021-02-08 04:17:09', '', '2021-03-07 14:58:55', b'0');
935   -INSERT INTO `sys_user_session` VALUES ('31e5ff8584794ca58460ecf68a177c3f', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-12 20:56:44', '', '2021-02-06 11:48:57', '', '2021-03-07 14:58:55', b'0');
936   -INSERT INTO `sys_user_session` VALUES ('39cdef31685d4e93931a053d88ff0279', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-05 08:09:33', '', '2021-02-05 08:09:33', '', '2021-03-07 14:58:55', b'0');
937   -INSERT INTO `sys_user_session` VALUES ('3e111c66356d47da8ffc2755bfa3db52', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-09 14:00:25', '', '2021-02-09 14:00:25', '', '2021-03-07 14:58:55', b'0');
938   -INSERT INTO `sys_user_session` VALUES ('3f308ac8ff26481e829261dd14babbbb', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-17 22:01:24', '', '2021-02-08 01:33:07', '', '2021-03-07 14:58:55', b'0');
939   -INSERT INTO `sys_user_session` VALUES ('452d44e0616c4dca93485ce67ac946df', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-03-06 21:59:07', '', '2021-03-06 03:41:56', '', '2021-03-07 14:58:55', b'0');
940   -INSERT INTO `sys_user_session` VALUES ('50274d6c400f42f7bd5391a12858e262', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-26 11:45:04', '', '2021-02-26 11:45:04', '', '2021-03-07 14:58:55', b'0');
941   -INSERT INTO `sys_user_session` VALUES ('5636ae58b9644ea1b4ed934b025b76ea', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-09 18:40:06', '', '2021-02-05 04:24:59', '', '2021-03-07 14:58:55', b'0');
942   -INSERT INTO `sys_user_session` VALUES ('5891c4873bf746989a132929449d5f2b', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-03-06 20:55:38', '', '2021-03-06 01:55:18', '', '2021-03-07 14:58:55', b'0');
943   -INSERT INTO `sys_user_session` VALUES ('597956fbc5b34363981530b24e1b5327', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-12 20:36:16', '', '2021-02-06 13:47:15', '', '2021-03-07 14:58:55', b'0');
944   -INSERT INTO `sys_user_session` VALUES ('599102a1e8414ab59eddaf5492f98dad', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-27 21:25:52', '', '2021-02-26 06:40:37', '', '2021-03-07 14:58:55', b'0');
945   -INSERT INTO `sys_user_session` VALUES ('5a9b736ccaa8452394c57ac82bd0815e', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-10 16:52:48', '', '2021-02-05 10:57:52', '', '2021-03-07 14:58:55', b'0');
946   -INSERT INTO `sys_user_session` VALUES ('5aaeaa5c89434c6bbfa6c5af55097093', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-27 10:34:25', '', '2021-02-26 01:28:32', '', '2021-03-07 14:58:55', b'0');
947   -INSERT INTO `sys_user_session` VALUES ('5b6787e6cbfa4c7faba0dc825fc02816', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-20 14:49:27', '', '2021-02-08 17:25:20', '', '2021-03-07 14:58:55', b'0');
948   -INSERT INTO `sys_user_session` VALUES ('604ac07123a445ee8a81e58db1d6d695', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-05 16:33:53', '', '2021-02-05 16:33:53', '', '2021-03-07 14:58:55', b'0');
949   -INSERT INTO `sys_user_session` VALUES ('648563ff4a7f454dac0385cca0581fb3', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-19 09:55:44', '', '2021-02-08 09:34:50', '', '2021-03-07 14:58:55', b'0');
950   -INSERT INTO `sys_user_session` VALUES ('64fd3d0a54754b8fa13b62d2f261b1e2', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-09 16:05:22', '', '2021-02-05 01:36:09', '', '2021-03-07 14:58:55', b'0');
951   -INSERT INTO `sys_user_session` VALUES ('661be9d3983e4e2eb8b346c1329015f5', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-13 12:02:29', '', '2021-02-06 19:46:45', '', '2021-03-07 14:58:55', b'0');
952   -INSERT INTO `sys_user_session` VALUES ('6acbf1f210ff4c6594acb3505f0c3738', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-14 22:37:22', '', '2021-02-07 12:16:36', '', '2021-03-07 14:58:55', b'0');
953   -INSERT INTO `sys_user_session` VALUES ('6e7e89c4948f45658eb74878457ac611', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-23 01:54:44', '', '2021-02-09 21:29:20', '', '2021-03-07 14:58:55', b'0');
954   -INSERT INTO `sys_user_session` VALUES ('73c66b705ed94e18bc53df61abc2d102', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-06 15:00:55', '', '2021-02-06 15:00:55', '', '2021-03-07 14:58:55', b'0');
955   -INSERT INTO `sys_user_session` VALUES ('73cc914671034f3190f09f520d1b39e9', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-01-26 08:29:50', '', '2021-01-26 08:29:27', '', '2021-03-07 14:58:55', b'1');
956   -INSERT INTO `sys_user_session` VALUES ('7b008d71139f48a4903aeaab0bbbef2e', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-03-06 04:38:15', '', '2021-03-06 04:38:15', '', '2021-03-07 14:58:55', b'0');
957   -INSERT INTO `sys_user_session` VALUES ('7cbd0fdfb9304f298abb9ee2f58f7230', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-08 20:02:24', '', '2021-02-08 20:02:24', '', '2021-03-07 14:58:55', b'0');
958   -INSERT INTO `sys_user_session` VALUES ('830a1687977b44969025177ad3b6d051', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-10 01:56:00', '', '2021-02-10 01:56:00', '', '2021-03-07 14:58:55', b'0');
959   -INSERT INTO `sys_user_session` VALUES ('8331dbbca7be4348a3d2d02bf559b65e', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-10 19:06:26', '', '2021-02-05 13:29:04', '', '2021-03-07 14:58:55', b'0');
960   -INSERT INTO `sys_user_session` VALUES ('897714de63634dba9ac235247f9860c2', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-03-06 06:27:27', '', '2021-03-06 06:27:27', '', '2021-03-07 14:58:55', b'0');
961   -INSERT INTO `sys_user_session` VALUES ('8d7668c1276344ecbffaf7e4420595d7', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-19 19:17:42', '', '2021-02-08 09:56:09', '', '2021-03-07 14:58:55', b'0');
962   -INSERT INTO `sys_user_session` VALUES ('9a3a5b8dee1841b69d70454ce23a53a3', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-27 01:27:20', '', '2021-02-26 00:09:49', '', '2021-03-07 14:58:55', b'0');
963   -INSERT INTO `sys_user_session` VALUES ('9cc71dc2d7a24b978db1bfe0e4bae349', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-01-26 08:30:01', '', '2021-01-26 08:30:01', '', '2021-03-07 14:58:55', b'0');
964   -INSERT INTO `sys_user_session` VALUES ('9e47f4bfee5e444194530de88900e259', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-23 01:54:51', '', '2021-02-09 20:25:02', '', '2021-03-07 14:58:55', b'0');
965   -INSERT INTO `sys_user_session` VALUES ('a07756b7a4b24117b0bd14ec2c68b516', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-27 23:12:38', '', '2021-02-26 07:47:21', '', '2021-03-07 14:58:55', b'0');
966   -INSERT INTO `sys_user_session` VALUES ('a1d01dbed7ff4b6392c3f27c18ce8778', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-14 12:13:56', '', '2021-02-07 07:36:14', '', '2021-03-07 14:58:55', b'0');
967   -INSERT INTO `sys_user_session` VALUES ('a63c2208dd824440999bee9abc22ea7a', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-25 20:45:24', '', '2021-02-25 20:45:24', '', '2021-03-07 14:58:55', b'0');
968   -INSERT INTO `sys_user_session` VALUES ('a7c495d00e2e4543ba943b4edb8c8176', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-27 12:50:23', '', '2021-02-26 03:44:46', '', '2021-03-07 14:58:55', b'0');
969   -INSERT INTO `sys_user_session` VALUES ('a93edff183c447719ecb627d40ca22a6', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-05 20:28:51', '', '2021-02-05 20:28:51', '', '2021-03-07 14:58:55', b'0');
970   -INSERT INTO `sys_user_session` VALUES ('aa22b7a5754b440e957ec47b832c9fd6', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-06 21:22:31', '', '2021-02-06 21:22:31', '', '2021-03-07 14:58:55', b'0');
971   -INSERT INTO `sys_user_session` VALUES ('b3881aa0b09b4bcdaf9e5ce5f2bbf15a', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-09 20:18:33', '', '2021-02-09 20:18:33', '', '2021-03-07 14:58:55', b'0');
972   -INSERT INTO `sys_user_session` VALUES ('bafb6445d05a4ee1bd9cdcf2ee83aea9', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-09 13:57:15', '', '2021-02-09 13:57:15', '', '2021-03-07 14:58:55', b'0');
973   -INSERT INTO `sys_user_session` VALUES ('c1ede4001ac945f8844b3c7abdc86119', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-08 03:05:18', '', '2021-02-08 03:05:18', '', '2021-03-07 14:58:55', b'0');
974   -INSERT INTO `sys_user_session` VALUES ('c527dcd973454664a75bbf5dbeae834a', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-22 20:33:03', '', '2021-02-09 17:06:03', '', '2021-03-07 14:58:55', b'0');
975   -INSERT INTO `sys_user_session` VALUES ('df87c2afa8de4559a091292434df9fd8', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-23 00:25:16', '', '2021-02-09 20:05:45', '', '2021-03-07 14:58:55', b'0');
976   -INSERT INTO `sys_user_session` VALUES ('e3ad1ef8b9aa4b329855b29c7b372e8f', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-05 06:21:44', '', '2021-02-05 06:21:44', '', '2021-03-07 14:58:55', b'0');
977   -INSERT INTO `sys_user_session` VALUES ('ea0d48776db84da4ac0f4c2adf62c366', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-08 07:02:03', '', '2021-02-08 07:02:03', '', '2021-03-07 14:58:55', b'0');
978   -INSERT INTO `sys_user_session` VALUES ('f881f7dc67d04cd29574657fdde32a62', 1, '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-05 08:53:20', '', '2021-02-05 08:53:20', '', '2021-03-07 14:58:55', b'0');
  917 +INSERT INTO `sys_user_session` VALUES ('015797486c564c01b128cb2662bfa1f9', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-08 03:20:22', '', '2021-02-08 03:20:22', '', '2021-03-09 15:12:47', b'0');
  918 +INSERT INTO `sys_user_session` VALUES ('019f009268e24cc1957c46763eef1fd4', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-14 20:04:33', '', '2021-02-07 08:36:48', '', '2021-03-09 15:12:47', b'0');
  919 +INSERT INTO `sys_user_session` VALUES ('037f130370a744a4b1db19aef205b8ae', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-08 20:38:37', '', '2021-02-08 20:38:37', '', '2021-03-09 15:12:47', b'0');
  920 +INSERT INTO `sys_user_session` VALUES ('04d51ff81ad54d05ab2f29e66b2a02f2', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-11 00:58:19', '', '2021-02-05 17:46:10', '', '2021-03-09 15:12:47', b'0');
  921 +INSERT INTO `sys_user_session` VALUES ('055057e3356b4c249d56a6627ca057a7', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-03-05 01:25:51', '', '2021-03-04 16:54:24', '', '2021-03-09 15:12:47', b'0');
  922 +INSERT INTO `sys_user_session` VALUES ('05965209307f4e7a945aadc6842af77e', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36', '2021-03-07 15:09:55', '', '2021-03-07 14:39:54', '', '2021-03-09 15:12:47', b'0');
  923 +INSERT INTO `sys_user_session` VALUES ('064ba2d647704f57bdf36a1803a724d7', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-27 12:04:09', '', '2021-02-26 02:17:35', '', '2021-03-09 15:12:47', b'0');
  924 +INSERT INTO `sys_user_session` VALUES ('0df60899301d4080bd4164f24bccf18b', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-14 22:57:44', '', '2021-02-07 13:05:42', '', '2021-03-09 15:12:47', b'0');
  925 +INSERT INTO `sys_user_session` VALUES ('1127b5eb9b0c4f9fa382d4d98a8a4a38', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-10 11:10:31', '', '2021-02-05 06:49:00', '', '2021-03-09 15:12:47', b'0');
  926 +INSERT INTO `sys_user_session` VALUES ('11aa2d7861d445349790804fa8676754', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Linux; Android 10; PCT-AL10 Build/HUAWEIPCT-AL10; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045513 Mobile Safari/537.36 MMWEBID/2883 MicroMessenger/8.0.1.1841(0x28000159) Process/tools WeChat/arm64 Weixin NetType/4G Language/zh_CN ABI/arm64', '2021-02-09 00:06:03', '', '2021-02-09 00:06:03', '', '2021-03-09 15:12:47', b'0');
  927 +INSERT INTO `sys_user_session` VALUES ('135db2c6d88a4f41aaf4df46f3a3e0ea', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-03-06 01:44:25', '', '2021-03-06 01:44:25', '', '2021-03-09 15:12:47', b'0');
  928 +INSERT INTO `sys_user_session` VALUES ('1bcac32d34b94422893f10718f643320', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-09 12:14:10', '', '2021-02-09 12:14:10', '', '2021-03-09 15:12:47', b'0');
  929 +INSERT INTO `sys_user_session` VALUES ('20109910c52e4b02bbc0531212bff8cb', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-06 02:39:48', '', '2021-02-06 02:39:48', '', '2021-03-09 15:12:47', b'0');
  930 +INSERT INTO `sys_user_session` VALUES ('2024509755b3444690c2a1dddaebd812', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-05 06:22:30', '', '2021-02-05 06:22:30', '', '2021-03-09 15:12:47', b'0');
  931 +INSERT INTO `sys_user_session` VALUES ('260facb728964db7a3df8461b4eebe86', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-08 23:10:08', '', '2021-02-08 23:10:08', '', '2021-03-09 15:12:47', b'0');
  932 +INSERT INTO `sys_user_session` VALUES ('27858c1f13c64a2a8889063932419885', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-20 16:11:21', '', '2021-02-08 18:27:13', '', '2021-03-09 15:12:47', b'0');
  933 +INSERT INTO `sys_user_session` VALUES ('27d6db8abb3b4ed88d446ad489b9db23', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-14 10:57:34', '', '2021-02-07 06:38:34', '', '2021-03-09 15:12:47', b'0');
  934 +INSERT INTO `sys_user_session` VALUES ('27dbe0b1051b41eb9efe6558af7cd681', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-03-06 19:10:23', '', '2021-03-06 00:51:14', '', '2021-03-09 15:12:47', b'0');
  935 +INSERT INTO `sys_user_session` VALUES ('285af833677642448bbd19c40a279825', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-18 20:23:05', '', '2021-02-08 04:17:09', '', '2021-03-09 15:12:47', b'0');
  936 +INSERT INTO `sys_user_session` VALUES ('31e5ff8584794ca58460ecf68a177c3f', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-12 20:56:44', '', '2021-02-06 11:48:57', '', '2021-03-09 15:12:47', b'0');
  937 +INSERT INTO `sys_user_session` VALUES ('39cdef31685d4e93931a053d88ff0279', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-05 08:09:33', '', '2021-02-05 08:09:33', '', '2021-03-09 15:12:47', b'0');
  938 +INSERT INTO `sys_user_session` VALUES ('3e111c66356d47da8ffc2755bfa3db52', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-09 14:00:25', '', '2021-02-09 14:00:25', '', '2021-03-09 15:12:47', b'0');
  939 +INSERT INTO `sys_user_session` VALUES ('3f308ac8ff26481e829261dd14babbbb', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-17 22:01:24', '', '2021-02-08 01:33:07', '', '2021-03-09 15:12:47', b'0');
  940 +INSERT INTO `sys_user_session` VALUES ('452d44e0616c4dca93485ce67ac946df', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-03-06 21:59:07', '', '2021-03-06 03:41:56', '', '2021-03-09 15:12:47', b'0');
  941 +INSERT INTO `sys_user_session` VALUES ('50274d6c400f42f7bd5391a12858e262', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-26 11:45:04', '', '2021-02-26 11:45:04', '', '2021-03-09 15:12:47', b'0');
  942 +INSERT INTO `sys_user_session` VALUES ('5636ae58b9644ea1b4ed934b025b76ea', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-09 18:40:06', '', '2021-02-05 04:24:59', '', '2021-03-09 15:12:47', b'0');
  943 +INSERT INTO `sys_user_session` VALUES ('5891c4873bf746989a132929449d5f2b', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-03-06 20:55:38', '', '2021-03-06 01:55:18', '', '2021-03-09 15:12:47', b'0');
  944 +INSERT INTO `sys_user_session` VALUES ('597956fbc5b34363981530b24e1b5327', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-12 20:36:16', '', '2021-02-06 13:47:15', '', '2021-03-09 15:12:47', b'0');
  945 +INSERT INTO `sys_user_session` VALUES ('599102a1e8414ab59eddaf5492f98dad', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-27 21:25:52', '', '2021-02-26 06:40:37', '', '2021-03-09 15:12:47', b'0');
  946 +INSERT INTO `sys_user_session` VALUES ('5a9b736ccaa8452394c57ac82bd0815e', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-10 16:52:48', '', '2021-02-05 10:57:52', '', '2021-03-09 15:12:47', b'0');
  947 +INSERT INTO `sys_user_session` VALUES ('5aaeaa5c89434c6bbfa6c5af55097093', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-27 10:34:25', '', '2021-02-26 01:28:32', '', '2021-03-09 15:12:47', b'0');
  948 +INSERT INTO `sys_user_session` VALUES ('5b6787e6cbfa4c7faba0dc825fc02816', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-20 14:49:27', '', '2021-02-08 17:25:20', '', '2021-03-09 15:12:47', b'0');
  949 +INSERT INTO `sys_user_session` VALUES ('604ac07123a445ee8a81e58db1d6d695', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-05 16:33:53', '', '2021-02-05 16:33:53', '', '2021-03-09 15:12:47', b'0');
  950 +INSERT INTO `sys_user_session` VALUES ('648563ff4a7f454dac0385cca0581fb3', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-19 09:55:44', '', '2021-02-08 09:34:50', '', '2021-03-09 15:12:47', b'0');
  951 +INSERT INTO `sys_user_session` VALUES ('64fd3d0a54754b8fa13b62d2f261b1e2', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-09 16:05:22', '', '2021-02-05 01:36:09', '', '2021-03-09 15:12:47', b'0');
  952 +INSERT INTO `sys_user_session` VALUES ('661be9d3983e4e2eb8b346c1329015f5', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-13 12:02:29', '', '2021-02-06 19:46:45', '', '2021-03-09 15:12:47', b'0');
  953 +INSERT INTO `sys_user_session` VALUES ('6acbf1f210ff4c6594acb3505f0c3738', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-14 22:37:22', '', '2021-02-07 12:16:36', '', '2021-03-09 15:12:47', b'0');
  954 +INSERT INTO `sys_user_session` VALUES ('6e7e89c4948f45658eb74878457ac611', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-23 01:54:44', '', '2021-02-09 21:29:20', '', '2021-03-09 15:12:47', b'0');
  955 +INSERT INTO `sys_user_session` VALUES ('73c66b705ed94e18bc53df61abc2d102', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-06 15:00:55', '', '2021-02-06 15:00:55', '', '2021-03-09 15:12:47', b'0');
  956 +INSERT INTO `sys_user_session` VALUES ('73cc914671034f3190f09f520d1b39e9', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-01-26 08:29:50', '', '2021-01-26 08:29:27', '', '2021-03-09 15:12:47', b'1');
  957 +INSERT INTO `sys_user_session` VALUES ('7b008d71139f48a4903aeaab0bbbef2e', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-03-06 04:38:15', '', '2021-03-06 04:38:15', '', '2021-03-09 15:12:47', b'0');
  958 +INSERT INTO `sys_user_session` VALUES ('7cbd0fdfb9304f298abb9ee2f58f7230', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-08 20:02:24', '', '2021-02-08 20:02:24', '', '2021-03-09 15:12:47', b'0');
  959 +INSERT INTO `sys_user_session` VALUES ('830a1687977b44969025177ad3b6d051', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-10 01:56:00', '', '2021-02-10 01:56:00', '', '2021-03-09 15:12:47', b'0');
  960 +INSERT INTO `sys_user_session` VALUES ('8331dbbca7be4348a3d2d02bf559b65e', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-10 19:06:26', '', '2021-02-05 13:29:04', '', '2021-03-09 15:12:47', b'0');
  961 +INSERT INTO `sys_user_session` VALUES ('897714de63634dba9ac235247f9860c2', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-03-06 06:27:27', '', '2021-03-06 06:27:27', '', '2021-03-09 15:12:47', b'0');
  962 +INSERT INTO `sys_user_session` VALUES ('8d7668c1276344ecbffaf7e4420595d7', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-19 19:17:42', '', '2021-02-08 09:56:09', '', '2021-03-09 15:12:47', b'0');
  963 +INSERT INTO `sys_user_session` VALUES ('9a3a5b8dee1841b69d70454ce23a53a3', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-27 01:27:20', '', '2021-02-26 00:09:49', '', '2021-03-09 15:12:47', b'0');
  964 +INSERT INTO `sys_user_session` VALUES ('9cc71dc2d7a24b978db1bfe0e4bae349', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-01-26 08:30:01', '', '2021-01-26 08:30:01', '', '2021-03-09 15:12:47', b'0');
  965 +INSERT INTO `sys_user_session` VALUES ('9e47f4bfee5e444194530de88900e259', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-23 01:54:51', '', '2021-02-09 20:25:02', '', '2021-03-09 15:12:47', b'0');
  966 +INSERT INTO `sys_user_session` VALUES ('a07756b7a4b24117b0bd14ec2c68b516', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-27 23:12:38', '', '2021-02-26 07:47:21', '', '2021-03-09 15:12:47', b'0');
  967 +INSERT INTO `sys_user_session` VALUES ('a1d01dbed7ff4b6392c3f27c18ce8778', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-14 12:13:56', '', '2021-02-07 07:36:14', '', '2021-03-09 15:12:47', b'0');
  968 +INSERT INTO `sys_user_session` VALUES ('a63c2208dd824440999bee9abc22ea7a', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-25 20:45:24', '', '2021-02-25 20:45:24', '', '2021-03-09 15:12:47', b'0');
  969 +INSERT INTO `sys_user_session` VALUES ('a7c495d00e2e4543ba943b4edb8c8176', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-27 12:50:23', '', '2021-02-26 03:44:46', '', '2021-03-09 15:12:47', b'0');
  970 +INSERT INTO `sys_user_session` VALUES ('a93edff183c447719ecb627d40ca22a6', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-05 20:28:51', '', '2021-02-05 20:28:51', '', '2021-03-09 15:12:47', b'0');
  971 +INSERT INTO `sys_user_session` VALUES ('aa22b7a5754b440e957ec47b832c9fd6', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-06 21:22:31', '', '2021-02-06 21:22:31', '', '2021-03-09 15:12:47', b'0');
  972 +INSERT INTO `sys_user_session` VALUES ('b3881aa0b09b4bcdaf9e5ce5f2bbf15a', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-09 20:18:33', '', '2021-02-09 20:18:33', '', '2021-03-09 15:12:47', b'0');
  973 +INSERT INTO `sys_user_session` VALUES ('bafb6445d05a4ee1bd9cdcf2ee83aea9', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-09 13:57:15', '', '2021-02-09 13:57:15', '', '2021-03-09 15:12:47', b'0');
  974 +INSERT INTO `sys_user_session` VALUES ('c1ede4001ac945f8844b3c7abdc86119', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-08 03:05:18', '', '2021-02-08 03:05:18', '', '2021-03-09 15:12:47', b'0');
  975 +INSERT INTO `sys_user_session` VALUES ('c527dcd973454664a75bbf5dbeae834a', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-22 20:33:03', '', '2021-02-09 17:06:03', '', '2021-03-09 15:12:47', b'0');
  976 +INSERT INTO `sys_user_session` VALUES ('df87c2afa8de4559a091292434df9fd8', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-23 00:25:16', '', '2021-02-09 20:05:45', '', '2021-03-09 15:12:47', b'0');
  977 +INSERT INTO `sys_user_session` VALUES ('e3ad1ef8b9aa4b329855b29c7b372e8f', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-05 06:21:44', '', '2021-02-05 06:21:44', '', '2021-03-09 15:12:47', b'0');
  978 +INSERT INTO `sys_user_session` VALUES ('ea0d48776db84da4ac0f4c2adf62c366', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-08 07:02:03', '', '2021-02-08 07:02:03', '', '2021-03-09 15:12:47', b'0');
  979 +INSERT INTO `sys_user_session` VALUES ('f881f7dc67d04cd29574657fdde32a62', 1, 'admin', '127.0.0.1', 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36', '2021-02-05 08:53:20', '', '2021-02-05 08:53:20', '', '2021-03-09 15:12:47', b'0');
979 980 COMMIT;
980 981  
981 982 -- ----------------------------
... ... @@ -1002,9 +1003,9 @@ CREATE TABLE `tool_codegen_column` (
1002 1003 `list_operation_condition` varchar(32) NOT NULL DEFAULT '=' COMMENT 'List 查询操作的条件类型',
1003 1004 `list_operation_result` bit(1) NOT NULL COMMENT '是否为 List 查询操作的返回字段',
1004 1005 `html_type` varchar(32) NOT NULL COMMENT '显示类型',
1005   - `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  1006 + `creator` varchar(64) DEFAULT '' COMMENT '创建者',
1006 1007 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
1007   - `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  1008 + `updater` varchar(64) DEFAULT '' COMMENT '更新者',
1008 1009 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
1009 1010 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
1010 1011 PRIMARY KEY (`id`) USING BTREE
... ... @@ -1181,9 +1182,9 @@ CREATE TABLE `tool_codegen_table` (
1181 1182 `author` varchar(50) NOT NULL COMMENT '作者',
1182 1183 `template_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '模板类型',
1183 1184 `parent_menu_id` bigint(20) DEFAULT NULL COMMENT '父菜单编号',
1184   - `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  1185 + `creator` varchar(64) DEFAULT '' COMMENT '创建者',
1185 1186 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
1186   - `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  1187 + `updater` varchar(64) DEFAULT '' COMMENT '更新者',
1187 1188 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
1188 1189 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
1189 1190 PRIMARY KEY (`id`) USING BTREE
... ... @@ -1217,9 +1218,9 @@ CREATE TABLE `tool_test_demo` (
1217 1218 `type` tinyint(4) NOT NULL COMMENT '类型',
1218 1219 `category` tinyint(4) NOT NULL COMMENT '分类',
1219 1220 `remark` varchar(500) DEFAULT NULL COMMENT '备注',
1220   - `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
  1221 + `creator` varchar(64) DEFAULT '' COMMENT '创建者',
1221 1222 `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
1222   - `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
  1223 + `updater` varchar(64) DEFAULT '' COMMENT '更新者',
1223 1224 `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
1224 1225 `deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
1225 1226 PRIMARY KEY (`id`) USING BTREE
... ...
src/main/java/cn/iocoder/dashboard/modules/system/dal/dataobject/auth/SysUserSessionDO.java
... ... @@ -38,6 +38,14 @@ public class SysUserSessionDO extends BaseDO {
38 38 * 关联 {@link SysUserDO#getId()}
39 39 */
40 40 private Long userId;
  41 +
  42 + /**
  43 + * 用户账号
  44 + *
  45 + * 冗余,因为账号可以变更
  46 + */
  47 + private String username;
  48 +
41 49 /**
42 50 * 用户 IP
43 51 */
... ...
src/main/java/cn/iocoder/dashboard/modules/system/service/auth/impl/SysUserSessionServiceImpl.java
... ... @@ -6,21 +6,24 @@ import cn.hutool.core.util.StrUtil;
6 6 import cn.iocoder.dashboard.common.pojo.PageResult;
7 7 import cn.iocoder.dashboard.framework.security.config.SecurityProperties;
8 8 import cn.iocoder.dashboard.framework.security.core.LoginUser;
  9 +import cn.iocoder.dashboard.framework.tracer.core.util.TracerUtils;
9 10 import cn.iocoder.dashboard.modules.system.controller.auth.vo.session.SysUserSessionPageReqVO;
  11 +import cn.iocoder.dashboard.modules.system.controller.logger.vo.loginlog.SysLoginLogCreateReqVO;
10 12 import cn.iocoder.dashboard.modules.system.dal.dataobject.auth.SysUserSessionDO;
11 13 import cn.iocoder.dashboard.modules.system.dal.dataobject.user.SysUserDO;
12 14 import cn.iocoder.dashboard.modules.system.dal.mysql.auth.SysUserSessionMapper;
13 15 import cn.iocoder.dashboard.modules.system.dal.redis.auth.SysLoginUserRedisDAO;
  16 +import cn.iocoder.dashboard.modules.system.enums.logger.SysLoginLogTypeEnum;
  17 +import cn.iocoder.dashboard.modules.system.enums.logger.SysLoginResultEnum;
14 18 import cn.iocoder.dashboard.modules.system.service.auth.SysUserSessionService;
  19 +import cn.iocoder.dashboard.modules.system.service.logger.SysLoginLogService;
15 20 import cn.iocoder.dashboard.modules.system.service.user.SysUserService;
16 21 import com.google.common.collect.Lists;
17 22 import org.springframework.stereotype.Service;
18 23  
19 24 import javax.annotation.Resource;
20 25 import java.time.Duration;
21   -import java.util.Collection;
22   -import java.util.Date;
23   -import java.util.List;
  26 +import java.util.*;
24 27 import java.util.stream.Collectors;
25 28  
26 29 import static cn.iocoder.dashboard.util.collection.CollectionUtils.convertSet;
... ... @@ -36,14 +39,14 @@ public class SysUserSessionServiceImpl implements SysUserSessionService {
36 39  
37 40 @Resource
38 41 private SecurityProperties securityProperties;
39   -
40 42 @Resource
41 43 private SysLoginUserRedisDAO loginUserRedisDAO;
42 44 @Resource
43 45 private SysUserSessionMapper userSessionMapper;
44   -
45 46 @Resource
46 47 private SysUserService userService;
  48 + @Resource
  49 + private SysLoginLogService loginLogService;
47 50  
48 51 @Override
49 52 public String createUserSession(LoginUser loginUser, String userIp, String userAgent) {
... ... @@ -54,7 +57,7 @@ public class SysUserSessionServiceImpl implements SysUserSessionService {
54 57 loginUserRedisDAO.set(sessionId, loginUser);
55 58 // 写入 DB 中
56 59 SysUserSessionDO userSession = SysUserSessionDO.builder().id(sessionId)
57   - .userId(loginUser.getId()).userIp(userIp).userAgent(userAgent)
  60 + .userId(loginUser.getId()).userIp(userIp).userAgent(userAgent).username(loginUser.getUsername())
58 61 .sessionTimeout(addTime(Duration.ofMillis(getSessionTimeoutMillis())))
59 62 .build();
60 63 userSessionMapper.insert(userSession);
... ... @@ -69,6 +72,7 @@ public class SysUserSessionServiceImpl implements SysUserSessionService {
69 72 loginUserRedisDAO.set(sessionId, loginUser);
70 73 // 更新 DB 中
71 74 SysUserSessionDO updateObj = SysUserSessionDO.builder().id(sessionId).build();
  75 + updateObj.setUsername(loginUser.getUsername());
72 76 updateObj.setUpdateTime(new Date());
73 77 updateObj.setSessionTimeout(addTime(Duration.ofMillis(getSessionTimeoutMillis())));
74 78 userSessionMapper.updateById(updateObj);
... ... @@ -109,16 +113,30 @@ public class SysUserSessionServiceImpl implements SysUserSessionService {
109 113 public long clearSessionTimeout() {
110 114 // 获取db里已经超时的用户列表
111 115 List<SysUserSessionDO> sessionTimeoutDOS = userSessionMapper.selectListBySessionTimoutLt();
112   - List<String> timeoutIdList = sessionTimeoutDOS
  116 + Map<String, SysUserSessionDO> timeoutSessionDOMap = sessionTimeoutDOS
113 117 .stream()
114 118 .filter(sessionDO -> loginUserRedisDAO.get(sessionDO.getId()) == null)
115   - .map(SysUserSessionDO::getId)
116   - .collect(Collectors.toList());
  119 + .collect(Collectors.toMap(SysUserSessionDO::getId, o -> o));
117 120 // 确认已经超时,按批次移出在线用户列表
118   - if (CollUtil.isNotEmpty(timeoutIdList)) {
119   - Lists.partition(timeoutIdList, 100).forEach(userSessionMapper::deleteBatchIds);
  121 + if (CollUtil.isNotEmpty(timeoutSessionDOMap)) {
  122 + Lists.partition(new ArrayList<>(timeoutSessionDOMap.keySet()), 100).forEach(userSessionMapper::deleteBatchIds);
  123 + //记录用户超时退出日志
  124 + createTimeoutLogoutLog(timeoutSessionDOMap.values());
  125 + }
  126 + return timeoutSessionDOMap.size();
  127 + }
  128 +
  129 + private void createTimeoutLogoutLog(Collection<SysUserSessionDO> timeoutSessionDOS) {
  130 + for (SysUserSessionDO timeoutSessionDO : timeoutSessionDOS) {
  131 + SysLoginLogCreateReqVO reqVO = new SysLoginLogCreateReqVO();
  132 + reqVO.setLogType(SysLoginLogTypeEnum.LOGOUT_TIMEOUT.getType());
  133 + reqVO.setTraceId(TracerUtils.getTraceId());
  134 + reqVO.setUsername(timeoutSessionDO.getUsername());
  135 + reqVO.setUserAgent(timeoutSessionDO.getUserAgent());
  136 + reqVO.setUserIp(timeoutSessionDO.getUserIp());
  137 + reqVO.setResult(SysLoginResultEnum.SUCCESS.getResult());
  138 + loginLogService.createLoginLog(reqVO);
120 139 }
121   - return timeoutIdList.size();
122 140 }
123 141  
124 142 /**
... ...
src/test/java/cn/iocoder/dashboard/modules/system/service/auth/SysUserSessionServiceImplTest.java
1 1 package cn.iocoder.dashboard.modules.system.service.auth;
2 2  
3 3 import cn.hutool.core.date.DateUtil;
4   -import cn.iocoder.dashboard.BaseSpringBootUnitTest;
  4 +import cn.iocoder.dashboard.BaseDbAndRedisUnitTest;
5 5 import cn.iocoder.dashboard.framework.mybatis.core.query.QueryWrapperX;
  6 +import cn.iocoder.dashboard.framework.security.config.SecurityProperties;
6 7 import cn.iocoder.dashboard.modules.system.dal.dataobject.auth.SysUserSessionDO;
7 8 import cn.iocoder.dashboard.modules.system.dal.mysql.auth.SysUserSessionMapper;
  9 +import cn.iocoder.dashboard.modules.system.dal.redis.auth.SysLoginUserRedisDAO;
  10 +import cn.iocoder.dashboard.modules.system.service.auth.impl.SysUserSessionServiceImpl;
  11 +import cn.iocoder.dashboard.modules.system.service.dept.impl.SysDeptServiceImpl;
  12 +import cn.iocoder.dashboard.modules.system.service.logger.impl.SysLoginLogServiceImpl;
  13 +import cn.iocoder.dashboard.modules.system.service.user.SysUserServiceImpl;
8 14 import cn.iocoder.dashboard.util.RandomUtils;
9 15 import org.junit.jupiter.api.Test;
  16 +import org.springframework.boot.test.mock.mockito.MockBean;
  17 +import org.springframework.context.annotation.Import;
10 18  
11 19 import javax.annotation.Resource;
12 20 import java.util.Date;
... ... @@ -23,12 +31,25 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
23 31 * @version 1.0
24 32 * @since <pre>3月 8, 2021</pre>
25 33 */
26   -public class SysUserSessionServiceImplTest extends BaseSpringBootUnitTest {
  34 +@Import({
  35 + SysUserSessionServiceImpl.class
  36 +})
  37 +public class SysUserSessionServiceImplTest extends BaseDbAndRedisUnitTest {
27 38  
28 39 @Resource
29   - SysUserSessionService sysUserSessionService;
  40 + SysUserSessionServiceImpl sysUserSessionService;
30 41 @Resource
31 42 SysUserSessionMapper sysUserSessionMapper;
  43 + @MockBean
  44 + SecurityProperties securityProperties;
  45 + @MockBean
  46 + SysDeptServiceImpl sysDeptService;
  47 + @MockBean
  48 + SysUserServiceImpl sysUserService;
  49 + @MockBean
  50 + SysLoginLogServiceImpl sysLoginLogService;
  51 + @MockBean
  52 + SysLoginUserRedisDAO sysLoginUserRedisDAO;
32 53  
33 54 @Test
34 55 public void testClearSessionTimeout_success() throws Exception {
... ...
src/test/resources/sql/create_tables.sql
... ... @@ -118,12 +118,13 @@ CREATE TABLE &quot;sys_dict_type&quot; (
118 118 CREATE TABLE `sys_user_session` (
119 119 `id` varchar(32) NOT NULL,
120 120 `user_id` bigint DEFAULT NULL,
  121 + `username` varchar(50) NOT NULL DEFAULT '',
121 122 `user_ip` varchar(50) DEFAULT NULL,
122 123 `user_agent` varchar(512) DEFAULT NULL,
123 124 `session_timeout` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
124   - "create_by" varchar(64) DEFAULT '',
  125 + "creator" varchar(64) DEFAULT '',
125 126 "create_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
126   - `update_by` varchar(64) DEFAULT '' ,
  127 + `updater` varchar(64) DEFAULT '' ,
127 128 "update_time" timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
128 129 "deleted" bit NOT NULL DEFAULT FALSE,
129 130 PRIMARY KEY (`id`)
... ...