Compare commits
No commits in common. "fangjiao" and "master" have entirely different histories.
|
@ -116,13 +116,13 @@ srt-cloud 是采用 Vue3,Ts,Spring Cloud Alibaba、SpringSecurity、Spring C
|
|||
需要在【conf/application.properties】文件末尾,新增如下配置:
|
||||
|
||||
```bash
|
||||
# 填自己的ip地址,本地填101.34.77.101就行
|
||||
nacos.inetutils.ip-address=101.34.77.101
|
||||
# 填自己的ip地址,本地填127.0.0.1就行
|
||||
nacos.inetutils.ip-address=127.0.0.1
|
||||
|
||||
spring.datasource.platform=mysql
|
||||
db.num=1
|
||||
#填自己的数据库连接和密码
|
||||
db.url.0=jdbc:mysql://101.34.77.101:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
|
||||
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
|
||||
db.user.0=root
|
||||
db.password.0=root
|
||||
```
|
||||
|
|
1
pom.xml
1
pom.xml
|
@ -22,6 +22,7 @@
|
|||
<module>srt-cloud-data-integrate</module>
|
||||
<module>srt-cloud-system</module>
|
||||
<module>srt-cloud-gateway</module>
|
||||
<module>srt-data-development</module>
|
||||
</modules>
|
||||
|
||||
<properties>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
/*
|
||||
Navicat MySQL Data Transfer
|
||||
|
||||
Source Server : 101.34.77.101
|
||||
Source Server : 100.96.85.95
|
||||
Source Server Version : 80033
|
||||
Source Host : 101.34.77.101:3310
|
||||
Source Host : 100.96.85.95:3310
|
||||
Source Database : srt_cloud2.0
|
||||
|
||||
Target Server Type : MYSQL
|
||||
|
@ -50,9 +50,9 @@ CREATE TABLE `data_access` (
|
|||
-- ----------------------------
|
||||
-- Records of data_access
|
||||
-- ----------------------------
|
||||
INSERT INTO `data_access` VALUES ('120008', '人口数据-》中台库', '人口测试数据-》中台库', '10002', '5', null, '1', '3', '0/30 * * * * ? *', '0', '4', '{\"source\":[{\"sourceProductType\":\"MYSQL\",\"url\":\"jdbc:mysql://101.34.77.101:3306/srt_cloud_test?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true\",\"driverClassName\":\"com.mysql.jdbc.Driver\",\"username\":\"root\",\"password\":\"root\",\"connectionTimeout\":60000,\"maxLifeTime\":3600000,\"fetchSize\":10000,\"tableType\":null,\"sourceSchema\":\"srt_cloud_test\",\"includeOrExclude\":1,\"sourceIncludes\":\"people,people_cdc_test\",\"sourceExcludes\":\"\",\"regexTableMapper\":[],\"regexColumnMapper\":[]}],\"target\":{\"targetProductType\":\"MYSQL\",\"url\":\"jdbc:mysql://101.34.77.101:3306/srt_data_warehouse_p_10002?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true\",\"driverClassName\":\"com.mysql.jdbc.Driver\",\"username\":\"srt_data_warehouse_p_10002\",\"password\":\"BschnvGuVatChHQ7\",\"connectionTimeout\":60000,\"maxLifeTime\":3600000,\"targetSchema\":\"srt_data_warehouse_p_10002\",\"targetDrop\":false,\"syncExist\":true,\"onlyCreate\":false,\"indexCreate\":true,\"tablePrefix\":\"ods_\",\"lowercase\":true,\"uppercase\":false,\"createTableAutoIncrement\":true,\"writerEngineInsert\":true,\"changeDataSync\":true}}', '2023-07-23 11:19:21', '2023-07-23 11:19:22', null, null, null, '2023-07-23 11:19:30', '1', '0', '10000', '2023-01-21 11:51:07', '10000', '2023-07-23 11:19:13');
|
||||
INSERT INTO `data_access` VALUES ('120011', 'mysql->doris', 'mysql->doris', '10002', '5', '8', '2', '2', '', '0', '3', '{\"source\":[{\"sourceProductType\":\"MYSQL\",\"url\":\"jdbc:mysql://101.34.77.101:3306/srt_cloud_test?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true\",\"driverClassName\":\"com.mysql.jdbc.Driver\",\"username\":\"root\",\"password\":\"root\",\"connectionTimeout\":60000,\"maxLifeTime\":3600000,\"fetchSize\":5000,\"tableType\":null,\"sourceSchema\":\"srt_cloud_test\",\"includeOrExclude\":1,\"sourceIncludes\":\"people,example_tbl,people_cdc_test\",\"sourceExcludes\":\"\",\"regexTableMapper\":[],\"regexColumnMapper\":[]}],\"target\":{\"targetProductType\":\"DORIS\",\"url\":\"jdbc:mysql://192.168.30.128:9030/test_db?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&rewriteBatchedStatements=true\",\"driverClassName\":\"com.mysql.jdbc.Driver\",\"username\":\"root\",\"password\":\"123456\",\"connectionTimeout\":60000,\"maxLifeTime\":3600000,\"targetSchema\":\"test_db\",\"targetDrop\":false,\"syncExist\":true,\"onlyCreate\":false,\"indexCreate\":false,\"tablePrefix\":null,\"lowercase\":false,\"uppercase\":false,\"createTableAutoIncrement\":true,\"writerEngineInsert\":true,\"changeDataSync\":true}}', '2023-06-26 22:37:39', '2023-06-26 22:37:48', null, null, null, null, '0', '0', '10000', '2023-06-19 17:58:05', '10000', '2023-06-26 22:37:28');
|
||||
INSERT INTO `data_access` VALUES ('120013', 'doris->mysql', 'doris->mysql', '10002', '8', '5', '1', '2', '', '0', '1', '{\"source\":[{\"sourceProductType\":\"DORIS\",\"url\":\"jdbc:mysql://192.168.30.128:9030/test_db?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&rewriteBatchedStatements=true\",\"driverClassName\":\"com.mysql.jdbc.Driver\",\"username\":\"root\",\"password\":\"123456\",\"connectionTimeout\":60000,\"maxLifeTime\":3600000,\"fetchSize\":50000,\"tableType\":null,\"sourceSchema\":\"test_db\",\"includeOrExclude\":1,\"sourceIncludes\":\"\",\"sourceExcludes\":\"\",\"regexTableMapper\":[],\"regexColumnMapper\":[]}],\"target\":{\"targetProductType\":\"MYSQL\",\"url\":\"jdbc:mysql://101.34.77.101:3306/srt_data_warehouse_p_10002?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true\",\"driverClassName\":\"com.mysql.jdbc.Driver\",\"username\":\"srt_data_warehouse_p_10002\",\"password\":\"BschnvGuVatChHQ7\",\"connectionTimeout\":60000,\"maxLifeTime\":3600000,\"targetSchema\":\"srt_data_warehouse_p_10002\",\"targetDrop\":false,\"syncExist\":true,\"onlyCreate\":false,\"indexCreate\":false,\"tablePrefix\":\"ods_\",\"lowercase\":true,\"uppercase\":false,\"createTableAutoIncrement\":true,\"writerEngineInsert\":true,\"changeDataSync\":true}}', '2023-06-23 10:20:57', '2023-06-23 10:21:03', null, null, null, null, '0', '0', '10000', '2023-06-20 21:34:00', '10000', '2023-06-26 22:33:04');
|
||||
INSERT INTO `data_access` VALUES ('120008', '人口数据-》中台库', '人口测试数据-》中台库', '10002', '5', null, '1', '3', '0/30 * * * * ? *', '0', '4', '{\"source\":[{\"sourceProductType\":\"MYSQL\",\"url\":\"jdbc:mysql://127.0.0.1:3306/srt_cloud_test?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true\",\"driverClassName\":\"com.mysql.jdbc.Driver\",\"username\":\"root\",\"password\":\"root\",\"connectionTimeout\":60000,\"maxLifeTime\":3600000,\"fetchSize\":10000,\"tableType\":null,\"sourceSchema\":\"srt_cloud_test\",\"includeOrExclude\":1,\"sourceIncludes\":\"people,people_cdc_test\",\"sourceExcludes\":\"\",\"regexTableMapper\":[],\"regexColumnMapper\":[]}],\"target\":{\"targetProductType\":\"MYSQL\",\"url\":\"jdbc:mysql://127.0.0.1:3306/srt_data_warehouse_p_10002?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true\",\"driverClassName\":\"com.mysql.jdbc.Driver\",\"username\":\"srt_data_warehouse_p_10002\",\"password\":\"BschnvGuVatChHQ7\",\"connectionTimeout\":60000,\"maxLifeTime\":3600000,\"targetSchema\":\"srt_data_warehouse_p_10002\",\"targetDrop\":false,\"syncExist\":true,\"onlyCreate\":false,\"indexCreate\":true,\"tablePrefix\":\"ods_\",\"lowercase\":true,\"uppercase\":false,\"createTableAutoIncrement\":true,\"writerEngineInsert\":true,\"changeDataSync\":true}}', '2023-07-23 11:19:21', '2023-07-23 11:19:22', null, null, null, '2023-07-23 11:19:30', '1', '0', '10000', '2023-01-21 11:51:07', '10000', '2023-07-23 11:19:13');
|
||||
INSERT INTO `data_access` VALUES ('120011', 'mysql->doris', 'mysql->doris', '10002', '5', '8', '2', '2', '', '0', '3', '{\"source\":[{\"sourceProductType\":\"MYSQL\",\"url\":\"jdbc:mysql://127.0.0.1:3306/srt_cloud_test?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true\",\"driverClassName\":\"com.mysql.jdbc.Driver\",\"username\":\"root\",\"password\":\"root\",\"connectionTimeout\":60000,\"maxLifeTime\":3600000,\"fetchSize\":5000,\"tableType\":null,\"sourceSchema\":\"srt_cloud_test\",\"includeOrExclude\":1,\"sourceIncludes\":\"people,example_tbl,people_cdc_test\",\"sourceExcludes\":\"\",\"regexTableMapper\":[],\"regexColumnMapper\":[]}],\"target\":{\"targetProductType\":\"DORIS\",\"url\":\"jdbc:mysql://192.168.30.128:9030/test_db?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&rewriteBatchedStatements=true\",\"driverClassName\":\"com.mysql.jdbc.Driver\",\"username\":\"root\",\"password\":\"123456\",\"connectionTimeout\":60000,\"maxLifeTime\":3600000,\"targetSchema\":\"test_db\",\"targetDrop\":false,\"syncExist\":true,\"onlyCreate\":false,\"indexCreate\":false,\"tablePrefix\":null,\"lowercase\":false,\"uppercase\":false,\"createTableAutoIncrement\":true,\"writerEngineInsert\":true,\"changeDataSync\":true}}', '2023-06-26 22:37:39', '2023-06-26 22:37:48', null, null, null, null, '0', '0', '10000', '2023-06-19 17:58:05', '10000', '2023-06-26 22:37:28');
|
||||
INSERT INTO `data_access` VALUES ('120013', 'doris->mysql', 'doris->mysql', '10002', '8', '5', '1', '2', '', '0', '1', '{\"source\":[{\"sourceProductType\":\"DORIS\",\"url\":\"jdbc:mysql://192.168.30.128:9030/test_db?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&rewriteBatchedStatements=true\",\"driverClassName\":\"com.mysql.jdbc.Driver\",\"username\":\"root\",\"password\":\"123456\",\"connectionTimeout\":60000,\"maxLifeTime\":3600000,\"fetchSize\":50000,\"tableType\":null,\"sourceSchema\":\"test_db\",\"includeOrExclude\":1,\"sourceIncludes\":\"\",\"sourceExcludes\":\"\",\"regexTableMapper\":[],\"regexColumnMapper\":[]}],\"target\":{\"targetProductType\":\"MYSQL\",\"url\":\"jdbc:mysql://127.0.0.1:3306/srt_data_warehouse_p_10002?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true\",\"driverClassName\":\"com.mysql.jdbc.Driver\",\"username\":\"srt_data_warehouse_p_10002\",\"password\":\"BschnvGuVatChHQ7\",\"connectionTimeout\":60000,\"maxLifeTime\":3600000,\"targetSchema\":\"srt_data_warehouse_p_10002\",\"targetDrop\":false,\"syncExist\":true,\"onlyCreate\":false,\"indexCreate\":false,\"tablePrefix\":\"ods_\",\"lowercase\":true,\"uppercase\":false,\"createTableAutoIncrement\":true,\"writerEngineInsert\":true,\"changeDataSync\":true}}', '2023-06-23 10:20:57', '2023-06-23 10:21:03', null, null, null, null, '0', '0', '10000', '2023-06-20 21:34:00', '10000', '2023-06-26 22:33:04');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for data_access_task
|
||||
|
@ -151,7 +151,7 @@ CREATE TABLE `data_database` (
|
|||
-- ----------------------------
|
||||
-- Records of data_database
|
||||
-- ----------------------------
|
||||
INSERT INTO `data_database` VALUES ('5', '人口测试数据', '1', '101.34.77.101', '3306', 'srt_cloud_test', '1', 'root', 'root', null, null, 'jdbc:mysql://101.34.77.101:3306/srt_cloud_test?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true', '10002', '4', '0', '10000', '2023-01-20 13:43:12', '10000', '2023-02-11 21:46:07');
|
||||
INSERT INTO `data_database` VALUES ('5', '人口测试数据', '1', '127.0.0.1', '3306', 'srt_cloud_test', '1', 'root', 'root', null, null, 'jdbc:mysql://127.0.0.1:3306/srt_cloud_test?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true', '10002', '4', '0', '10000', '2023-01-20 13:43:12', '10000', '2023-02-11 21:46:07');
|
||||
INSERT INTO `data_database` VALUES ('8', 'doris测试', '16', '192.168.30.128', '9030', 'test_db', '1', 'root', '123456', null, null, 'jdbc:mysql://192.168.30.128:9030/test_db?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&rewriteBatchedStatements=true', '10002', '1', '0', '10000', '2023-06-19 17:49:30', '10000', '2023-06-26 22:33:04');
|
||||
|
||||
-- ----------------------------
|
||||
|
@ -294,7 +294,7 @@ CREATE TABLE `data_project` (
|
|||
-- ----------------------------
|
||||
-- Records of data_project
|
||||
-- ----------------------------
|
||||
INSERT INTO `data_project` VALUES ('10002', '默认项目', 'test_project', '测试', '1', 'admin', 'srt_data_warehouse_p_10002', 'jdbc:mysql://101.34.77.101:3306/srt_data_warehouse_p_10002?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true', 'srt_data_warehouse_p_10002', 'BschnvGuVatChHQ7', '1', '75', '0', '10000', '2022-09-27 20:59:19', '10000', '2023-06-13 16:49:33');
|
||||
INSERT INTO `data_project` VALUES ('10002', '默认项目', 'test_project', '测试', '1', 'admin', 'srt_data_warehouse_p_10002', 'jdbc:mysql://127.0.0.1:3306/srt_data_warehouse_p_10002?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true', 'srt_data_warehouse_p_10002', 'BschnvGuVatChHQ7', '1', '75', '0', '10000', '2022-09-27 20:59:19', '10000', '2023-06-13 16:49:33');
|
||||
INSERT INTO `data_project` VALUES ('10009', 'doris数仓测试', 'doris-test', '', '1', 'admin', 'test_db', 'jdbc:mysql://192.168.30.128:9030/test_db?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&rewriteBatchedStatements=true', 'root', '123456', '16', '2', '0', '10000', '2023-06-23 10:27:15', '10000', '2023-06-26 22:43:15');
|
||||
|
||||
-- ----------------------------
|
||||
|
@ -1034,404 +1034,404 @@ CREATE TABLE `sys_log_login` (
|
|||
-- ----------------------------
|
||||
-- Records of sys_log_login
|
||||
-- ----------------------------
|
||||
INSERT INTO `sys_log_login` VALUES ('1', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-09-27 17:11:24');
|
||||
INSERT INTO `sys_log_login` VALUES ('2', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-09-27 17:11:36');
|
||||
INSERT INTO `sys_log_login` VALUES ('3', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-09-27 20:48:32');
|
||||
INSERT INTO `sys_log_login` VALUES ('4', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-09-27 20:48:42');
|
||||
INSERT INTO `sys_log_login` VALUES ('5', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-04 14:09:31');
|
||||
INSERT INTO `sys_log_login` VALUES ('6', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-07 11:23:48');
|
||||
INSERT INTO `sys_log_login` VALUES ('7', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-07 12:00:53');
|
||||
INSERT INTO `sys_log_login` VALUES ('8', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-07 12:01:05');
|
||||
INSERT INTO `sys_log_login` VALUES ('9', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-08 12:42:10');
|
||||
INSERT INTO `sys_log_login` VALUES ('10', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-08 16:57:53');
|
||||
INSERT INTO `sys_log_login` VALUES ('11', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-08 16:58:11');
|
||||
INSERT INTO `sys_log_login` VALUES ('12', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-08 17:30:44');
|
||||
INSERT INTO `sys_log_login` VALUES ('13', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-08 17:30:52');
|
||||
INSERT INTO `sys_log_login` VALUES ('14', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-09 12:40:22');
|
||||
INSERT INTO `sys_log_login` VALUES ('15', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-09 12:40:31');
|
||||
INSERT INTO `sys_log_login` VALUES ('16', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-10-11 17:47:52');
|
||||
INSERT INTO `sys_log_login` VALUES ('17', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-11 17:48:06');
|
||||
INSERT INTO `sys_log_login` VALUES ('18', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-17 11:03:13');
|
||||
INSERT INTO `sys_log_login` VALUES ('19', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-17 13:48:23');
|
||||
INSERT INTO `sys_log_login` VALUES ('20', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-17 13:48:37');
|
||||
INSERT INTO `sys_log_login` VALUES ('21', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-17 13:49:08');
|
||||
INSERT INTO `sys_log_login` VALUES ('22', '测试用户', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '3', '2022-10-17 13:49:21');
|
||||
INSERT INTO `sys_log_login` VALUES ('23', '测试用户', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-10-17 13:49:32');
|
||||
INSERT INTO `sys_log_login` VALUES ('24', '测试用户', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-17 13:49:44');
|
||||
INSERT INTO `sys_log_login` VALUES ('25', '测试用户', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-17 13:51:26');
|
||||
INSERT INTO `sys_log_login` VALUES ('26', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-10-17 13:51:42');
|
||||
INSERT INTO `sys_log_login` VALUES ('27', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-17 13:51:49');
|
||||
INSERT INTO `sys_log_login` VALUES ('28', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-17 13:59:53');
|
||||
INSERT INTO `sys_log_login` VALUES ('29', '测试用户', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-10-17 14:00:05');
|
||||
INSERT INTO `sys_log_login` VALUES ('30', '测试用户', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-17 14:00:11');
|
||||
INSERT INTO `sys_log_login` VALUES ('31', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-19 10:10:25');
|
||||
INSERT INTO `sys_log_login` VALUES ('32', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-20 10:48:03');
|
||||
INSERT INTO `sys_log_login` VALUES ('33', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-20 12:01:44');
|
||||
INSERT INTO `sys_log_login` VALUES ('34', '测试用户', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-20 12:01:51');
|
||||
INSERT INTO `sys_log_login` VALUES ('35', '测试用户', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-20 12:55:48');
|
||||
INSERT INTO `sys_log_login` VALUES ('36', '测试用户', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-20 12:55:48');
|
||||
INSERT INTO `sys_log_login` VALUES ('37', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-20 12:56:10');
|
||||
INSERT INTO `sys_log_login` VALUES ('38', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-22 11:46:48');
|
||||
INSERT INTO `sys_log_login` VALUES ('39', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-22 13:15:51');
|
||||
INSERT INTO `sys_log_login` VALUES ('40', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-22 13:16:05');
|
||||
INSERT INTO `sys_log_login` VALUES ('41', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-22 13:34:19');
|
||||
INSERT INTO `sys_log_login` VALUES ('42', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-10-22 13:34:27');
|
||||
INSERT INTO `sys_log_login` VALUES ('43', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-22 13:34:33');
|
||||
INSERT INTO `sys_log_login` VALUES ('44', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-22 16:39:23');
|
||||
INSERT INTO `sys_log_login` VALUES ('45', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-22 16:39:30');
|
||||
INSERT INTO `sys_log_login` VALUES ('46', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-22 17:00:00');
|
||||
INSERT INTO `sys_log_login` VALUES ('47', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-22 17:00:09');
|
||||
INSERT INTO `sys_log_login` VALUES ('48', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-22 17:17:08');
|
||||
INSERT INTO `sys_log_login` VALUES ('49', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-22 17:17:24');
|
||||
INSERT INTO `sys_log_login` VALUES ('50', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-22 20:04:14');
|
||||
INSERT INTO `sys_log_login` VALUES ('51', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-22 20:04:23');
|
||||
INSERT INTO `sys_log_login` VALUES ('52', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-23 20:10:49');
|
||||
INSERT INTO `sys_log_login` VALUES ('53', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-24 21:45:07');
|
||||
INSERT INTO `sys_log_login` VALUES ('54', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-25 15:27:30');
|
||||
INSERT INTO `sys_log_login` VALUES ('55', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-25 15:27:39');
|
||||
INSERT INTO `sys_log_login` VALUES ('56', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-26 22:37:16');
|
||||
INSERT INTO `sys_log_login` VALUES ('57', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-27 14:59:36');
|
||||
INSERT INTO `sys_log_login` VALUES ('58', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-27 14:59:50');
|
||||
INSERT INTO `sys_log_login` VALUES ('59', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-27 15:35:46');
|
||||
INSERT INTO `sys_log_login` VALUES ('60', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-27 16:14:35');
|
||||
INSERT INTO `sys_log_login` VALUES ('61', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-27 22:19:45');
|
||||
INSERT INTO `sys_log_login` VALUES ('62', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-27 22:19:56');
|
||||
INSERT INTO `sys_log_login` VALUES ('63', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-28 17:00:33');
|
||||
INSERT INTO `sys_log_login` VALUES ('64', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-28 17:00:41');
|
||||
INSERT INTO `sys_log_login` VALUES ('65', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-29 12:49:32');
|
||||
INSERT INTO `sys_log_login` VALUES ('66', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-29 12:55:40');
|
||||
INSERT INTO `sys_log_login` VALUES ('67', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-29 12:57:00');
|
||||
INSERT INTO `sys_log_login` VALUES ('68', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-29 12:57:10');
|
||||
INSERT INTO `sys_log_login` VALUES ('69', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-29 14:30:10');
|
||||
INSERT INTO `sys_log_login` VALUES ('70', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-29 14:30:18');
|
||||
INSERT INTO `sys_log_login` VALUES ('71', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-11-01 23:14:43');
|
||||
INSERT INTO `sys_log_login` VALUES ('72', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-01 23:15:01');
|
||||
INSERT INTO `sys_log_login` VALUES ('73', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-10 16:51:17');
|
||||
INSERT INTO `sys_log_login` VALUES ('74', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-11-11 17:38:02');
|
||||
INSERT INTO `sys_log_login` VALUES ('75', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-11 17:38:10');
|
||||
INSERT INTO `sys_log_login` VALUES ('76', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-12 21:23:47');
|
||||
INSERT INTO `sys_log_login` VALUES ('77', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-14 15:04:59');
|
||||
INSERT INTO `sys_log_login` VALUES ('78', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-16 11:15:56');
|
||||
INSERT INTO `sys_log_login` VALUES ('79', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-11-16 11:53:52');
|
||||
INSERT INTO `sys_log_login` VALUES ('80', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-11-16 11:54:04');
|
||||
INSERT INTO `sys_log_login` VALUES ('81', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-16 11:54:12');
|
||||
INSERT INTO `sys_log_login` VALUES ('82', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-18 12:59:49');
|
||||
INSERT INTO `sys_log_login` VALUES ('83', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-11-18 14:27:20');
|
||||
INSERT INTO `sys_log_login` VALUES ('84', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-18 14:27:31');
|
||||
INSERT INTO `sys_log_login` VALUES ('85', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-21 09:21:12');
|
||||
INSERT INTO `sys_log_login` VALUES ('86', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-11-22 10:36:54');
|
||||
INSERT INTO `sys_log_login` VALUES ('87', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-11-22 10:36:50');
|
||||
INSERT INTO `sys_log_login` VALUES ('88', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-22 10:37:04');
|
||||
INSERT INTO `sys_log_login` VALUES ('89', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-11-23 10:40:40');
|
||||
INSERT INTO `sys_log_login` VALUES ('90', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-23 10:40:49');
|
||||
INSERT INTO `sys_log_login` VALUES ('91', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-24 10:43:19');
|
||||
INSERT INTO `sys_log_login` VALUES ('92', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-25 11:40:20');
|
||||
INSERT INTO `sys_log_login` VALUES ('93', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-11-25 21:46:41');
|
||||
INSERT INTO `sys_log_login` VALUES ('94', '测试用户', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-25 21:47:14');
|
||||
INSERT INTO `sys_log_login` VALUES ('95', '测试用户', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-11-25 22:03:34');
|
||||
INSERT INTO `sys_log_login` VALUES ('96', '测试用户', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-25 22:03:44');
|
||||
INSERT INTO `sys_log_login` VALUES ('97', '测试用户', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-11-25 23:20:46');
|
||||
INSERT INTO `sys_log_login` VALUES ('98', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-25 23:20:53');
|
||||
INSERT INTO `sys_log_login` VALUES ('99', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-11-25 23:25:09');
|
||||
INSERT INTO `sys_log_login` VALUES ('100', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-25 23:25:16');
|
||||
INSERT INTO `sys_log_login` VALUES ('101', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-25 23:35:55');
|
||||
INSERT INTO `sys_log_login` VALUES ('102', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-11-25 23:37:24');
|
||||
INSERT INTO `sys_log_login` VALUES ('103', '测试用户', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-25 23:37:33');
|
||||
INSERT INTO `sys_log_login` VALUES ('104', '测试用户', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-11-25 23:38:27');
|
||||
INSERT INTO `sys_log_login` VALUES ('105', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-25 23:43:47');
|
||||
INSERT INTO `sys_log_login` VALUES ('106', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-11-26 00:03:39');
|
||||
INSERT INTO `sys_log_login` VALUES ('107', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-26 00:03:51');
|
||||
INSERT INTO `sys_log_login` VALUES ('108', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-11-26 12:03:03');
|
||||
INSERT INTO `sys_log_login` VALUES ('109', '测试用户', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-26 12:03:17');
|
||||
INSERT INTO `sys_log_login` VALUES ('110', '测试用户', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-11-26 12:05:30');
|
||||
INSERT INTO `sys_log_login` VALUES ('111', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-26 12:05:47');
|
||||
INSERT INTO `sys_log_login` VALUES ('112', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-11-26 12:10:04');
|
||||
INSERT INTO `sys_log_login` VALUES ('113', '测试用户', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-26 12:10:15');
|
||||
INSERT INTO `sys_log_login` VALUES ('114', '测试用户', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-11-26 16:35:40');
|
||||
INSERT INTO `sys_log_login` VALUES ('115', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-26 16:35:50');
|
||||
INSERT INTO `sys_log_login` VALUES ('116', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-11-27 18:38:34');
|
||||
INSERT INTO `sys_log_login` VALUES ('117', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-11-27 18:38:49');
|
||||
INSERT INTO `sys_log_login` VALUES ('118', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-27 18:38:55');
|
||||
INSERT INTO `sys_log_login` VALUES ('119', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-11-28 15:34:17');
|
||||
INSERT INTO `sys_log_login` VALUES ('120', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-28 15:34:39');
|
||||
INSERT INTO `sys_log_login` VALUES ('121', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-29 15:40:57');
|
||||
INSERT INTO `sys_log_login` VALUES ('122', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-11-30 16:10:59');
|
||||
INSERT INTO `sys_log_login` VALUES ('123', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-11-30 16:11:15');
|
||||
INSERT INTO `sys_log_login` VALUES ('124', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-11-30 16:11:19');
|
||||
INSERT INTO `sys_log_login` VALUES ('125', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-30 16:11:26');
|
||||
INSERT INTO `sys_log_login` VALUES ('126', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-01 16:15:28');
|
||||
INSERT INTO `sys_log_login` VALUES ('127', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-03 11:13:35');
|
||||
INSERT INTO `sys_log_login` VALUES ('128', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-12-03 11:25:18');
|
||||
INSERT INTO `sys_log_login` VALUES ('129', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-03 11:25:28');
|
||||
INSERT INTO `sys_log_login` VALUES ('130', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-04 11:25:38');
|
||||
INSERT INTO `sys_log_login` VALUES ('131', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-05 16:40:26');
|
||||
INSERT INTO `sys_log_login` VALUES ('132', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-06 17:23:45');
|
||||
INSERT INTO `sys_log_login` VALUES ('133', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-12-07 09:26:16');
|
||||
INSERT INTO `sys_log_login` VALUES ('134', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-07 09:26:26');
|
||||
INSERT INTO `sys_log_login` VALUES ('135', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-08 13:01:55');
|
||||
INSERT INTO `sys_log_login` VALUES ('136', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-12-09 15:45:04');
|
||||
INSERT INTO `sys_log_login` VALUES ('137', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-12-09 15:45:11');
|
||||
INSERT INTO `sys_log_login` VALUES ('138', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-09 15:45:12');
|
||||
INSERT INTO `sys_log_login` VALUES ('139', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-10 18:19:41');
|
||||
INSERT INTO `sys_log_login` VALUES ('140', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-14 12:13:21');
|
||||
INSERT INTO `sys_log_login` VALUES ('141', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-15 16:15:03');
|
||||
INSERT INTO `sys_log_login` VALUES ('142', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-19 10:29:52');
|
||||
INSERT INTO `sys_log_login` VALUES ('143', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-20 16:14:50');
|
||||
INSERT INTO `sys_log_login` VALUES ('144', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-21 16:15:22');
|
||||
INSERT INTO `sys_log_login` VALUES ('145', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-12-21 20:44:20');
|
||||
INSERT INTO `sys_log_login` VALUES ('146', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-12-22 09:29:02');
|
||||
INSERT INTO `sys_log_login` VALUES ('147', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-22 09:29:10');
|
||||
INSERT INTO `sys_log_login` VALUES ('148', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-23 11:11:15');
|
||||
INSERT INTO `sys_log_login` VALUES ('149', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-24 16:18:17');
|
||||
INSERT INTO `sys_log_login` VALUES ('1', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-09-27 17:11:24');
|
||||
INSERT INTO `sys_log_login` VALUES ('2', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-09-27 17:11:36');
|
||||
INSERT INTO `sys_log_login` VALUES ('3', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-09-27 20:48:32');
|
||||
INSERT INTO `sys_log_login` VALUES ('4', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-09-27 20:48:42');
|
||||
INSERT INTO `sys_log_login` VALUES ('5', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-04 14:09:31');
|
||||
INSERT INTO `sys_log_login` VALUES ('6', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-07 11:23:48');
|
||||
INSERT INTO `sys_log_login` VALUES ('7', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-07 12:00:53');
|
||||
INSERT INTO `sys_log_login` VALUES ('8', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-07 12:01:05');
|
||||
INSERT INTO `sys_log_login` VALUES ('9', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-08 12:42:10');
|
||||
INSERT INTO `sys_log_login` VALUES ('10', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-08 16:57:53');
|
||||
INSERT INTO `sys_log_login` VALUES ('11', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-08 16:58:11');
|
||||
INSERT INTO `sys_log_login` VALUES ('12', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-08 17:30:44');
|
||||
INSERT INTO `sys_log_login` VALUES ('13', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-08 17:30:52');
|
||||
INSERT INTO `sys_log_login` VALUES ('14', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-09 12:40:22');
|
||||
INSERT INTO `sys_log_login` VALUES ('15', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-09 12:40:31');
|
||||
INSERT INTO `sys_log_login` VALUES ('16', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-10-11 17:47:52');
|
||||
INSERT INTO `sys_log_login` VALUES ('17', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-11 17:48:06');
|
||||
INSERT INTO `sys_log_login` VALUES ('18', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-17 11:03:13');
|
||||
INSERT INTO `sys_log_login` VALUES ('19', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-17 13:48:23');
|
||||
INSERT INTO `sys_log_login` VALUES ('20', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-17 13:48:37');
|
||||
INSERT INTO `sys_log_login` VALUES ('21', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-17 13:49:08');
|
||||
INSERT INTO `sys_log_login` VALUES ('22', '测试用户', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '3', '2022-10-17 13:49:21');
|
||||
INSERT INTO `sys_log_login` VALUES ('23', '测试用户', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-10-17 13:49:32');
|
||||
INSERT INTO `sys_log_login` VALUES ('24', '测试用户', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-17 13:49:44');
|
||||
INSERT INTO `sys_log_login` VALUES ('25', '测试用户', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-17 13:51:26');
|
||||
INSERT INTO `sys_log_login` VALUES ('26', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-10-17 13:51:42');
|
||||
INSERT INTO `sys_log_login` VALUES ('27', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-17 13:51:49');
|
||||
INSERT INTO `sys_log_login` VALUES ('28', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-17 13:59:53');
|
||||
INSERT INTO `sys_log_login` VALUES ('29', '测试用户', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-10-17 14:00:05');
|
||||
INSERT INTO `sys_log_login` VALUES ('30', '测试用户', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-17 14:00:11');
|
||||
INSERT INTO `sys_log_login` VALUES ('31', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-19 10:10:25');
|
||||
INSERT INTO `sys_log_login` VALUES ('32', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-20 10:48:03');
|
||||
INSERT INTO `sys_log_login` VALUES ('33', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-20 12:01:44');
|
||||
INSERT INTO `sys_log_login` VALUES ('34', '测试用户', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-20 12:01:51');
|
||||
INSERT INTO `sys_log_login` VALUES ('35', '测试用户', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-20 12:55:48');
|
||||
INSERT INTO `sys_log_login` VALUES ('36', '测试用户', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-20 12:55:48');
|
||||
INSERT INTO `sys_log_login` VALUES ('37', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-20 12:56:10');
|
||||
INSERT INTO `sys_log_login` VALUES ('38', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-22 11:46:48');
|
||||
INSERT INTO `sys_log_login` VALUES ('39', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-22 13:15:51');
|
||||
INSERT INTO `sys_log_login` VALUES ('40', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-22 13:16:05');
|
||||
INSERT INTO `sys_log_login` VALUES ('41', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-22 13:34:19');
|
||||
INSERT INTO `sys_log_login` VALUES ('42', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-10-22 13:34:27');
|
||||
INSERT INTO `sys_log_login` VALUES ('43', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-22 13:34:33');
|
||||
INSERT INTO `sys_log_login` VALUES ('44', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-22 16:39:23');
|
||||
INSERT INTO `sys_log_login` VALUES ('45', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-22 16:39:30');
|
||||
INSERT INTO `sys_log_login` VALUES ('46', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-22 17:00:00');
|
||||
INSERT INTO `sys_log_login` VALUES ('47', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-22 17:00:09');
|
||||
INSERT INTO `sys_log_login` VALUES ('48', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-22 17:17:08');
|
||||
INSERT INTO `sys_log_login` VALUES ('49', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-22 17:17:24');
|
||||
INSERT INTO `sys_log_login` VALUES ('50', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-22 20:04:14');
|
||||
INSERT INTO `sys_log_login` VALUES ('51', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-22 20:04:23');
|
||||
INSERT INTO `sys_log_login` VALUES ('52', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-23 20:10:49');
|
||||
INSERT INTO `sys_log_login` VALUES ('53', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-24 21:45:07');
|
||||
INSERT INTO `sys_log_login` VALUES ('54', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-25 15:27:30');
|
||||
INSERT INTO `sys_log_login` VALUES ('55', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-25 15:27:39');
|
||||
INSERT INTO `sys_log_login` VALUES ('56', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-26 22:37:16');
|
||||
INSERT INTO `sys_log_login` VALUES ('57', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-27 14:59:36');
|
||||
INSERT INTO `sys_log_login` VALUES ('58', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-27 14:59:50');
|
||||
INSERT INTO `sys_log_login` VALUES ('59', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-27 15:35:46');
|
||||
INSERT INTO `sys_log_login` VALUES ('60', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-27 16:14:35');
|
||||
INSERT INTO `sys_log_login` VALUES ('61', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-27 22:19:45');
|
||||
INSERT INTO `sys_log_login` VALUES ('62', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-27 22:19:56');
|
||||
INSERT INTO `sys_log_login` VALUES ('63', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-28 17:00:33');
|
||||
INSERT INTO `sys_log_login` VALUES ('64', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-28 17:00:41');
|
||||
INSERT INTO `sys_log_login` VALUES ('65', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-29 12:49:32');
|
||||
INSERT INTO `sys_log_login` VALUES ('66', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-29 12:55:40');
|
||||
INSERT INTO `sys_log_login` VALUES ('67', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-29 12:57:00');
|
||||
INSERT INTO `sys_log_login` VALUES ('68', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-29 12:57:10');
|
||||
INSERT INTO `sys_log_login` VALUES ('69', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-10-29 14:30:10');
|
||||
INSERT INTO `sys_log_login` VALUES ('70', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-10-29 14:30:18');
|
||||
INSERT INTO `sys_log_login` VALUES ('71', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-11-01 23:14:43');
|
||||
INSERT INTO `sys_log_login` VALUES ('72', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-01 23:15:01');
|
||||
INSERT INTO `sys_log_login` VALUES ('73', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-10 16:51:17');
|
||||
INSERT INTO `sys_log_login` VALUES ('74', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-11-11 17:38:02');
|
||||
INSERT INTO `sys_log_login` VALUES ('75', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-11 17:38:10');
|
||||
INSERT INTO `sys_log_login` VALUES ('76', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-12 21:23:47');
|
||||
INSERT INTO `sys_log_login` VALUES ('77', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-14 15:04:59');
|
||||
INSERT INTO `sys_log_login` VALUES ('78', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-16 11:15:56');
|
||||
INSERT INTO `sys_log_login` VALUES ('79', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-11-16 11:53:52');
|
||||
INSERT INTO `sys_log_login` VALUES ('80', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-11-16 11:54:04');
|
||||
INSERT INTO `sys_log_login` VALUES ('81', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-16 11:54:12');
|
||||
INSERT INTO `sys_log_login` VALUES ('82', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-18 12:59:49');
|
||||
INSERT INTO `sys_log_login` VALUES ('83', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-11-18 14:27:20');
|
||||
INSERT INTO `sys_log_login` VALUES ('84', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-18 14:27:31');
|
||||
INSERT INTO `sys_log_login` VALUES ('85', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-21 09:21:12');
|
||||
INSERT INTO `sys_log_login` VALUES ('86', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-11-22 10:36:54');
|
||||
INSERT INTO `sys_log_login` VALUES ('87', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-11-22 10:36:50');
|
||||
INSERT INTO `sys_log_login` VALUES ('88', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-22 10:37:04');
|
||||
INSERT INTO `sys_log_login` VALUES ('89', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-11-23 10:40:40');
|
||||
INSERT INTO `sys_log_login` VALUES ('90', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-23 10:40:49');
|
||||
INSERT INTO `sys_log_login` VALUES ('91', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-24 10:43:19');
|
||||
INSERT INTO `sys_log_login` VALUES ('92', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-25 11:40:20');
|
||||
INSERT INTO `sys_log_login` VALUES ('93', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-11-25 21:46:41');
|
||||
INSERT INTO `sys_log_login` VALUES ('94', '测试用户', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-25 21:47:14');
|
||||
INSERT INTO `sys_log_login` VALUES ('95', '测试用户', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-11-25 22:03:34');
|
||||
INSERT INTO `sys_log_login` VALUES ('96', '测试用户', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-25 22:03:44');
|
||||
INSERT INTO `sys_log_login` VALUES ('97', '测试用户', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-11-25 23:20:46');
|
||||
INSERT INTO `sys_log_login` VALUES ('98', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-25 23:20:53');
|
||||
INSERT INTO `sys_log_login` VALUES ('99', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-11-25 23:25:09');
|
||||
INSERT INTO `sys_log_login` VALUES ('100', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-25 23:25:16');
|
||||
INSERT INTO `sys_log_login` VALUES ('101', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-25 23:35:55');
|
||||
INSERT INTO `sys_log_login` VALUES ('102', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-11-25 23:37:24');
|
||||
INSERT INTO `sys_log_login` VALUES ('103', '测试用户', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-25 23:37:33');
|
||||
INSERT INTO `sys_log_login` VALUES ('104', '测试用户', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-11-25 23:38:27');
|
||||
INSERT INTO `sys_log_login` VALUES ('105', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-25 23:43:47');
|
||||
INSERT INTO `sys_log_login` VALUES ('106', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-11-26 00:03:39');
|
||||
INSERT INTO `sys_log_login` VALUES ('107', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-26 00:03:51');
|
||||
INSERT INTO `sys_log_login` VALUES ('108', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-11-26 12:03:03');
|
||||
INSERT INTO `sys_log_login` VALUES ('109', '测试用户', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-26 12:03:17');
|
||||
INSERT INTO `sys_log_login` VALUES ('110', '测试用户', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-11-26 12:05:30');
|
||||
INSERT INTO `sys_log_login` VALUES ('111', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-26 12:05:47');
|
||||
INSERT INTO `sys_log_login` VALUES ('112', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-11-26 12:10:04');
|
||||
INSERT INTO `sys_log_login` VALUES ('113', '测试用户', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-26 12:10:15');
|
||||
INSERT INTO `sys_log_login` VALUES ('114', '测试用户', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-11-26 16:35:40');
|
||||
INSERT INTO `sys_log_login` VALUES ('115', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-26 16:35:50');
|
||||
INSERT INTO `sys_log_login` VALUES ('116', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-11-27 18:38:34');
|
||||
INSERT INTO `sys_log_login` VALUES ('117', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-11-27 18:38:49');
|
||||
INSERT INTO `sys_log_login` VALUES ('118', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-27 18:38:55');
|
||||
INSERT INTO `sys_log_login` VALUES ('119', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-11-28 15:34:17');
|
||||
INSERT INTO `sys_log_login` VALUES ('120', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-28 15:34:39');
|
||||
INSERT INTO `sys_log_login` VALUES ('121', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-29 15:40:57');
|
||||
INSERT INTO `sys_log_login` VALUES ('122', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-11-30 16:10:59');
|
||||
INSERT INTO `sys_log_login` VALUES ('123', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-11-30 16:11:15');
|
||||
INSERT INTO `sys_log_login` VALUES ('124', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-11-30 16:11:19');
|
||||
INSERT INTO `sys_log_login` VALUES ('125', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-11-30 16:11:26');
|
||||
INSERT INTO `sys_log_login` VALUES ('126', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-01 16:15:28');
|
||||
INSERT INTO `sys_log_login` VALUES ('127', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-03 11:13:35');
|
||||
INSERT INTO `sys_log_login` VALUES ('128', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-12-03 11:25:18');
|
||||
INSERT INTO `sys_log_login` VALUES ('129', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-03 11:25:28');
|
||||
INSERT INTO `sys_log_login` VALUES ('130', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-04 11:25:38');
|
||||
INSERT INTO `sys_log_login` VALUES ('131', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-05 16:40:26');
|
||||
INSERT INTO `sys_log_login` VALUES ('132', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-06 17:23:45');
|
||||
INSERT INTO `sys_log_login` VALUES ('133', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-12-07 09:26:16');
|
||||
INSERT INTO `sys_log_login` VALUES ('134', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-07 09:26:26');
|
||||
INSERT INTO `sys_log_login` VALUES ('135', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-08 13:01:55');
|
||||
INSERT INTO `sys_log_login` VALUES ('136', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-12-09 15:45:04');
|
||||
INSERT INTO `sys_log_login` VALUES ('137', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-12-09 15:45:11');
|
||||
INSERT INTO `sys_log_login` VALUES ('138', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-09 15:45:12');
|
||||
INSERT INTO `sys_log_login` VALUES ('139', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-10 18:19:41');
|
||||
INSERT INTO `sys_log_login` VALUES ('140', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-14 12:13:21');
|
||||
INSERT INTO `sys_log_login` VALUES ('141', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-15 16:15:03');
|
||||
INSERT INTO `sys_log_login` VALUES ('142', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-19 10:29:52');
|
||||
INSERT INTO `sys_log_login` VALUES ('143', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-20 16:14:50');
|
||||
INSERT INTO `sys_log_login` VALUES ('144', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-21 16:15:22');
|
||||
INSERT INTO `sys_log_login` VALUES ('145', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-12-21 20:44:20');
|
||||
INSERT INTO `sys_log_login` VALUES ('146', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-12-22 09:29:02');
|
||||
INSERT INTO `sys_log_login` VALUES ('147', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-22 09:29:10');
|
||||
INSERT INTO `sys_log_login` VALUES ('148', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-23 11:11:15');
|
||||
INSERT INTO `sys_log_login` VALUES ('149', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-24 16:18:17');
|
||||
INSERT INTO `sys_log_login` VALUES ('150', 'admin', '192.168.40.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-12-25 04:02:09');
|
||||
INSERT INTO `sys_log_login` VALUES ('151', 'admin', '192.168.40.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-25 04:02:29');
|
||||
INSERT INTO `sys_log_login` VALUES ('152', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-12-25 16:53:04');
|
||||
INSERT INTO `sys_log_login` VALUES ('153', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-25 16:53:14');
|
||||
INSERT INTO `sys_log_login` VALUES ('154', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-27 12:46:14');
|
||||
INSERT INTO `sys_log_login` VALUES ('155', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-28 17:01:30');
|
||||
INSERT INTO `sys_log_login` VALUES ('156', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-12-28 17:01:49');
|
||||
INSERT INTO `sys_log_login` VALUES ('157', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-28 17:01:55');
|
||||
INSERT INTO `sys_log_login` VALUES ('158', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-12-28 17:02:05');
|
||||
INSERT INTO `sys_log_login` VALUES ('159', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-28 17:02:11');
|
||||
INSERT INTO `sys_log_login` VALUES ('160', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-28 17:02:27');
|
||||
INSERT INTO `sys_log_login` VALUES ('161', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-12-28 17:03:28');
|
||||
INSERT INTO `sys_log_login` VALUES ('162', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-12-28 17:03:35');
|
||||
INSERT INTO `sys_log_login` VALUES ('163', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-28 17:03:42');
|
||||
INSERT INTO `sys_log_login` VALUES ('164', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-28 17:07:12');
|
||||
INSERT INTO `sys_log_login` VALUES ('165', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-28 17:07:40');
|
||||
INSERT INTO `sys_log_login` VALUES ('166', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-28 17:08:30');
|
||||
INSERT INTO `sys_log_login` VALUES ('167', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-28 17:08:42');
|
||||
INSERT INTO `sys_log_login` VALUES ('168', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-28 17:12:53');
|
||||
INSERT INTO `sys_log_login` VALUES ('169', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-12-28 17:44:39');
|
||||
INSERT INTO `sys_log_login` VALUES ('170', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-28 17:44:49');
|
||||
INSERT INTO `sys_log_login` VALUES ('171', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-12-30 09:53:45');
|
||||
INSERT INTO `sys_log_login` VALUES ('172', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-12-30 09:53:45');
|
||||
INSERT INTO `sys_log_login` VALUES ('173', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-30 09:53:52');
|
||||
INSERT INTO `sys_log_login` VALUES ('174', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-31 11:56:53');
|
||||
INSERT INTO `sys_log_login` VALUES ('175', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-01 12:18:29');
|
||||
INSERT INTO `sys_log_login` VALUES ('176', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-02 13:08:57');
|
||||
INSERT INTO `sys_log_login` VALUES ('177', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-03 20:45:34');
|
||||
INSERT INTO `sys_log_login` VALUES ('178', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2023-01-04 21:08:34');
|
||||
INSERT INTO `sys_log_login` VALUES ('179', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2023-01-04 21:08:42');
|
||||
INSERT INTO `sys_log_login` VALUES ('180', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-04 21:08:48');
|
||||
INSERT INTO `sys_log_login` VALUES ('181', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2023-01-05 21:13:59');
|
||||
INSERT INTO `sys_log_login` VALUES ('182', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-05 21:14:07');
|
||||
INSERT INTO `sys_log_login` VALUES ('183', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-07 15:55:06');
|
||||
INSERT INTO `sys_log_login` VALUES ('184', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2023-01-08 17:28:55');
|
||||
INSERT INTO `sys_log_login` VALUES ('185', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-08 17:29:22');
|
||||
INSERT INTO `sys_log_login` VALUES ('186', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-09 20:02:14');
|
||||
INSERT INTO `sys_log_login` VALUES ('187', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-10 22:21:51');
|
||||
INSERT INTO `sys_log_login` VALUES ('188', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2023-01-12 10:26:37');
|
||||
INSERT INTO `sys_log_login` VALUES ('189', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2023-01-12 10:26:47');
|
||||
INSERT INTO `sys_log_login` VALUES ('190', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-12 10:26:53');
|
||||
INSERT INTO `sys_log_login` VALUES ('191', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-13 10:28:17');
|
||||
INSERT INTO `sys_log_login` VALUES ('192', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-14 11:41:45');
|
||||
INSERT INTO `sys_log_login` VALUES ('193', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2023-01-14 19:22:05');
|
||||
INSERT INTO `sys_log_login` VALUES ('194', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-14 19:22:14');
|
||||
INSERT INTO `sys_log_login` VALUES ('195', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-15 20:52:51');
|
||||
INSERT INTO `sys_log_login` VALUES ('196', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-17 16:29:17');
|
||||
INSERT INTO `sys_log_login` VALUES ('197', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2023-01-17 17:06:30');
|
||||
INSERT INTO `sys_log_login` VALUES ('198', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-17 17:06:41');
|
||||
INSERT INTO `sys_log_login` VALUES ('199', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2023-01-18 16:00:40');
|
||||
INSERT INTO `sys_log_login` VALUES ('200', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2023-01-18 16:04:57');
|
||||
INSERT INTO `sys_log_login` VALUES ('201', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-18 16:05:04');
|
||||
INSERT INTO `sys_log_login` VALUES ('202', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-19 16:50:06');
|
||||
INSERT INTO `sys_log_login` VALUES ('203', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2023-01-19 21:47:25');
|
||||
INSERT INTO `sys_log_login` VALUES ('204', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-19 21:47:36');
|
||||
INSERT INTO `sys_log_login` VALUES ('205', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-20 22:07:37');
|
||||
INSERT INTO `sys_log_login` VALUES ('206', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-21 14:19:09');
|
||||
INSERT INTO `sys_log_login` VALUES ('207', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2023-01-22 15:47:10');
|
||||
INSERT INTO `sys_log_login` VALUES ('208', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2023-01-22 15:47:15');
|
||||
INSERT INTO `sys_log_login` VALUES ('209', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-22 15:47:20');
|
||||
INSERT INTO `sys_log_login` VALUES ('210', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2023-01-22 16:01:06');
|
||||
INSERT INTO `sys_log_login` VALUES ('211', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-22 16:01:13');
|
||||
INSERT INTO `sys_log_login` VALUES ('212', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2023-01-22 20:35:22');
|
||||
INSERT INTO `sys_log_login` VALUES ('213', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-22 20:37:34');
|
||||
INSERT INTO `sys_log_login` VALUES ('214', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-30 11:21:20');
|
||||
INSERT INTO `sys_log_login` VALUES ('215', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2023-01-30 11:21:21');
|
||||
INSERT INTO `sys_log_login` VALUES ('216', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2023-01-30 11:43:26');
|
||||
INSERT INTO `sys_log_login` VALUES ('217', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-30 11:44:19');
|
||||
INSERT INTO `sys_log_login` VALUES ('218', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2023-02-06 15:37:19');
|
||||
INSERT INTO `sys_log_login` VALUES ('219', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-02-06 15:37:28');
|
||||
INSERT INTO `sys_log_login` VALUES ('220', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2023-02-06 16:05:00');
|
||||
INSERT INTO `sys_log_login` VALUES ('221', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-02-06 16:05:11');
|
||||
INSERT INTO `sys_log_login` VALUES ('222', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2023-02-06 16:13:05');
|
||||
INSERT INTO `sys_log_login` VALUES ('223', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-02-06 16:13:17');
|
||||
INSERT INTO `sys_log_login` VALUES ('224', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-02-08 09:56:59');
|
||||
INSERT INTO `sys_log_login` VALUES ('225', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-02-09 14:55:13');
|
||||
INSERT INTO `sys_log_login` VALUES ('226', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-11 21:39:31');
|
||||
INSERT INTO `sys_log_login` VALUES ('227', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-13 14:53:06');
|
||||
INSERT INTO `sys_log_login` VALUES ('228', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-14 09:56:41');
|
||||
INSERT INTO `sys_log_login` VALUES ('229', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-14 09:56:48');
|
||||
INSERT INTO `sys_log_login` VALUES ('230', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-14 22:43:51');
|
||||
INSERT INTO `sys_log_login` VALUES ('231', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-14 22:43:59');
|
||||
INSERT INTO `sys_log_login` VALUES ('232', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-15 11:17:02');
|
||||
INSERT INTO `sys_log_login` VALUES ('233', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-15 11:17:08');
|
||||
INSERT INTO `sys_log_login` VALUES ('234', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-16 12:50:31');
|
||||
INSERT INTO `sys_log_login` VALUES ('235', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-16 14:51:51');
|
||||
INSERT INTO `sys_log_login` VALUES ('236', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '0', '2', '2023-02-16 14:54:55');
|
||||
INSERT INTO `sys_log_login` VALUES ('237', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-16 14:55:02');
|
||||
INSERT INTO `sys_log_login` VALUES ('238', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-17 11:37:42');
|
||||
INSERT INTO `sys_log_login` VALUES ('239', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-17 11:37:50');
|
||||
INSERT INTO `sys_log_login` VALUES ('240', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '0', '2', '2023-02-20 11:04:14');
|
||||
INSERT INTO `sys_log_login` VALUES ('241', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '0', '2', '2023-02-20 11:04:14');
|
||||
INSERT INTO `sys_log_login` VALUES ('242', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-20 11:04:21');
|
||||
INSERT INTO `sys_log_login` VALUES ('243', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-20 14:11:57');
|
||||
INSERT INTO `sys_log_login` VALUES ('244', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '0', '2', '2023-02-20 14:12:07');
|
||||
INSERT INTO `sys_log_login` VALUES ('245', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-20 14:12:13');
|
||||
INSERT INTO `sys_log_login` VALUES ('246', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-20 14:15:04');
|
||||
INSERT INTO `sys_log_login` VALUES ('247', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-20 14:15:11');
|
||||
INSERT INTO `sys_log_login` VALUES ('248', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-22 08:58:09');
|
||||
INSERT INTO `sys_log_login` VALUES ('249', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-22 14:49:33');
|
||||
INSERT INTO `sys_log_login` VALUES ('250', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-22 14:49:40');
|
||||
INSERT INTO `sys_log_login` VALUES ('251', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-23 18:28:58');
|
||||
INSERT INTO `sys_log_login` VALUES ('252', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-25 20:57:48');
|
||||
INSERT INTO `sys_log_login` VALUES ('253', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-26 11:55:13');
|
||||
INSERT INTO `sys_log_login` VALUES ('254', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-26 12:06:15');
|
||||
INSERT INTO `sys_log_login` VALUES ('255', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-26 14:54:42');
|
||||
INSERT INTO `sys_log_login` VALUES ('256', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-26 15:18:35');
|
||||
INSERT INTO `sys_log_login` VALUES ('257', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '0', '2', '2023-02-26 15:18:43');
|
||||
INSERT INTO `sys_log_login` VALUES ('258', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-26 15:18:51');
|
||||
INSERT INTO `sys_log_login` VALUES ('259', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-26 21:00:09');
|
||||
INSERT INTO `sys_log_login` VALUES ('260', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-26 21:10:08');
|
||||
INSERT INTO `sys_log_login` VALUES ('261', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-26 21:10:16');
|
||||
INSERT INTO `sys_log_login` VALUES ('262', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-26 21:18:16');
|
||||
INSERT INTO `sys_log_login` VALUES ('263', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-26 21:20:30');
|
||||
INSERT INTO `sys_log_login` VALUES ('264', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-26 21:31:09');
|
||||
INSERT INTO `sys_log_login` VALUES ('265', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-26 21:31:14');
|
||||
INSERT INTO `sys_log_login` VALUES ('266', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-26 21:33:11');
|
||||
INSERT INTO `sys_log_login` VALUES ('267', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-26 21:35:29');
|
||||
INSERT INTO `sys_log_login` VALUES ('268', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-26 21:59:01');
|
||||
INSERT INTO `sys_log_login` VALUES ('269', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-26 21:59:09');
|
||||
INSERT INTO `sys_log_login` VALUES ('270', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-26 22:01:52');
|
||||
INSERT INTO `sys_log_login` VALUES ('271', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-26 22:02:00');
|
||||
INSERT INTO `sys_log_login` VALUES ('272', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-26 22:04:18');
|
||||
INSERT INTO `sys_log_login` VALUES ('273', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-26 22:04:25');
|
||||
INSERT INTO `sys_log_login` VALUES ('274', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-03-03 15:15:31');
|
||||
INSERT INTO `sys_log_login` VALUES ('275', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-03-05 18:37:02');
|
||||
INSERT INTO `sys_log_login` VALUES ('276', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-03-07 17:07:54');
|
||||
INSERT INTO `sys_log_login` VALUES ('277', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-03-14 12:31:29');
|
||||
INSERT INTO `sys_log_login` VALUES ('278', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-03-28 10:48:49');
|
||||
INSERT INTO `sys_log_login` VALUES ('279', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-03-28 13:40:53');
|
||||
INSERT INTO `sys_log_login` VALUES ('280', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-03-29 12:10:54');
|
||||
INSERT INTO `sys_log_login` VALUES ('281', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-03-29 15:03:12');
|
||||
INSERT INTO `sys_log_login` VALUES ('282', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-03-30 11:13:39');
|
||||
INSERT INTO `sys_log_login` VALUES ('283', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-03-30 11:14:16');
|
||||
INSERT INTO `sys_log_login` VALUES ('284', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-03-31 08:58:46');
|
||||
INSERT INTO `sys_log_login` VALUES ('285', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-03-31 08:58:53');
|
||||
INSERT INTO `sys_log_login` VALUES ('286', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-03-31 08:59:16');
|
||||
INSERT INTO `sys_log_login` VALUES ('287', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '0', '2', '2023-03-31 10:39:14');
|
||||
INSERT INTO `sys_log_login` VALUES ('288', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '0', '2', '2023-03-31 10:39:15');
|
||||
INSERT INTO `sys_log_login` VALUES ('289', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '0', '2', '2023-03-31 10:39:21');
|
||||
INSERT INTO `sys_log_login` VALUES ('290', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-03-31 10:39:27');
|
||||
INSERT INTO `sys_log_login` VALUES ('291', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-03-31 11:12:06');
|
||||
INSERT INTO `sys_log_login` VALUES ('292', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-04-01 12:06:39');
|
||||
INSERT INTO `sys_log_login` VALUES ('293', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-04-03 10:36:26');
|
||||
INSERT INTO `sys_log_login` VALUES ('294', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-04-03 15:30:31');
|
||||
INSERT INTO `sys_log_login` VALUES ('295', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-04-03 15:30:36');
|
||||
INSERT INTO `sys_log_login` VALUES ('296', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '0', '2', '2023-04-05 12:19:44');
|
||||
INSERT INTO `sys_log_login` VALUES ('297', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '0', '2', '2023-04-05 12:19:54');
|
||||
INSERT INTO `sys_log_login` VALUES ('298', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '0', '2', '2023-04-05 12:20:05');
|
||||
INSERT INTO `sys_log_login` VALUES ('299', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-04-05 12:20:11');
|
||||
INSERT INTO `sys_log_login` VALUES ('300', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-04-05 12:22:29');
|
||||
INSERT INTO `sys_log_login` VALUES ('301', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-04-05 12:22:35');
|
||||
INSERT INTO `sys_log_login` VALUES ('302', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '0', '2', '2023-04-05 12:22:35');
|
||||
INSERT INTO `sys_log_login` VALUES ('303', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-04-06 09:59:56');
|
||||
INSERT INTO `sys_log_login` VALUES ('304', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '0', '2', '2023-04-06 10:00:01');
|
||||
INSERT INTO `sys_log_login` VALUES ('305', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-04-06 10:00:08');
|
||||
INSERT INTO `sys_log_login` VALUES ('306', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-04-07 10:05:47');
|
||||
INSERT INTO `sys_log_login` VALUES ('307', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-04-07 11:34:24');
|
||||
INSERT INTO `sys_log_login` VALUES ('308', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-04-08 12:10:45');
|
||||
INSERT INTO `sys_log_login` VALUES ('309', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-04-08 12:27:14');
|
||||
INSERT INTO `sys_log_login` VALUES ('310', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-04-08 12:30:57');
|
||||
INSERT INTO `sys_log_login` VALUES ('311', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-04-08 12:34:08');
|
||||
INSERT INTO `sys_log_login` VALUES ('312', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-04-08 12:36:23');
|
||||
INSERT INTO `sys_log_login` VALUES ('313', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-04-20 11:53:27');
|
||||
INSERT INTO `sys_log_login` VALUES ('314', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-04-23 14:17:59');
|
||||
INSERT INTO `sys_log_login` VALUES ('315', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-05-08 09:38:18');
|
||||
INSERT INTO `sys_log_login` VALUES ('316', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-05-18 15:34:36');
|
||||
INSERT INTO `sys_log_login` VALUES ('317', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-05-18 15:34:38');
|
||||
INSERT INTO `sys_log_login` VALUES ('318', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-05-19 16:06:02');
|
||||
INSERT INTO `sys_log_login` VALUES ('319', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-05-23 09:19:02');
|
||||
INSERT INTO `sys_log_login` VALUES ('320', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-05-23 09:33:56');
|
||||
INSERT INTO `sys_log_login` VALUES ('321', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-05-23 09:44:03');
|
||||
INSERT INTO `sys_log_login` VALUES ('322', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-05-23 09:44:09');
|
||||
INSERT INTO `sys_log_login` VALUES ('323', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-05-24 15:02:29');
|
||||
INSERT INTO `sys_log_login` VALUES ('324', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-05-24 15:02:38');
|
||||
INSERT INTO `sys_log_login` VALUES ('325', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-05-25 17:04:24');
|
||||
INSERT INTO `sys_log_login` VALUES ('326', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-05-27 09:57:33');
|
||||
INSERT INTO `sys_log_login` VALUES ('327', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-05-28 09:17:01');
|
||||
INSERT INTO `sys_log_login` VALUES ('328', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-05-29 10:39:30');
|
||||
INSERT INTO `sys_log_login` VALUES ('329', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-05-30 12:30:43');
|
||||
INSERT INTO `sys_log_login` VALUES ('330', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-05-30 14:29:57');
|
||||
INSERT INTO `sys_log_login` VALUES ('331', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-05-30 20:42:15');
|
||||
INSERT INTO `sys_log_login` VALUES ('332', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-05-30 20:42:21');
|
||||
INSERT INTO `sys_log_login` VALUES ('333', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-05-30 20:42:25');
|
||||
INSERT INTO `sys_log_login` VALUES ('334', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-05-30 20:43:45');
|
||||
INSERT INTO `sys_log_login` VALUES ('335', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-05-30 20:47:41');
|
||||
INSERT INTO `sys_log_login` VALUES ('336', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-06-01 16:15:03');
|
||||
INSERT INTO `sys_log_login` VALUES ('337', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-06-01 16:15:03');
|
||||
INSERT INTO `sys_log_login` VALUES ('338', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-06-03 10:52:01');
|
||||
INSERT INTO `sys_log_login` VALUES ('339', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-06-08 17:29:40');
|
||||
INSERT INTO `sys_log_login` VALUES ('340', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-06-08 17:29:51');
|
||||
INSERT INTO `sys_log_login` VALUES ('341', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-06-08 17:34:35');
|
||||
INSERT INTO `sys_log_login` VALUES ('342', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-06-13 15:16:36');
|
||||
INSERT INTO `sys_log_login` VALUES ('343', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-06-19 17:46:21');
|
||||
INSERT INTO `sys_log_login` VALUES ('344', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-06-19 17:46:25');
|
||||
INSERT INTO `sys_log_login` VALUES ('345', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-06-20 20:54:31');
|
||||
INSERT INTO `sys_log_login` VALUES ('346', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-06-22 12:30:51');
|
||||
INSERT INTO `sys_log_login` VALUES ('347', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-06-24 20:18:27');
|
||||
INSERT INTO `sys_log_login` VALUES ('348', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-06-24 20:18:33');
|
||||
INSERT INTO `sys_log_login` VALUES ('349', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-06-25 20:50:46');
|
||||
INSERT INTO `sys_log_login` VALUES ('350', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-06-26 21:46:53');
|
||||
INSERT INTO `sys_log_login` VALUES ('351', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-06-26 22:23:18');
|
||||
INSERT INTO `sys_log_login` VALUES ('352', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-06-26 22:31:31');
|
||||
INSERT INTO `sys_log_login` VALUES ('353', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-04 15:27:04');
|
||||
INSERT INTO `sys_log_login` VALUES ('354', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-06 17:25:43');
|
||||
INSERT INTO `sys_log_login` VALUES ('355', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-07-07 15:41:41');
|
||||
INSERT INTO `sys_log_login` VALUES ('356', '测试用户', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-07 15:41:50');
|
||||
INSERT INTO `sys_log_login` VALUES ('357', '测试用户', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-07-07 15:45:27');
|
||||
INSERT INTO `sys_log_login` VALUES ('358', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-07 15:45:32');
|
||||
INSERT INTO `sys_log_login` VALUES ('359', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-07-10 09:22:12');
|
||||
INSERT INTO `sys_log_login` VALUES ('360', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-10 09:22:16');
|
||||
INSERT INTO `sys_log_login` VALUES ('361', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-11 10:46:18');
|
||||
INSERT INTO `sys_log_login` VALUES ('362', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-07-11 11:07:49');
|
||||
INSERT INTO `sys_log_login` VALUES ('363', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-11 11:07:54');
|
||||
INSERT INTO `sys_log_login` VALUES ('364', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-13 16:28:25');
|
||||
INSERT INTO `sys_log_login` VALUES ('365', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-07-14 16:59:21');
|
||||
INSERT INTO `sys_log_login` VALUES ('366', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-14 16:59:27');
|
||||
INSERT INTO `sys_log_login` VALUES ('367', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-07-14 16:59:46');
|
||||
INSERT INTO `sys_log_login` VALUES ('368', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-14 16:59:51');
|
||||
INSERT INTO `sys_log_login` VALUES ('369', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-07-17 15:38:30');
|
||||
INSERT INTO `sys_log_login` VALUES ('370', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-17 15:38:39');
|
||||
INSERT INTO `sys_log_login` VALUES ('371', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-07-18 15:39:22');
|
||||
INSERT INTO `sys_log_login` VALUES ('372', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-18 15:39:28');
|
||||
INSERT INTO `sys_log_login` VALUES ('373', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-07-19 16:16:52');
|
||||
INSERT INTO `sys_log_login` VALUES ('374', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-19 16:16:57');
|
||||
INSERT INTO `sys_log_login` VALUES ('375', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-20 16:21:50');
|
||||
INSERT INTO `sys_log_login` VALUES ('376', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-07-21 14:58:54');
|
||||
INSERT INTO `sys_log_login` VALUES ('377', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-21 14:59:04');
|
||||
INSERT INTO `sys_log_login` VALUES ('378', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-22 17:54:15');
|
||||
INSERT INTO `sys_log_login` VALUES ('379', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-07-22 22:44:14');
|
||||
INSERT INTO `sys_log_login` VALUES ('380', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-22 22:44:25');
|
||||
INSERT INTO `sys_log_login` VALUES ('381', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-07-22 22:44:49');
|
||||
INSERT INTO `sys_log_login` VALUES ('382', '测试用户2', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '3', '2023-07-22 22:45:05');
|
||||
INSERT INTO `sys_log_login` VALUES ('383', '测试用户2', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-07-22 22:45:08');
|
||||
INSERT INTO `sys_log_login` VALUES ('384', '测试用户2', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '3', '2023-07-22 22:45:13');
|
||||
INSERT INTO `sys_log_login` VALUES ('385', '测试用户2', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '3', '2023-07-22 22:45:21');
|
||||
INSERT INTO `sys_log_login` VALUES ('386', '测试用户2', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-07-22 22:45:29');
|
||||
INSERT INTO `sys_log_login` VALUES ('387', '测试用户2', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-22 22:45:35');
|
||||
INSERT INTO `sys_log_login` VALUES ('388', '测试用户2', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-07-22 22:45:48');
|
||||
INSERT INTO `sys_log_login` VALUES ('389', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-22 22:45:54');
|
||||
INSERT INTO `sys_log_login` VALUES ('390', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-07-22 22:46:13');
|
||||
INSERT INTO `sys_log_login` VALUES ('391', '测试用户2', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-22 22:46:24');
|
||||
INSERT INTO `sys_log_login` VALUES ('392', '测试用户2', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-07-22 22:52:58');
|
||||
INSERT INTO `sys_log_login` VALUES ('393', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-22 22:53:03');
|
||||
INSERT INTO `sys_log_login` VALUES ('394', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-07-22 22:54:34');
|
||||
INSERT INTO `sys_log_login` VALUES ('395', '测试用户2', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-22 22:54:43');
|
||||
INSERT INTO `sys_log_login` VALUES ('396', '测试用户2', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-07-22 22:55:01');
|
||||
INSERT INTO `sys_log_login` VALUES ('397', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-22 22:55:08');
|
||||
INSERT INTO `sys_log_login` VALUES ('398', 'admin', '101.34.77.101', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36', '1', '0', '2023-09-11 13:54:07');
|
||||
INSERT INTO `sys_log_login` VALUES ('152', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2022-12-25 16:53:04');
|
||||
INSERT INTO `sys_log_login` VALUES ('153', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-25 16:53:14');
|
||||
INSERT INTO `sys_log_login` VALUES ('154', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-27 12:46:14');
|
||||
INSERT INTO `sys_log_login` VALUES ('155', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-28 17:01:30');
|
||||
INSERT INTO `sys_log_login` VALUES ('156', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-12-28 17:01:49');
|
||||
INSERT INTO `sys_log_login` VALUES ('157', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-28 17:01:55');
|
||||
INSERT INTO `sys_log_login` VALUES ('158', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-12-28 17:02:05');
|
||||
INSERT INTO `sys_log_login` VALUES ('159', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-28 17:02:11');
|
||||
INSERT INTO `sys_log_login` VALUES ('160', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-28 17:02:27');
|
||||
INSERT INTO `sys_log_login` VALUES ('161', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-12-28 17:03:28');
|
||||
INSERT INTO `sys_log_login` VALUES ('162', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-12-28 17:03:35');
|
||||
INSERT INTO `sys_log_login` VALUES ('163', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-28 17:03:42');
|
||||
INSERT INTO `sys_log_login` VALUES ('164', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-28 17:07:12');
|
||||
INSERT INTO `sys_log_login` VALUES ('165', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-28 17:07:40');
|
||||
INSERT INTO `sys_log_login` VALUES ('166', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-28 17:08:30');
|
||||
INSERT INTO `sys_log_login` VALUES ('167', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-28 17:08:42');
|
||||
INSERT INTO `sys_log_login` VALUES ('168', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-28 17:12:53');
|
||||
INSERT INTO `sys_log_login` VALUES ('169', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-12-28 17:44:39');
|
||||
INSERT INTO `sys_log_login` VALUES ('170', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-28 17:44:49');
|
||||
INSERT INTO `sys_log_login` VALUES ('171', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-12-30 09:53:45');
|
||||
INSERT INTO `sys_log_login` VALUES ('172', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2022-12-30 09:53:45');
|
||||
INSERT INTO `sys_log_login` VALUES ('173', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-30 09:53:52');
|
||||
INSERT INTO `sys_log_login` VALUES ('174', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2022-12-31 11:56:53');
|
||||
INSERT INTO `sys_log_login` VALUES ('175', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-01 12:18:29');
|
||||
INSERT INTO `sys_log_login` VALUES ('176', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-02 13:08:57');
|
||||
INSERT INTO `sys_log_login` VALUES ('177', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-03 20:45:34');
|
||||
INSERT INTO `sys_log_login` VALUES ('178', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2023-01-04 21:08:34');
|
||||
INSERT INTO `sys_log_login` VALUES ('179', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2023-01-04 21:08:42');
|
||||
INSERT INTO `sys_log_login` VALUES ('180', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-04 21:08:48');
|
||||
INSERT INTO `sys_log_login` VALUES ('181', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2023-01-05 21:13:59');
|
||||
INSERT INTO `sys_log_login` VALUES ('182', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-05 21:14:07');
|
||||
INSERT INTO `sys_log_login` VALUES ('183', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-07 15:55:06');
|
||||
INSERT INTO `sys_log_login` VALUES ('184', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2023-01-08 17:28:55');
|
||||
INSERT INTO `sys_log_login` VALUES ('185', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-08 17:29:22');
|
||||
INSERT INTO `sys_log_login` VALUES ('186', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-09 20:02:14');
|
||||
INSERT INTO `sys_log_login` VALUES ('187', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-10 22:21:51');
|
||||
INSERT INTO `sys_log_login` VALUES ('188', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2023-01-12 10:26:37');
|
||||
INSERT INTO `sys_log_login` VALUES ('189', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2023-01-12 10:26:47');
|
||||
INSERT INTO `sys_log_login` VALUES ('190', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-12 10:26:53');
|
||||
INSERT INTO `sys_log_login` VALUES ('191', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-13 10:28:17');
|
||||
INSERT INTO `sys_log_login` VALUES ('192', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-14 11:41:45');
|
||||
INSERT INTO `sys_log_login` VALUES ('193', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2023-01-14 19:22:05');
|
||||
INSERT INTO `sys_log_login` VALUES ('194', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-14 19:22:14');
|
||||
INSERT INTO `sys_log_login` VALUES ('195', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-15 20:52:51');
|
||||
INSERT INTO `sys_log_login` VALUES ('196', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-17 16:29:17');
|
||||
INSERT INTO `sys_log_login` VALUES ('197', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2023-01-17 17:06:30');
|
||||
INSERT INTO `sys_log_login` VALUES ('198', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-17 17:06:41');
|
||||
INSERT INTO `sys_log_login` VALUES ('199', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2023-01-18 16:00:40');
|
||||
INSERT INTO `sys_log_login` VALUES ('200', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2023-01-18 16:04:57');
|
||||
INSERT INTO `sys_log_login` VALUES ('201', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-18 16:05:04');
|
||||
INSERT INTO `sys_log_login` VALUES ('202', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-19 16:50:06');
|
||||
INSERT INTO `sys_log_login` VALUES ('203', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2023-01-19 21:47:25');
|
||||
INSERT INTO `sys_log_login` VALUES ('204', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-19 21:47:36');
|
||||
INSERT INTO `sys_log_login` VALUES ('205', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-20 22:07:37');
|
||||
INSERT INTO `sys_log_login` VALUES ('206', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-21 14:19:09');
|
||||
INSERT INTO `sys_log_login` VALUES ('207', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2023-01-22 15:47:10');
|
||||
INSERT INTO `sys_log_login` VALUES ('208', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2023-01-22 15:47:15');
|
||||
INSERT INTO `sys_log_login` VALUES ('209', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-22 15:47:20');
|
||||
INSERT INTO `sys_log_login` VALUES ('210', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2023-01-22 16:01:06');
|
||||
INSERT INTO `sys_log_login` VALUES ('211', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-22 16:01:13');
|
||||
INSERT INTO `sys_log_login` VALUES ('212', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2023-01-22 20:35:22');
|
||||
INSERT INTO `sys_log_login` VALUES ('213', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-22 20:37:34');
|
||||
INSERT INTO `sys_log_login` VALUES ('214', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-30 11:21:20');
|
||||
INSERT INTO `sys_log_login` VALUES ('215', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2023-01-30 11:21:21');
|
||||
INSERT INTO `sys_log_login` VALUES ('216', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2023-01-30 11:43:26');
|
||||
INSERT INTO `sys_log_login` VALUES ('217', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-01-30 11:44:19');
|
||||
INSERT INTO `sys_log_login` VALUES ('218', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '0', '2', '2023-02-06 15:37:19');
|
||||
INSERT INTO `sys_log_login` VALUES ('219', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-02-06 15:37:28');
|
||||
INSERT INTO `sys_log_login` VALUES ('220', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2023-02-06 16:05:00');
|
||||
INSERT INTO `sys_log_login` VALUES ('221', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-02-06 16:05:11');
|
||||
INSERT INTO `sys_log_login` VALUES ('222', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '1', '2023-02-06 16:13:05');
|
||||
INSERT INTO `sys_log_login` VALUES ('223', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-02-06 16:13:17');
|
||||
INSERT INTO `sys_log_login` VALUES ('224', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-02-08 09:56:59');
|
||||
INSERT INTO `sys_log_login` VALUES ('225', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36', '1', '0', '2023-02-09 14:55:13');
|
||||
INSERT INTO `sys_log_login` VALUES ('226', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-11 21:39:31');
|
||||
INSERT INTO `sys_log_login` VALUES ('227', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-13 14:53:06');
|
||||
INSERT INTO `sys_log_login` VALUES ('228', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-14 09:56:41');
|
||||
INSERT INTO `sys_log_login` VALUES ('229', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-14 09:56:48');
|
||||
INSERT INTO `sys_log_login` VALUES ('230', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-14 22:43:51');
|
||||
INSERT INTO `sys_log_login` VALUES ('231', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-14 22:43:59');
|
||||
INSERT INTO `sys_log_login` VALUES ('232', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-15 11:17:02');
|
||||
INSERT INTO `sys_log_login` VALUES ('233', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-15 11:17:08');
|
||||
INSERT INTO `sys_log_login` VALUES ('234', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-16 12:50:31');
|
||||
INSERT INTO `sys_log_login` VALUES ('235', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-16 14:51:51');
|
||||
INSERT INTO `sys_log_login` VALUES ('236', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '0', '2', '2023-02-16 14:54:55');
|
||||
INSERT INTO `sys_log_login` VALUES ('237', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-16 14:55:02');
|
||||
INSERT INTO `sys_log_login` VALUES ('238', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-17 11:37:42');
|
||||
INSERT INTO `sys_log_login` VALUES ('239', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-17 11:37:50');
|
||||
INSERT INTO `sys_log_login` VALUES ('240', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '0', '2', '2023-02-20 11:04:14');
|
||||
INSERT INTO `sys_log_login` VALUES ('241', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '0', '2', '2023-02-20 11:04:14');
|
||||
INSERT INTO `sys_log_login` VALUES ('242', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-20 11:04:21');
|
||||
INSERT INTO `sys_log_login` VALUES ('243', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-20 14:11:57');
|
||||
INSERT INTO `sys_log_login` VALUES ('244', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '0', '2', '2023-02-20 14:12:07');
|
||||
INSERT INTO `sys_log_login` VALUES ('245', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-20 14:12:13');
|
||||
INSERT INTO `sys_log_login` VALUES ('246', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-20 14:15:04');
|
||||
INSERT INTO `sys_log_login` VALUES ('247', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-20 14:15:11');
|
||||
INSERT INTO `sys_log_login` VALUES ('248', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-22 08:58:09');
|
||||
INSERT INTO `sys_log_login` VALUES ('249', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-22 14:49:33');
|
||||
INSERT INTO `sys_log_login` VALUES ('250', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-22 14:49:40');
|
||||
INSERT INTO `sys_log_login` VALUES ('251', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-23 18:28:58');
|
||||
INSERT INTO `sys_log_login` VALUES ('252', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-25 20:57:48');
|
||||
INSERT INTO `sys_log_login` VALUES ('253', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-26 11:55:13');
|
||||
INSERT INTO `sys_log_login` VALUES ('254', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-26 12:06:15');
|
||||
INSERT INTO `sys_log_login` VALUES ('255', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-26 14:54:42');
|
||||
INSERT INTO `sys_log_login` VALUES ('256', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-26 15:18:35');
|
||||
INSERT INTO `sys_log_login` VALUES ('257', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '0', '2', '2023-02-26 15:18:43');
|
||||
INSERT INTO `sys_log_login` VALUES ('258', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-26 15:18:51');
|
||||
INSERT INTO `sys_log_login` VALUES ('259', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-26 21:00:09');
|
||||
INSERT INTO `sys_log_login` VALUES ('260', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-26 21:10:08');
|
||||
INSERT INTO `sys_log_login` VALUES ('261', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-26 21:10:16');
|
||||
INSERT INTO `sys_log_login` VALUES ('262', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-26 21:18:16');
|
||||
INSERT INTO `sys_log_login` VALUES ('263', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-26 21:20:30');
|
||||
INSERT INTO `sys_log_login` VALUES ('264', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-26 21:31:09');
|
||||
INSERT INTO `sys_log_login` VALUES ('265', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-26 21:31:14');
|
||||
INSERT INTO `sys_log_login` VALUES ('266', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-26 21:33:11');
|
||||
INSERT INTO `sys_log_login` VALUES ('267', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-26 21:35:29');
|
||||
INSERT INTO `sys_log_login` VALUES ('268', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-26 21:59:01');
|
||||
INSERT INTO `sys_log_login` VALUES ('269', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-26 21:59:09');
|
||||
INSERT INTO `sys_log_login` VALUES ('270', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-26 22:01:52');
|
||||
INSERT INTO `sys_log_login` VALUES ('271', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-26 22:02:00');
|
||||
INSERT INTO `sys_log_login` VALUES ('272', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-02-26 22:04:18');
|
||||
INSERT INTO `sys_log_login` VALUES ('273', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-02-26 22:04:25');
|
||||
INSERT INTO `sys_log_login` VALUES ('274', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-03-03 15:15:31');
|
||||
INSERT INTO `sys_log_login` VALUES ('275', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-03-05 18:37:02');
|
||||
INSERT INTO `sys_log_login` VALUES ('276', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-03-07 17:07:54');
|
||||
INSERT INTO `sys_log_login` VALUES ('277', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-03-14 12:31:29');
|
||||
INSERT INTO `sys_log_login` VALUES ('278', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-03-28 10:48:49');
|
||||
INSERT INTO `sys_log_login` VALUES ('279', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-03-28 13:40:53');
|
||||
INSERT INTO `sys_log_login` VALUES ('280', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-03-29 12:10:54');
|
||||
INSERT INTO `sys_log_login` VALUES ('281', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-03-29 15:03:12');
|
||||
INSERT INTO `sys_log_login` VALUES ('282', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-03-30 11:13:39');
|
||||
INSERT INTO `sys_log_login` VALUES ('283', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-03-30 11:14:16');
|
||||
INSERT INTO `sys_log_login` VALUES ('284', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-03-31 08:58:46');
|
||||
INSERT INTO `sys_log_login` VALUES ('285', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-03-31 08:58:53');
|
||||
INSERT INTO `sys_log_login` VALUES ('286', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-03-31 08:59:16');
|
||||
INSERT INTO `sys_log_login` VALUES ('287', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '0', '2', '2023-03-31 10:39:14');
|
||||
INSERT INTO `sys_log_login` VALUES ('288', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '0', '2', '2023-03-31 10:39:15');
|
||||
INSERT INTO `sys_log_login` VALUES ('289', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '0', '2', '2023-03-31 10:39:21');
|
||||
INSERT INTO `sys_log_login` VALUES ('290', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-03-31 10:39:27');
|
||||
INSERT INTO `sys_log_login` VALUES ('291', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-03-31 11:12:06');
|
||||
INSERT INTO `sys_log_login` VALUES ('292', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-04-01 12:06:39');
|
||||
INSERT INTO `sys_log_login` VALUES ('293', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-04-03 10:36:26');
|
||||
INSERT INTO `sys_log_login` VALUES ('294', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-04-03 15:30:31');
|
||||
INSERT INTO `sys_log_login` VALUES ('295', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-04-03 15:30:36');
|
||||
INSERT INTO `sys_log_login` VALUES ('296', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '0', '2', '2023-04-05 12:19:44');
|
||||
INSERT INTO `sys_log_login` VALUES ('297', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '0', '2', '2023-04-05 12:19:54');
|
||||
INSERT INTO `sys_log_login` VALUES ('298', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '0', '2', '2023-04-05 12:20:05');
|
||||
INSERT INTO `sys_log_login` VALUES ('299', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-04-05 12:20:11');
|
||||
INSERT INTO `sys_log_login` VALUES ('300', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-04-05 12:22:29');
|
||||
INSERT INTO `sys_log_login` VALUES ('301', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-04-05 12:22:35');
|
||||
INSERT INTO `sys_log_login` VALUES ('302', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '0', '2', '2023-04-05 12:22:35');
|
||||
INSERT INTO `sys_log_login` VALUES ('303', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-04-06 09:59:56');
|
||||
INSERT INTO `sys_log_login` VALUES ('304', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '0', '2', '2023-04-06 10:00:01');
|
||||
INSERT INTO `sys_log_login` VALUES ('305', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-04-06 10:00:08');
|
||||
INSERT INTO `sys_log_login` VALUES ('306', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-04-07 10:05:47');
|
||||
INSERT INTO `sys_log_login` VALUES ('307', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-04-07 11:34:24');
|
||||
INSERT INTO `sys_log_login` VALUES ('308', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-04-08 12:10:45');
|
||||
INSERT INTO `sys_log_login` VALUES ('309', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-04-08 12:27:14');
|
||||
INSERT INTO `sys_log_login` VALUES ('310', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-04-08 12:30:57');
|
||||
INSERT INTO `sys_log_login` VALUES ('311', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '1', '2023-04-08 12:34:08');
|
||||
INSERT INTO `sys_log_login` VALUES ('312', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-04-08 12:36:23');
|
||||
INSERT INTO `sys_log_login` VALUES ('313', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-04-20 11:53:27');
|
||||
INSERT INTO `sys_log_login` VALUES ('314', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-04-23 14:17:59');
|
||||
INSERT INTO `sys_log_login` VALUES ('315', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36', '1', '0', '2023-05-08 09:38:18');
|
||||
INSERT INTO `sys_log_login` VALUES ('316', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-05-18 15:34:36');
|
||||
INSERT INTO `sys_log_login` VALUES ('317', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-05-18 15:34:38');
|
||||
INSERT INTO `sys_log_login` VALUES ('318', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-05-19 16:06:02');
|
||||
INSERT INTO `sys_log_login` VALUES ('319', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-05-23 09:19:02');
|
||||
INSERT INTO `sys_log_login` VALUES ('320', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-05-23 09:33:56');
|
||||
INSERT INTO `sys_log_login` VALUES ('321', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-05-23 09:44:03');
|
||||
INSERT INTO `sys_log_login` VALUES ('322', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-05-23 09:44:09');
|
||||
INSERT INTO `sys_log_login` VALUES ('323', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-05-24 15:02:29');
|
||||
INSERT INTO `sys_log_login` VALUES ('324', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-05-24 15:02:38');
|
||||
INSERT INTO `sys_log_login` VALUES ('325', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-05-25 17:04:24');
|
||||
INSERT INTO `sys_log_login` VALUES ('326', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-05-27 09:57:33');
|
||||
INSERT INTO `sys_log_login` VALUES ('327', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-05-28 09:17:01');
|
||||
INSERT INTO `sys_log_login` VALUES ('328', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-05-29 10:39:30');
|
||||
INSERT INTO `sys_log_login` VALUES ('329', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-05-30 12:30:43');
|
||||
INSERT INTO `sys_log_login` VALUES ('330', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-05-30 14:29:57');
|
||||
INSERT INTO `sys_log_login` VALUES ('331', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-05-30 20:42:15');
|
||||
INSERT INTO `sys_log_login` VALUES ('332', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-05-30 20:42:21');
|
||||
INSERT INTO `sys_log_login` VALUES ('333', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-05-30 20:42:25');
|
||||
INSERT INTO `sys_log_login` VALUES ('334', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-05-30 20:43:45');
|
||||
INSERT INTO `sys_log_login` VALUES ('335', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-05-30 20:47:41');
|
||||
INSERT INTO `sys_log_login` VALUES ('336', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-06-01 16:15:03');
|
||||
INSERT INTO `sys_log_login` VALUES ('337', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-06-01 16:15:03');
|
||||
INSERT INTO `sys_log_login` VALUES ('338', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-06-03 10:52:01');
|
||||
INSERT INTO `sys_log_login` VALUES ('339', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-06-08 17:29:40');
|
||||
INSERT INTO `sys_log_login` VALUES ('340', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-06-08 17:29:51');
|
||||
INSERT INTO `sys_log_login` VALUES ('341', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-06-08 17:34:35');
|
||||
INSERT INTO `sys_log_login` VALUES ('342', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-06-13 15:16:36');
|
||||
INSERT INTO `sys_log_login` VALUES ('343', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-06-19 17:46:21');
|
||||
INSERT INTO `sys_log_login` VALUES ('344', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-06-19 17:46:25');
|
||||
INSERT INTO `sys_log_login` VALUES ('345', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-06-20 20:54:31');
|
||||
INSERT INTO `sys_log_login` VALUES ('346', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-06-22 12:30:51');
|
||||
INSERT INTO `sys_log_login` VALUES ('347', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-06-24 20:18:27');
|
||||
INSERT INTO `sys_log_login` VALUES ('348', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-06-24 20:18:33');
|
||||
INSERT INTO `sys_log_login` VALUES ('349', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-06-25 20:50:46');
|
||||
INSERT INTO `sys_log_login` VALUES ('350', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-06-26 21:46:53');
|
||||
INSERT INTO `sys_log_login` VALUES ('351', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-06-26 22:23:18');
|
||||
INSERT INTO `sys_log_login` VALUES ('352', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-06-26 22:31:31');
|
||||
INSERT INTO `sys_log_login` VALUES ('353', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-04 15:27:04');
|
||||
INSERT INTO `sys_log_login` VALUES ('354', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-06 17:25:43');
|
||||
INSERT INTO `sys_log_login` VALUES ('355', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-07-07 15:41:41');
|
||||
INSERT INTO `sys_log_login` VALUES ('356', '测试用户', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-07 15:41:50');
|
||||
INSERT INTO `sys_log_login` VALUES ('357', '测试用户', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-07-07 15:45:27');
|
||||
INSERT INTO `sys_log_login` VALUES ('358', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-07 15:45:32');
|
||||
INSERT INTO `sys_log_login` VALUES ('359', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-07-10 09:22:12');
|
||||
INSERT INTO `sys_log_login` VALUES ('360', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-10 09:22:16');
|
||||
INSERT INTO `sys_log_login` VALUES ('361', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-11 10:46:18');
|
||||
INSERT INTO `sys_log_login` VALUES ('362', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-07-11 11:07:49');
|
||||
INSERT INTO `sys_log_login` VALUES ('363', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-11 11:07:54');
|
||||
INSERT INTO `sys_log_login` VALUES ('364', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-13 16:28:25');
|
||||
INSERT INTO `sys_log_login` VALUES ('365', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-07-14 16:59:21');
|
||||
INSERT INTO `sys_log_login` VALUES ('366', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-14 16:59:27');
|
||||
INSERT INTO `sys_log_login` VALUES ('367', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-07-14 16:59:46');
|
||||
INSERT INTO `sys_log_login` VALUES ('368', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-14 16:59:51');
|
||||
INSERT INTO `sys_log_login` VALUES ('369', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-07-17 15:38:30');
|
||||
INSERT INTO `sys_log_login` VALUES ('370', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-17 15:38:39');
|
||||
INSERT INTO `sys_log_login` VALUES ('371', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-07-18 15:39:22');
|
||||
INSERT INTO `sys_log_login` VALUES ('372', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-18 15:39:28');
|
||||
INSERT INTO `sys_log_login` VALUES ('373', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-07-19 16:16:52');
|
||||
INSERT INTO `sys_log_login` VALUES ('374', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-19 16:16:57');
|
||||
INSERT INTO `sys_log_login` VALUES ('375', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-20 16:21:50');
|
||||
INSERT INTO `sys_log_login` VALUES ('376', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-07-21 14:58:54');
|
||||
INSERT INTO `sys_log_login` VALUES ('377', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-21 14:59:04');
|
||||
INSERT INTO `sys_log_login` VALUES ('378', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-22 17:54:15');
|
||||
INSERT INTO `sys_log_login` VALUES ('379', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-07-22 22:44:14');
|
||||
INSERT INTO `sys_log_login` VALUES ('380', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-22 22:44:25');
|
||||
INSERT INTO `sys_log_login` VALUES ('381', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-07-22 22:44:49');
|
||||
INSERT INTO `sys_log_login` VALUES ('382', '测试用户2', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '3', '2023-07-22 22:45:05');
|
||||
INSERT INTO `sys_log_login` VALUES ('383', '测试用户2', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-07-22 22:45:08');
|
||||
INSERT INTO `sys_log_login` VALUES ('384', '测试用户2', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '3', '2023-07-22 22:45:13');
|
||||
INSERT INTO `sys_log_login` VALUES ('385', '测试用户2', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '3', '2023-07-22 22:45:21');
|
||||
INSERT INTO `sys_log_login` VALUES ('386', '测试用户2', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '0', '2', '2023-07-22 22:45:29');
|
||||
INSERT INTO `sys_log_login` VALUES ('387', '测试用户2', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-22 22:45:35');
|
||||
INSERT INTO `sys_log_login` VALUES ('388', '测试用户2', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-07-22 22:45:48');
|
||||
INSERT INTO `sys_log_login` VALUES ('389', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-22 22:45:54');
|
||||
INSERT INTO `sys_log_login` VALUES ('390', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-07-22 22:46:13');
|
||||
INSERT INTO `sys_log_login` VALUES ('391', '测试用户2', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-22 22:46:24');
|
||||
INSERT INTO `sys_log_login` VALUES ('392', '测试用户2', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-07-22 22:52:58');
|
||||
INSERT INTO `sys_log_login` VALUES ('393', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-22 22:53:03');
|
||||
INSERT INTO `sys_log_login` VALUES ('394', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-07-22 22:54:34');
|
||||
INSERT INTO `sys_log_login` VALUES ('395', '测试用户2', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-22 22:54:43');
|
||||
INSERT INTO `sys_log_login` VALUES ('396', '测试用户2', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '1', '2023-07-22 22:55:01');
|
||||
INSERT INTO `sys_log_login` VALUES ('397', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36', '1', '0', '2023-07-22 22:55:08');
|
||||
INSERT INTO `sys_log_login` VALUES ('398', 'admin', '127.0.0.1', '内网IP', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36', '1', '0', '2023-09-11 13:54:07');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sys_menu
|
||||
|
|
|
@ -95,5 +95,10 @@ public class DataAccessDto implements Serializable {
|
|||
@JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
|
||||
private Date updateTime;
|
||||
|
||||
@Schema(description = "判断是否是datax同步")
|
||||
private String isDatax;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -10,6 +10,46 @@
|
|||
<packaging>jar</packaging>
|
||||
|
||||
<dependencies>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.mongodb</groupId>
|
||||
<artifactId>mongodb-driver-sync</artifactId>
|
||||
<version>4.4.0</version> <!-- 使用最新版本 -->
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>commons-net</groupId>
|
||||
<artifactId>commons-net</artifactId>
|
||||
<version>3.8.0</version> <!-- 请根据实际情况使用最新版本 -->
|
||||
</dependency>
|
||||
|
||||
<!-- Elasticsearch Low Level REST Client -->
|
||||
<dependency>
|
||||
<groupId>org.elasticsearch.client</groupId>
|
||||
<artifactId>elasticsearch-rest-client</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!-- Elasticsearch High Level REST Client -->
|
||||
<dependency>
|
||||
<groupId>org.elasticsearch.client</groupId>
|
||||
<artifactId>elasticsearch-rest-high-level-client</artifactId>
|
||||
</dependency>
|
||||
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.kafka</groupId>
|
||||
<artifactId>kafka-clients</artifactId>
|
||||
<version>2.8.0</version> <!-- 检查是否有更新的版本 -->
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>redis.clients</groupId>
|
||||
<artifactId>jedis</artifactId>
|
||||
<version>2.9.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>net.srt</groupId>
|
||||
<artifactId>srt-cloud-api</artifactId>
|
||||
|
|
|
@ -64,4 +64,7 @@ public class DataAccessClientDto {
|
|||
private List<PatternMapper> tableNameMapper;
|
||||
@Schema(description = "字段名名映射")
|
||||
private List<PatternMapper> columnNameMapper;
|
||||
@Schema(description = "同步类型")
|
||||
private String isDatax;
|
||||
|
||||
}
|
||||
|
|
|
@ -115,5 +115,7 @@ public class DataAccessEntity extends BaseEntity {
|
|||
*/
|
||||
private Date nextRunTime;
|
||||
|
||||
private Integer isDatax;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package net.srt.entity;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
|
@ -78,5 +79,18 @@ public class DataDatabaseEntity extends BaseEntity {
|
|||
*/
|
||||
private Long projectId;
|
||||
|
||||
@Schema(description = "是否是关系型数据库")
|
||||
private String isJdbc;
|
||||
|
||||
@Schema(description = "es索引")
|
||||
private String databaseIndex;
|
||||
|
||||
@Schema(description = "es文档")
|
||||
private String databaseDocument;
|
||||
|
||||
|
||||
@Schema(description = "kafka主题")
|
||||
private String databaseKafKa;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
package net.srt.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum IsJdbc {
|
||||
YES("是"),
|
||||
NO("否")
|
||||
;
|
||||
private String value;
|
||||
public static IsJdbc getByValue(String value) {
|
||||
for (IsJdbc isJdbc : IsJdbc.values()) {
|
||||
if (isJdbc.value.equals(value)) {
|
||||
return isJdbc;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package net.srt.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum Judgment {
|
||||
REDIS(17),KAFKA(18),ES(19),FTP(20),MONGODB(21);
|
||||
|
||||
private Integer index;
|
||||
|
||||
}
|
|
@ -4,6 +4,9 @@ import cn.hutool.core.util.StrUtil;
|
|||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.mongodb.client.MongoClient;
|
||||
import com.mongodb.client.MongoClients;
|
||||
import com.mongodb.client.MongoDatabase;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.SneakyThrows;
|
||||
import net.sf.jsqlparser.parser.CCJSqlParserUtil;
|
||||
|
@ -18,6 +21,8 @@ import net.srt.dao.DataDatabaseDao;
|
|||
import net.srt.dto.SqlConsole;
|
||||
import net.srt.entity.DataAccessEntity;
|
||||
import net.srt.entity.DataDatabaseEntity;
|
||||
import net.srt.enums.IsJdbc;
|
||||
import net.srt.enums.Judgment;
|
||||
import net.srt.framework.common.cache.bean.DataProjectCacheBean;
|
||||
import net.srt.framework.common.exception.ServerException;
|
||||
import net.srt.framework.common.page.PageResult;
|
||||
|
@ -33,8 +38,24 @@ import net.srt.vo.DataDatabaseVO;
|
|||
import net.srt.vo.SchemaTableDataVo;
|
||||
import net.srt.vo.SqlGenerationVo;
|
||||
import net.srt.vo.TableVo;
|
||||
import org.apache.commons.net.ftp.FTP;
|
||||
import org.apache.commons.net.ftp.FTPClient;
|
||||
import org.apache.http.HttpHost;
|
||||
import org.apache.kafka.clients.admin.AdminClient;
|
||||
import org.apache.kafka.clients.admin.KafkaAdminClient;
|
||||
import org.apache.kafka.clients.admin.ListTopicsResult;
|
||||
import org.apache.kafka.clients.producer.Producer;
|
||||
import org.apache.kafka.clients.producer.ProducerConfig;
|
||||
import org.apache.kafka.clients.producer.ProducerRecord;
|
||||
import org.apache.kafka.common.KafkaFuture;
|
||||
import org.elasticsearch.client.RequestOptions;
|
||||
import org.elasticsearch.client.RestClient;
|
||||
import org.elasticsearch.client.RestHighLevelClient;
|
||||
import org.elasticsearch.client.indices.GetIndexRequest;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import redis.clients.jedis.Jedis;
|
||||
import redis.clients.jedis.exceptions.JedisConnectionException;
|
||||
import srt.cloud.framework.dbswitch.common.type.ProductTypeEnum;
|
||||
import srt.cloud.framework.dbswitch.common.util.StringUtil;
|
||||
import srt.cloud.framework.dbswitch.core.model.ColumnDescription;
|
||||
|
@ -43,8 +64,12 @@ import srt.cloud.framework.dbswitch.core.model.TableDescription;
|
|||
import srt.cloud.framework.dbswitch.core.service.IMetaDataByJdbcService;
|
||||
import srt.cloud.framework.dbswitch.core.service.impl.MetaDataByJdbcServiceImpl;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.annotation.Resource;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
|
@ -54,11 +79,21 @@ import java.util.stream.Collectors;
|
|||
* @since 1.0.0 2022-10-09
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class DataDatabaseServiceImpl extends BaseServiceImpl<DataDatabaseDao, DataDatabaseEntity> implements DataDatabaseService {
|
||||
|
||||
private final DataAccessDao dataAccessDao;
|
||||
private final DataAccessService dataAccessService;
|
||||
@Resource
|
||||
private DataAccessDao dataAccessDao;
|
||||
@Resource
|
||||
private DataAccessService dataAccessService;
|
||||
@Resource
|
||||
private EsService esService;
|
||||
@Resource
|
||||
private MongoService mongoService;
|
||||
@Resource
|
||||
private KafkaService kafkaService;
|
||||
@Resource
|
||||
private RedisService redisService;
|
||||
@Resource
|
||||
private FtpService ftpService;
|
||||
|
||||
@Override
|
||||
public PageResult<DataDatabaseVO> page(DataDatabaseQuery query) {
|
||||
|
@ -83,13 +118,16 @@ public class DataDatabaseServiceImpl extends BaseServiceImpl<DataDatabaseDao, Da
|
|||
public void save(DataDatabaseVO vo) {
|
||||
DataDatabaseEntity entity = DataDatabaseConvert.INSTANCE.convert(vo);
|
||||
entity.setProjectId(getProjectId());
|
||||
entity.setIsJdbc(vo.getIsJdbc());
|
||||
entity.setDatabaseIndex(vo.getDatabaseIndex());
|
||||
entity.setDatabaseDocument(vo.getDatabaseDocument());
|
||||
entity.setDatabaseKafKa(vo.getDatabaseKafKa());
|
||||
setJdbcUrlByEntity(entity);
|
||||
baseMapper.insert(entity);
|
||||
try {
|
||||
testOnline(DataDatabaseConvert.INSTANCE.convert(entity));
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -130,29 +168,180 @@ public class DataDatabaseServiceImpl extends BaseServiceImpl<DataDatabaseDao, Da
|
|||
|
||||
removeByIds(idList);
|
||||
}
|
||||
//hhh
|
||||
|
||||
@Override
|
||||
public void testOnline(DataDatabaseVO vo) {
|
||||
ProductTypeEnum productTypeEnum = ProductTypeEnum.getByIndex(vo.getDatabaseType());
|
||||
|
||||
IMetaDataByJdbcService metaDataService = new MetaDataByJdbcServiceImpl(productTypeEnum);
|
||||
if (StringUtil.isBlank(vo.getJdbcUrl())) {
|
||||
vo.setJdbcUrl(productTypeEnum.getUrl()
|
||||
.replace("{host}", vo.getDatabaseIp())
|
||||
.replace("{port}", vo.getDatabasePort())
|
||||
.replace("{database}", vo.getDatabaseName()));
|
||||
if (StringUtil.isNotBlank(vo.getJdbcUrl())) {
|
||||
if(productTypeEnum.getUrl()!=null){
|
||||
vo.setJdbcUrl(productTypeEnum.getUrl()
|
||||
.replace("{host}", vo.getDatabaseIp())
|
||||
.replace("{port}", vo.getDatabasePort())
|
||||
.replace("{database}", vo.getDatabaseName()));
|
||||
}
|
||||
}
|
||||
if (vo.getIsJdbc().equals(IsJdbc.YES.getValue())){
|
||||
metaDataService.testQuerySQL(
|
||||
vo.getJdbcUrl(),
|
||||
vo.getUserName(),
|
||||
vo.getPassword(),
|
||||
productTypeEnum.getTestSql()
|
||||
);
|
||||
}else {
|
||||
//判断是什么类型进行连接
|
||||
if(vo.getDatabaseType().equals(Judgment.REDIS.getIndex())){
|
||||
//连接本地的 Redis 服务
|
||||
// 创建 Jedis 对象
|
||||
Jedis jedis = new Jedis(vo.getDatabaseIp(), Integer.valueOf(vo.getDatabasePort()));
|
||||
try {
|
||||
// 尝试连接到 Redis 服务器
|
||||
jedis.connect();
|
||||
|
||||
// 检查是否连接成功
|
||||
if (jedis.isConnected()) {
|
||||
System.out.println("redis连接成功");
|
||||
} else {
|
||||
System.out.println("redis连接失败");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
// 捕获连接异常
|
||||
System.err.println("redis异常" + e.getMessage());
|
||||
throw new ServerException("连接失败");
|
||||
} finally {
|
||||
// 关闭连接
|
||||
jedis.close();
|
||||
}
|
||||
}
|
||||
|
||||
if(vo.getDatabaseType().equals(Judgment.KAFKA.getIndex())){
|
||||
// 配置生产者属性
|
||||
Properties properties = new Properties();
|
||||
String ip = vo.getDatabaseIp()+":"+vo.getDatabasePort(); // 设置一个无效的IP和端口,以模拟连接失败的情况
|
||||
properties.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, ip);
|
||||
properties.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, org.apache.kafka.common.serialization.StringSerializer.class.getName());
|
||||
properties.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, org.apache.kafka.common.serialization.StringSerializer.class.getName());
|
||||
|
||||
// 创建生产者方娇大傻蛋蠢猪大傻春
|
||||
Producer<String, String> producer = null;
|
||||
try {
|
||||
producer = new org.apache.kafka.clients.producer.KafkaProducer<>(properties);
|
||||
|
||||
// 消息
|
||||
String message = "Default Message";
|
||||
|
||||
// 发送消息到主题
|
||||
producer.send(new ProducerRecord<>(vo.getDatabaseKafKa(), message));
|
||||
System.out.println("消息发送成功");
|
||||
} catch (Exception e) {
|
||||
System.err.println("连接失败: " + e.getMessage());
|
||||
throw new ServerException("连接失败");
|
||||
} finally {
|
||||
// 关闭生产者
|
||||
if (producer != null) {
|
||||
producer.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(vo.getDatabaseType().equals(Judgment.MONGODB.getIndex())){
|
||||
// 连接到 MongoDB 本地服务器
|
||||
String url = productTypeEnum.getUrl()
|
||||
.replace("{username}", vo.getUserName())
|
||||
.replace("{password}", vo.getPassword())
|
||||
.replace("{host}", vo.getDatabaseIp())
|
||||
.replace("{port}", vo.getDatabasePort())
|
||||
.replace("{database}", vo.getDatabaseName());
|
||||
try (MongoClient mongoClient = MongoClients.create(url)) {
|
||||
// 获取到数据库对象
|
||||
MongoDatabase database = mongoClient.getDatabase(vo.getDatabaseName());
|
||||
System.out.println("连接数据库成功");
|
||||
} catch (Exception e) {
|
||||
System.err.println("连接MongoDB报错: " + e.getMessage());
|
||||
throw new ServerException("连接失败");
|
||||
}
|
||||
}
|
||||
//
|
||||
if(vo.getDatabaseType().equals(Judgment.FTP.getIndex())){
|
||||
// String server = "ftp.example.com";
|
||||
String user = vo.getUserName();
|
||||
String password = vo.getPassword();
|
||||
|
||||
FTPClient ftpClient = new FTPClient();
|
||||
|
||||
try {
|
||||
// 连接到 FTP 服务器
|
||||
ftpClient.connect(vo.getDatabaseIp(),Integer.valueOf(vo.getDatabasePort()));
|
||||
ftpClient.login(user, password);
|
||||
ftpClient.enterLocalPassiveMode();
|
||||
|
||||
// 打印服务器返回的欢迎信息
|
||||
System.out.println("Connected to " + vo.getDatabaseIp() + ".");
|
||||
System.out.println(ftpClient.getReplyString());
|
||||
|
||||
// 设置文件传输类型为二进制
|
||||
ftpClient.setFileType(FTP.ASCII_FILE_TYPE);
|
||||
|
||||
// 上传文件
|
||||
uploadFile(ftpClient, vo.getDatabaseIp(), "D:/desktop/ftp.txt");
|
||||
|
||||
// 下载文件
|
||||
// downloadFile(ftpClient, "C:/Users/栗永斌/Desktop/新建 文本文档.txt", "C:/Users/栗永斌/Desktop/新建 文本文档.txt");
|
||||
|
||||
// 登出并断开连接
|
||||
ftpClient.logout();
|
||||
ftpClient.disconnect();
|
||||
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
//
|
||||
|
||||
|
||||
|
||||
}
|
||||
metaDataService.testQuerySQL(
|
||||
vo.getJdbcUrl(),
|
||||
vo.getUserName(),
|
||||
vo.getPassword(),
|
||||
productTypeEnum.getTestSql()
|
||||
);
|
||||
if (vo.getId() != null) {
|
||||
//更新状态
|
||||
baseMapper.changeStatusById(vo.getId(), YesOrNo.YES.getValue());
|
||||
}
|
||||
}
|
||||
|
||||
private static void uploadFile(FTPClient ftpClient, String localFilePath, String remoteFilePath) throws IOException {
|
||||
FileInputStream inputStream = new FileInputStream(new File(remoteFilePath));
|
||||
|
||||
try {
|
||||
// 上传文件
|
||||
boolean uploaded = ftpClient.storeFile(localFilePath, inputStream);
|
||||
|
||||
if (uploaded) {
|
||||
System.out.println("File uploaded successfully.");
|
||||
} else {
|
||||
System.out.println("Failed to upload file.");
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
inputStream.close();
|
||||
}
|
||||
}
|
||||
|
||||
// private static void downloadFile(FTPClient ftpClient, String remoteFilePath, String localFilePath) throws IOException {
|
||||
// FileOutputStream outputStream = new FileOutputStream(new File(localFilePath));
|
||||
//
|
||||
// // 下载文件
|
||||
// boolean downloaded = ftpClient.retrieveFile(remoteFilePath, outputStream);
|
||||
// outputStream.close();
|
||||
//
|
||||
// if (downloaded) {
|
||||
// System.out.println("File downloaded successfully.");
|
||||
// } else {
|
||||
// System.out.println("Failed to download file.");
|
||||
// }
|
||||
// }
|
||||
|
||||
@Override
|
||||
public List<TableVo> getTablesById(Long id) {
|
||||
DataDatabaseEntity dataDatabaseEntity = baseMapper.selectById(id);
|
||||
|
@ -161,14 +350,120 @@ public class DataDatabaseServiceImpl extends BaseServiceImpl<DataDatabaseDao, Da
|
|||
|
||||
private List<TableVo> getTables(DataDatabaseEntity dataDatabaseEntity) {
|
||||
ProductTypeEnum productTypeEnum = ProductTypeEnum.getByIndex(dataDatabaseEntity.getDatabaseType());
|
||||
IMetaDataByJdbcService metaDataService = new MetaDataByJdbcServiceImpl(productTypeEnum);
|
||||
List<TableDescription> tableDescriptions = metaDataService.queryTableList(StringUtil.isBlank(dataDatabaseEntity.getJdbcUrl()) ? productTypeEnum.getUrl()
|
||||
.replace("{host}", dataDatabaseEntity.getDatabaseIp())
|
||||
.replace("{port}", dataDatabaseEntity.getDatabasePort())
|
||||
.replace("{database}", dataDatabaseEntity.getDatabaseName()) : dataDatabaseEntity.getJdbcUrl(), dataDatabaseEntity.getUserName(), dataDatabaseEntity.getPassword(),
|
||||
ProductTypeEnum.ORACLE.equals(productTypeEnum) ? dataDatabaseEntity.getUserName() : dataDatabaseEntity.getDatabaseName());
|
||||
return BeanUtil.copyListProperties(tableDescriptions, TableVo::new);
|
||||
}
|
||||
switch (productTypeEnum) {
|
||||
case REDIS:
|
||||
//判断是不是redis数据库
|
||||
if (productTypeEnum == ProductTypeEnum.REDIS) {
|
||||
try (Jedis jedis = new Jedis(dataDatabaseEntity.getDatabaseIp(), Integer.parseInt(dataDatabaseEntity.getDatabasePort()))) {
|
||||
// 获取所有key
|
||||
Set<String> keys = jedis.keys("*");
|
||||
List<TableVo> tableVos = keys.stream()
|
||||
.map(key -> {
|
||||
TableVo tableVo = new TableVo();
|
||||
tableVo.setTableName(key);
|
||||
return tableVo;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
return tableVos;
|
||||
} catch (JedisConnectionException e) {
|
||||
// 处理连接异常
|
||||
throw new RuntimeException("redis连接异常:" + e.getMessage());
|
||||
}
|
||||
}
|
||||
case ES:
|
||||
// 从数据实体中获取 Elasticsearch 服务器的地址和端口
|
||||
String esServerAddress = dataDatabaseEntity.getDatabaseIp();
|
||||
int esServerPort = Integer.parseInt(dataDatabaseEntity.getDatabasePort());
|
||||
|
||||
// 创建 RestHighLevelClient 实例,用于与 Elasticsearch 进行高级 REST 客户端通信
|
||||
RestHighLevelClient client = new RestHighLevelClient(
|
||||
RestClient.builder(
|
||||
new HttpHost(esServerAddress, esServerPort, "http")));
|
||||
try {
|
||||
// 创建获取索引请求,使用通配符 "*" 表示获取所有索引
|
||||
GetIndexRequest getIndexRequest = new GetIndexRequest("*");
|
||||
// 发送获取索引请求,获取所有索引的名称
|
||||
String[] indexes = client.indices().get(getIndexRequest, RequestOptions.DEFAULT).getIndices();
|
||||
// 创建一个列表用于存储索引信息
|
||||
List<TableVo> esTableVos = new ArrayList<>();
|
||||
// 遍历所有索引名称,创建 TableVo 对象并添加到列表中
|
||||
for (String index : indexes) {
|
||||
TableVo tableVo = new TableVo();
|
||||
tableVo.setTableName(index);
|
||||
esTableVos.add(tableVo);
|
||||
}
|
||||
// 返回 Elasticsearch 索引信息列表
|
||||
return esTableVos;
|
||||
} catch (IOException e) {
|
||||
// 处理 IO 异常
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
try {
|
||||
// 在 finally 块中确保关闭 RestHighLevelClient
|
||||
client.close();
|
||||
} catch (IOException e) {
|
||||
// 处理关闭异常
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
// 如果出现异常或无法获取索引信息,则返回一个空列表
|
||||
return Collections.emptyList();
|
||||
case KAFKA:
|
||||
String bootstrapServers = dataDatabaseEntity.getDatabaseIp() + ":" + dataDatabaseEntity.getDatabasePort();
|
||||
Properties properties = new Properties();
|
||||
properties.put("bootstrap.servers", bootstrapServers);
|
||||
properties.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
|
||||
properties.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
|
||||
AdminClient adminClient = null;
|
||||
try {
|
||||
adminClient = KafkaAdminClient.create(properties);
|
||||
ListTopicsResult result = adminClient.listTopics();
|
||||
KafkaFuture<Set<String>> names = result.names();
|
||||
Set<String> topicSet = names.get();
|
||||
|
||||
List<TableVo> kafkaTableVos = topicSet.stream()
|
||||
.map(TableVo::createKafkaTopicVo)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
return kafkaTableVos;
|
||||
} catch (InterruptedException | ExecutionException e) {
|
||||
e.printStackTrace();
|
||||
} finally {
|
||||
if (adminClient != null) {
|
||||
adminClient.close();
|
||||
}
|
||||
}
|
||||
return Collections.emptyList();
|
||||
case MONGODB:
|
||||
break;
|
||||
}
|
||||
List<TableDescription> tableDescriptions = new ArrayList<>();
|
||||
try {
|
||||
switch (productTypeEnum) {
|
||||
case FTP:
|
||||
tableDescriptions = ftpService.getFtpFiles(dataDatabaseEntity);
|
||||
return BeanUtil.copyListProperties(tableDescriptions, TableVo::new);
|
||||
case ES:
|
||||
tableDescriptions = esService.getEsTables(dataDatabaseEntity);
|
||||
return BeanUtil.copyListProperties(tableDescriptions, TableVo::new);
|
||||
case MONGODB:
|
||||
tableDescriptions = mongoService.getMongoTables(dataDatabaseEntity);
|
||||
return BeanUtil.copyListProperties(tableDescriptions, TableVo::new);
|
||||
case REDIS:
|
||||
tableDescriptions = redisService.getRedisTables(dataDatabaseEntity);
|
||||
return BeanUtil.copyListProperties(tableDescriptions, TableVo::new);
|
||||
case KAFKA:
|
||||
tableDescriptions = kafkaService.getKafkaTables(dataDatabaseEntity);
|
||||
return BeanUtil.copyListProperties(tableDescriptions, TableVo::new);
|
||||
// default:
|
||||
// IMetaDataByJdbcService metaDataService = new MetaDataByJdbcServiceImpl(productTypeEnum);
|
||||
// tableDescriptions = metaDataService.queryTableList(StringUtil.isBlank(dataDatabaseEntity.getJdbcUrl()) ? productTypeEnum.getUrl().replace("{host}", dataDatabaseEntity.getDatabaseIp()).replace("{port}", dataDatabaseEntity.getDatabasePort()).replace("{database}", dataDatabaseEntity.getDatabaseName()) : dataDatabaseEntity.getJdbcUrl(), dataDatabaseEntity.getUserName(), dataDatabaseEntity.getPassword(), ProductTypeEnum.ORACLE.equals(productTypeEnum) ? dataDatabaseEntity.getUserName() : dataDatabaseEntity.getDatabaseName());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@SneakyThrows
|
||||
@Override
|
||||
|
@ -275,7 +570,7 @@ public class DataDatabaseServiceImpl extends BaseServiceImpl<DataDatabaseDao, Da
|
|||
entity.setJdbcUrl(project.getDbUrl());
|
||||
entity.setUserName(project.getDbUsername());
|
||||
entity.setPassword(project.getDbPassword());
|
||||
entity.setName(project.getName() + "<中台库>");
|
||||
entity.setName(project.getName() + "<>");
|
||||
List<TreeNodeVo> nodeList = new ArrayList<>(1);
|
||||
TreeNodeVo dbNode = new TreeNodeVo();
|
||||
nodeList.add(dbNode);
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
package net.srt.service.impl;
|
||||
|
||||
import net.srt.entity.DataDatabaseEntity;
|
||||
import net.srt.vo.TableVo;
|
||||
import org.apache.http.HttpHost;
|
||||
import org.elasticsearch.client.RequestOptions;
|
||||
import org.elasticsearch.client.RestClient;
|
||||
import org.elasticsearch.client.RestHighLevelClient;
|
||||
import org.elasticsearch.client.indices.GetIndexRequest;
|
||||
import org.springframework.stereotype.Service;
|
||||
import srt.cloud.framework.dbswitch.core.model.TableDescription;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@Service
|
||||
public class EsService {
|
||||
public List<TableDescription> getEsTables(DataDatabaseEntity dataDatabaseEntity) {
|
||||
// 从数据实体中获取 Elasticsearch 服务器的地址和端口
|
||||
String esServerAddress = dataDatabaseEntity.getDatabaseIp();
|
||||
int esServerPort = Integer.parseInt(dataDatabaseEntity.getDatabasePort());
|
||||
|
||||
// 创建 RestHighLevelClient 实例,用于与 Elasticsearch 进行高级 REST 客户端通信
|
||||
RestHighLevelClient client = new RestHighLevelClient(
|
||||
RestClient.builder(
|
||||
new HttpHost(esServerAddress, esServerPort, "http")));
|
||||
try {
|
||||
// 创建获取索引请求,使用通配符 "*" 表示获取所有索引
|
||||
GetIndexRequest getIndexRequest = new GetIndexRequest("*");
|
||||
// 发送获取索引请求,获取所有索引的名称
|
||||
String[] indexes = client.indices().get(getIndexRequest, RequestOptions.DEFAULT).getIndices();
|
||||
// 创建一个列表用于存储索引信息
|
||||
List<TableDescription> tableDescriptions = new ArrayList<>();
|
||||
// 遍历所有索引名称,创建 TableDescription 对象并添加到列表中
|
||||
for (String index : indexes) {
|
||||
TableDescription tableDescription = new TableDescription();
|
||||
tableDescription.setTableName(index);
|
||||
tableDescriptions.add(tableDescription);
|
||||
}
|
||||
// 返回 Elasticsearch 索引信息列表
|
||||
return tableDescriptions;
|
||||
} catch (IOException e) {
|
||||
// 处理 IO 异常
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
package net.srt.service.impl;
|
||||
|
||||
import net.srt.entity.DataDatabaseEntity;
|
||||
import net.srt.vo.TableVo;
|
||||
import org.apache.commons.net.ftp.FTP;
|
||||
import org.apache.commons.net.ftp.FTPClient;
|
||||
import org.apache.commons.net.ftp.FTPFile;
|
||||
import org.springframework.stereotype.Service;
|
||||
import srt.cloud.framework.dbswitch.core.model.TableDescription;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.SocketException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@Service
|
||||
public class FtpService {
|
||||
public List<TableDescription> getFtpFiles(DataDatabaseEntity dataDatabaseEntity) {
|
||||
List<TableDescription> tableDescriptions = new ArrayList<>();
|
||||
FTPClient ftpClient = new FTPClient();
|
||||
|
||||
try {
|
||||
ftpClient.connect(dataDatabaseEntity.getDatabaseIp(),Integer.valueOf(dataDatabaseEntity.getDatabasePort()));
|
||||
ftpClient.login(dataDatabaseEntity.getUserName(),dataDatabaseEntity.getPassword());
|
||||
ftpClient.enterLocalPassiveMode();
|
||||
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
|
||||
|
||||
// 列出FTP服务器上的文件
|
||||
FTPFile[] ftpFiles = ftpClient.listFiles();
|
||||
for (FTPFile ftpFile : ftpFiles) {
|
||||
TableDescription tableDescription = new TableDescription();
|
||||
tableDescription.setTableName(ftpFile.getName());
|
||||
tableDescriptions.add(tableDescription);
|
||||
}
|
||||
return tableDescriptions;
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
package net.srt.service.impl;
|
||||
|
||||
import net.srt.entity.DataDatabaseEntity;
|
||||
import net.srt.vo.TableVo;
|
||||
import org.apache.kafka.clients.admin.AdminClient;
|
||||
import org.apache.kafka.clients.admin.KafkaAdminClient;
|
||||
import org.apache.kafka.clients.admin.ListTopicsResult;
|
||||
import org.apache.kafka.common.KafkaFuture;
|
||||
import org.springframework.stereotype.Service;
|
||||
import srt.cloud.framework.dbswitch.core.model.TableDescription;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Properties;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
@Service
|
||||
public class KafkaService {
|
||||
public List<TableDescription> getKafkaTables(DataDatabaseEntity dataDatabaseEntity) {
|
||||
String bootstrapServers = dataDatabaseEntity.getDatabaseIp() + ":" + dataDatabaseEntity.getDatabasePort();
|
||||
Properties properties = new Properties();
|
||||
properties.put("bootstrap.servers",bootstrapServers);
|
||||
properties.put("key.serializer","org.apache.kafka.common.serialization.StringSerializer");
|
||||
properties.put("value.serializer","org.apache.kafka.common.serialization.StringSerializer");
|
||||
AdminClient adminClient=null;
|
||||
try {
|
||||
adminClient = KafkaAdminClient.create(properties);
|
||||
ListTopicsResult listTopicsResult = adminClient.listTopics();
|
||||
KafkaFuture<Set<String>> names = listTopicsResult.names();
|
||||
Set<String> strings = names.get();
|
||||
List<TableDescription> tableDescriptions=strings.stream().map(s -> {
|
||||
TableDescription tableDescription = new TableDescription();
|
||||
tableDescription.setTableName(s);
|
||||
return tableDescription;
|
||||
}).collect(Collectors.toList());
|
||||
return tableDescriptions;
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
package net.srt.service.impl;
|
||||
|
||||
import com.mongodb.MongoClientSettings;
|
||||
import com.mongodb.MongoCredential;
|
||||
import com.mongodb.ServerAddress;
|
||||
import com.mongodb.client.MongoClient;
|
||||
import com.mongodb.client.MongoClients;
|
||||
import com.mongodb.client.MongoDatabase;
|
||||
import com.mongodb.client.MongoIterable;
|
||||
import net.srt.entity.DataDatabaseEntity;
|
||||
import org.springframework.stereotype.Service;
|
||||
import srt.cloud.framework.dbswitch.core.model.TableDescription;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
@Service
|
||||
public class MongoService {
|
||||
public List<TableDescription> getMongoTables(DataDatabaseEntity dataDatabaseEntity) {
|
||||
List<TableDescription> tableDescriptions = new ArrayList<>();
|
||||
try {
|
||||
MongoCredential credential = MongoCredential.createCredential(dataDatabaseEntity.getUserName(),"admin",dataDatabaseEntity.getPassword().toCharArray());
|
||||
ServerAddress serverAddress = new ServerAddress(dataDatabaseEntity.getDatabaseIp(), Integer.valueOf(dataDatabaseEntity.getDatabasePort()));
|
||||
MongoClientSettings settings = MongoClientSettings.builder()
|
||||
.credential(credential)
|
||||
.applyToClusterSettings(builder ->
|
||||
builder.hosts(Arrays.asList(serverAddress)))
|
||||
.build();
|
||||
|
||||
MongoClient mongoClient = MongoClients.create(settings);
|
||||
MongoDatabase database = mongoClient.getDatabase(dataDatabaseEntity.getDatabaseName());
|
||||
ArrayList<String> into = database.listCollectionNames().into(new ArrayList<>());
|
||||
for (String s : into) {
|
||||
TableDescription tableDescription = new TableDescription();
|
||||
tableDescription.setTableName(s);
|
||||
tableDescriptions.add(tableDescription);
|
||||
}
|
||||
return tableDescriptions;
|
||||
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
package net.srt.service.impl;
|
||||
|
||||
import net.srt.entity.DataDatabaseEntity;
|
||||
import org.springframework.stereotype.Service;
|
||||
import redis.clients.jedis.Jedis;
|
||||
import redis.clients.jedis.exceptions.JedisConnectionException;
|
||||
import srt.cloud.framework.dbswitch.core.model.TableDescription;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
public class RedisService {
|
||||
public List<TableDescription> getRedisTables(DataDatabaseEntity dataDatabaseEntity) {
|
||||
try (Jedis jedis = new Jedis(dataDatabaseEntity.getDatabaseIp(), Integer.parseInt(dataDatabaseEntity.getDatabasePort()))) {
|
||||
// 获取所有 key
|
||||
Set<String> keys = jedis.keys("*");
|
||||
ArrayList<TableDescription> tableDescriptions = new ArrayList<>();
|
||||
for (String key : keys) {
|
||||
TableDescription tableDescription = new TableDescription();
|
||||
tableDescription.setTableName(key);
|
||||
tableDescriptions.add(tableDescription);
|
||||
}
|
||||
return tableDescriptions;
|
||||
} catch (JedisConnectionException e) {
|
||||
// 处理连接异常
|
||||
throw new RuntimeException("Redis连接异常: " + e.getMessage(), e);
|
||||
} catch (NumberFormatException e) {
|
||||
// 处理端口转换异常
|
||||
throw new RuntimeException("端口转换异常: " + e.getMessage(), e);
|
||||
} catch (Exception e) {
|
||||
// 处理其他异常
|
||||
throw new RuntimeException("发生异常: " + e.getMessage(), e);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -99,5 +99,10 @@ public class DataAccessVO implements Serializable {
|
|||
@JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
|
||||
private Date updateTime;
|
||||
|
||||
@Schema(description = "是否是datax任务")
|
||||
private String isDatax;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -22,7 +22,6 @@ public class DataDatabaseVO implements Serializable {
|
|||
@Schema(description = "主键id")
|
||||
private Long id;
|
||||
|
||||
|
||||
@Schema(description = "名称")
|
||||
private String name;
|
||||
|
||||
|
@ -79,5 +78,21 @@ public class DataDatabaseVO implements Serializable {
|
|||
@JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
|
||||
private Date updateTime;
|
||||
|
||||
@Schema(description = "是否是关系型数据库")
|
||||
private String isJdbc;
|
||||
|
||||
@Schema(description = "es索引")
|
||||
private String databaseIndex;
|
||||
|
||||
@Schema(description = "es文档")
|
||||
private String databaseDocument;
|
||||
|
||||
|
||||
@Schema(description = "kafka主题")
|
||||
private String databaseKafKa;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -13,4 +13,12 @@ public class TableVo {
|
|||
private String tableName;
|
||||
private String remarks;
|
||||
private DBTableType tableType;
|
||||
|
||||
public static TableVo createKafkaTopicVo(String topicName) {
|
||||
TableVo kafkaTopicVo = new TableVo();
|
||||
kafkaTopicVo.setTableName(topicName);
|
||||
kafkaTopicVo.setRemarks("Kafka Topic");
|
||||
kafkaTopicVo.setTableType(null);
|
||||
return kafkaTopicVo;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,9 +15,9 @@ spring:
|
|||
discovery:
|
||||
server-addr: 101.34.77.101:8848
|
||||
# 命名空间,默认:public
|
||||
namespace: f7d93216-fc61-4dfa-ae76-598469981418
|
||||
namespace: c5d32e76-b83c-4254-8176-1c6a2cee8e3b
|
||||
service: ${spring.application.name}
|
||||
group: srt2.0
|
||||
group: srt2.1
|
||||
config:
|
||||
server-addr: ${spring.cloud.nacos.discovery.server-addr}
|
||||
namespace: ${spring.cloud.nacos.discovery.namespace}
|
||||
|
|
|
@ -35,7 +35,7 @@ public class IpUtils {
|
|||
ip = request.getRemoteAddr();
|
||||
}
|
||||
|
||||
return "0:0:0:0:0:0:0:1".equals(ip) ? "101.34.77.101" : getMultistageReverseProxyIp(ip);
|
||||
return "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : getMultistageReverseProxyIp(ip);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -45,7 +45,7 @@ public class IpUtils {
|
|||
*/
|
||||
public static boolean internalIp(String ip) {
|
||||
byte[] addr = textToNumericFormatV4(ip);
|
||||
return internalIp(addr) || "101.34.77.101".equals(ip);
|
||||
return internalIp(addr) || "127.0.0.1".equals(ip);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -169,7 +169,7 @@ public class IpUtils {
|
|||
} catch (UnknownHostException ignored) {
|
||||
|
||||
}
|
||||
return "101.34.77.101";
|
||||
return "127.0.0.1";
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -100,6 +100,13 @@ public enum ProductTypeEnum {
|
|||
* MySQL数据库类型
|
||||
*/
|
||||
DORIS(16, "com.mysql.jdbc.Driver","/* ping */ SELECT 1", "jdbc:mysql://{host}:{port}/{database}?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&rewriteBatchedStatements=true"),
|
||||
|
||||
REDIS(17, "com.mysql.jdbc.Driver","/* ping */ SELECT 1", ""),
|
||||
KAFKA(18, "com.mysql.jdbc.Driver","/* ping */ SELECT 1", ""),
|
||||
ES(19, "com.mysql.jdbc.Driver","/* ping */ SELECT 1", ""),
|
||||
FTP(20, "com.mysql.jdbc.Driver","/* ping */ SELECT 1", "ftp://example.com"),
|
||||
MONGODB(21, "com.mysql.jdbc.Driver","/* ping */ SELECT 1", "mongodb://{username}:{password}@{host}:{port}/{database}"),
|
||||
|
||||
;
|
||||
|
||||
private Integer index;
|
||||
|
|
|
@ -10,22 +10,7 @@
|
|||
package srt.cloud.framework.dbswitch.core.database;
|
||||
|
||||
import srt.cloud.framework.dbswitch.common.type.ProductTypeEnum;
|
||||
import srt.cloud.framework.dbswitch.core.database.impl.DatabaseDB2Impl;
|
||||
import srt.cloud.framework.dbswitch.core.database.impl.DatabaseDmImpl;
|
||||
import srt.cloud.framework.dbswitch.core.database.impl.DatabaseDorisImpl;
|
||||
import srt.cloud.framework.dbswitch.core.database.impl.DatabaseGbase8aImpl;
|
||||
import srt.cloud.framework.dbswitch.core.database.impl.DatabaseGreenplumImpl;
|
||||
import srt.cloud.framework.dbswitch.core.database.impl.DatabaseHiveImpl;
|
||||
import srt.cloud.framework.dbswitch.core.database.impl.DatabaseKingbaseImpl;
|
||||
import srt.cloud.framework.dbswitch.core.database.impl.DatabaseMariaDBImpl;
|
||||
import srt.cloud.framework.dbswitch.core.database.impl.DatabaseMysqlImpl;
|
||||
import srt.cloud.framework.dbswitch.core.database.impl.DatabaseOracleImpl;
|
||||
import srt.cloud.framework.dbswitch.core.database.impl.DatabaseOscarImpl;
|
||||
import srt.cloud.framework.dbswitch.core.database.impl.DatabasePostgresImpl;
|
||||
import srt.cloud.framework.dbswitch.core.database.impl.DatabaseSqliteImpl;
|
||||
import srt.cloud.framework.dbswitch.core.database.impl.DatabaseSqlserver2000Impl;
|
||||
import srt.cloud.framework.dbswitch.core.database.impl.DatabaseSqlserverImpl;
|
||||
import srt.cloud.framework.dbswitch.core.database.impl.DatabaseSybaseImpl;
|
||||
import srt.cloud.framework.dbswitch.core.database.impl.*;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
@ -60,6 +45,12 @@ public final class DatabaseFactory {
|
|||
put(ProductTypeEnum.HIVE, DatabaseHiveImpl::new);
|
||||
put(ProductTypeEnum.SQLITE3, DatabaseSqliteImpl::new);
|
||||
put(ProductTypeEnum.DORIS, DatabaseDorisImpl::new);
|
||||
|
||||
put(ProductTypeEnum.REDIS, DatabaseRedisImpl::new);
|
||||
put(ProductTypeEnum.KAFKA, DatabaseKafkaImpl::new);
|
||||
put(ProductTypeEnum.ES, DatabaseEsImpl::new);
|
||||
put(ProductTypeEnum.FTP, DatabaseEsImpl::new);
|
||||
put(ProductTypeEnum.MONGODB, DatabaseFMongodbmpl::new);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -0,0 +1,274 @@
|
|||
// Copyright tang. All rights reserved.
|
||||
// https://gitee.com/inrgihc/dbswitch
|
||||
//
|
||||
// Use of this source code is governed by a BSD-style license
|
||||
//
|
||||
// Author: tang (inrgihc@126.com)
|
||||
// Date : 2020/1/2
|
||||
// Location: beijing , china
|
||||
/////////////////////////////////////////////////////////////
|
||||
package srt.cloud.framework.dbswitch.core.database.impl;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import srt.cloud.framework.dbswitch.common.constant.Const;
|
||||
import srt.cloud.framework.dbswitch.common.type.ProductTypeEnum;
|
||||
import srt.cloud.framework.dbswitch.core.database.IDatabaseInterface;
|
||||
import srt.cloud.framework.dbswitch.core.model.ColumnDescription;
|
||||
import srt.cloud.framework.dbswitch.core.model.ColumnMetaData;
|
||||
import srt.cloud.framework.dbswitch.core.model.TableDescription;
|
||||
|
||||
import java.sql.*;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 支持MySQL数据库的元信息实现
|
||||
*
|
||||
* @author jrl
|
||||
*/
|
||||
public class DatabaseEsImpl extends DatabaseMysqlImpl implements IDatabaseInterface {
|
||||
|
||||
private static final String SHOW_CREATE_TABLE_SQL = "SHOW CREATE TABLE `%s`.`%s` ";
|
||||
private static final String SHOW_CREATE_VIEW_SQL = "SHOW CREATE VIEW `%s`.`%s` ";
|
||||
|
||||
public DatabaseEsImpl() {
|
||||
super("com.mysql.jdbc.Driver");
|
||||
}
|
||||
|
||||
public DatabaseEsImpl(String driverClassName) {
|
||||
super(driverClassName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProductTypeEnum getDatabaseType() {
|
||||
return ProductTypeEnum.ES;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ColumnDescription> queryTableColumnMeta(Connection connection, String schemaName,
|
||||
String tableName) {
|
||||
// String sql = this.getTableFieldsQuerySQL(schemaName, tableName);
|
||||
// List<ColumnDescription> columnDescriptions = this.querySelectSqlColumnMeta(connection, sql);
|
||||
// // 补充一下字段信息,获取的不准
|
||||
// String extraSql = "SELECT column_name,data_type,column_size,decimal_digits,column_comment FROM information_schema.COLUMNS WHERE table_schema='" + schemaName + "' AND table_name='" + tableName + "'";
|
||||
// try (PreparedStatement ps = connection.prepareStatement(extraSql);
|
||||
// ResultSet rs = ps.executeQuery();
|
||||
// ) {
|
||||
// while (rs.next()) {
|
||||
// String columnName = rs.getString("column_name");
|
||||
// String dataType = rs.getString("data_type");
|
||||
// String columnSize = rs.getString("column_size");
|
||||
// String decimalDigits = rs.getString("decimal_digits");
|
||||
// String columnComment = rs.getString("column_comment");
|
||||
// if (columnName != null) {
|
||||
// for (ColumnDescription cd : columnDescriptions) {
|
||||
// if (columnName.equals(cd.getFieldName())) {
|
||||
// cd.setFieldTypeName(dataType);
|
||||
// int csize = columnSize != null ? Integer.parseInt(columnSize) : 0;
|
||||
// cd.setDisplaySize(csize);
|
||||
// cd.setPrecisionSize(csize);
|
||||
// cd.setScaleSize(decimalDigits != null ? Integer.parseInt(decimalDigits) : 0);
|
||||
// cd.setRemarks(columnComment);
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// } catch (SQLException e) {
|
||||
// throw new RuntimeException(schemaName + "." + tableName + " queryTableColumnMeta error!!", e);
|
||||
// }
|
||||
//
|
||||
// return columnDescriptions;
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFieldDefinition(ColumnMetaData v, List<String> pks, boolean useAutoInc,
|
||||
boolean addCr, boolean withRemarks) {
|
||||
String fieldname = v.getName();
|
||||
int length = v.getLength();
|
||||
int precision = v.getPrecision();
|
||||
int type = v.getType();
|
||||
|
||||
String retval = " `" + fieldname + "` ";
|
||||
boolean canHaveDefaultValue = true;
|
||||
switch (type) {
|
||||
case ColumnMetaData.TYPE_TIMESTAMP:
|
||||
case ColumnMetaData.TYPE_TIME:
|
||||
retval += "DATETIME";
|
||||
break;
|
||||
case ColumnMetaData.TYPE_DATE:
|
||||
retval += "DATE";
|
||||
break;
|
||||
case ColumnMetaData.TYPE_BOOLEAN:
|
||||
retval += "TINYINT";
|
||||
break;
|
||||
case ColumnMetaData.TYPE_NUMBER:
|
||||
case ColumnMetaData.TYPE_INTEGER:
|
||||
case ColumnMetaData.TYPE_BIGNUMBER:
|
||||
if (null != pks && !pks.isEmpty() && pks.contains(fieldname)) {
|
||||
retval += "BIGINT";
|
||||
} else {
|
||||
// Integer values...
|
||||
if (precision == 0) {
|
||||
if (length > 9) {
|
||||
if (length < 19) {
|
||||
// can hold signed values between -9223372036854775808 and 9223372036854775807
|
||||
// 18 significant digits
|
||||
retval += "BIGINT";
|
||||
} else {
|
||||
retval += "DECIMAL(" + length + ")";
|
||||
}
|
||||
} else {
|
||||
retval += "INT";
|
||||
}
|
||||
} else {
|
||||
retval += "DECIMAL(" + length;
|
||||
if (precision > 0) {
|
||||
retval += ", " + precision;
|
||||
}
|
||||
retval += ")";
|
||||
// Floating point values...
|
||||
/*if (length > 15) {
|
||||
retval += "DECIMAL(" + length;
|
||||
if (precision > 0) {
|
||||
retval += ", " + precision;
|
||||
}
|
||||
retval += ")";
|
||||
} else {
|
||||
// A double-precision floating-point number is accurate to approximately 15
|
||||
// decimal places.
|
||||
// http://mysql.mirrors-r-us.net/doc/refman/5.1/en/numeric-type-overview.html
|
||||
retval += "DOUBLE";
|
||||
}*/
|
||||
}
|
||||
}
|
||||
break;
|
||||
case ColumnMetaData.TYPE_STRING:
|
||||
if (length * 3 <= 65533) {
|
||||
retval += "VARCHAR(" + length * 3 + ")";
|
||||
} else {
|
||||
retval += "TEXT";
|
||||
canHaveDefaultValue = false;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
retval += "TEXT";
|
||||
canHaveDefaultValue = false;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!v.isNullable()) {
|
||||
retval += " NOT NULL";
|
||||
}
|
||||
|
||||
if (canHaveDefaultValue && v.getDefaultValue() != null && !"null".equals(v.getDefaultValue()) && !"NULL".equals(v.getDefaultValue())) {
|
||||
if (type != ColumnMetaData.TYPE_TIMESTAMP && type != ColumnMetaData.TYPE_TIME && type != ColumnMetaData.TYPE_DATE) {
|
||||
if (v.getDefaultValue().startsWith("'")) {
|
||||
retval += " DEFAULT " + v.getDefaultValue();
|
||||
} else {
|
||||
retval += " DEFAULT '" + v.getDefaultValue() + "'";
|
||||
}
|
||||
} else {
|
||||
retval += " DEFAULT CURRENT_TIMESTAMP";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (withRemarks && StringUtils.isNotBlank(v.getRemarks())) {
|
||||
retval += String.format(" COMMENT '%s' ", v.getRemarks().replace("'", "\\'"));
|
||||
}
|
||||
|
||||
if (addCr) {
|
||||
retval += Const.CR;
|
||||
}
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canCreateIndex(ColumnMetaData v) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPrimaryKeyAsString(List<String> pks) {
|
||||
if (null != pks && !pks.isEmpty()) {
|
||||
return "`" +
|
||||
StringUtils.join(pks, "` , `") +
|
||||
"`";
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setColumnDefaultValue(Connection connection, String schemaName, String tableName, List<ColumnDescription> columnDescriptions) {
|
||||
String sql = this.getDefaultValueSql(schemaName, tableName);
|
||||
try (Statement st = connection.createStatement()) {
|
||||
try (ResultSet rs = st.executeQuery(sql)) {
|
||||
while (rs.next()) {
|
||||
String columnName = rs.getString("Field");
|
||||
String columnDefault = rs.getString("Default");
|
||||
if (columnName != null) {
|
||||
for (ColumnDescription cd : columnDescriptions) {
|
||||
if (columnName.equals(cd.getFieldName())) {
|
||||
cd.setDefaultValue(columnDefault);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getDefaultValueSql(String schemaName, String tableName) {
|
||||
return String.format("desc `%s`.`%s`", schemaName, tableName);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<String> queryTablePrimaryKeys(Connection connection, String schemaName,
|
||||
String tableName) {
|
||||
Set<String> ret = new HashSet<>();
|
||||
String sql = String.format("desc `%s`.`%s`", schemaName, tableName);
|
||||
try (PreparedStatement ps = connection.prepareStatement(sql);
|
||||
ResultSet rs = ps.executeQuery();
|
||||
) {
|
||||
//看下是否又none的字段,如果有,说明key模式为DUPLICATE KEY 可重复
|
||||
boolean NoneExtra = false;
|
||||
while (rs.next()) {
|
||||
String field = rs.getString("Field");
|
||||
String key = rs.getString("Key");
|
||||
String extra = rs.getString("Extra");
|
||||
if ("true".equalsIgnoreCase(key)) {
|
||||
ret.add(field);
|
||||
} else {
|
||||
if ("NONE".equalsIgnoreCase(extra)) {
|
||||
NoneExtra = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (NoneExtra) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return new ArrayList<>(ret);
|
||||
} catch (SQLException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setColumnIndexInfo(Connection connection, String schemaName, String tableName, List<ColumnDescription> columnDescriptions) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getTableColumnCommentDefinition(TableDescription td,
|
||||
List<ColumnDescription> cds) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,274 @@
|
|||
// Copyright tang. All rights reserved.
|
||||
// https://gitee.com/inrgihc/dbswitch
|
||||
//
|
||||
// Use of this source code is governed by a BSD-style license
|
||||
//
|
||||
// Author: tang (inrgihc@126.com)
|
||||
// Date : 2020/1/2
|
||||
// Location: beijing , china
|
||||
/////////////////////////////////////////////////////////////
|
||||
package srt.cloud.framework.dbswitch.core.database.impl;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import srt.cloud.framework.dbswitch.common.constant.Const;
|
||||
import srt.cloud.framework.dbswitch.common.type.ProductTypeEnum;
|
||||
import srt.cloud.framework.dbswitch.core.database.IDatabaseInterface;
|
||||
import srt.cloud.framework.dbswitch.core.model.ColumnDescription;
|
||||
import srt.cloud.framework.dbswitch.core.model.ColumnMetaData;
|
||||
import srt.cloud.framework.dbswitch.core.model.TableDescription;
|
||||
|
||||
import java.sql.*;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 支持MySQL数据库的元信息实现
|
||||
*
|
||||
* @author jrl
|
||||
*/
|
||||
public class DatabaseFMongodbmpl extends DatabaseMysqlImpl implements IDatabaseInterface {
|
||||
|
||||
private static final String SHOW_CREATE_TABLE_SQL = "SHOW CREATE TABLE `%s`.`%s` ";
|
||||
private static final String SHOW_CREATE_VIEW_SQL = "SHOW CREATE VIEW `%s`.`%s` ";
|
||||
|
||||
public DatabaseFMongodbmpl() {
|
||||
super("com.mysql.jdbc.Driver");
|
||||
}
|
||||
|
||||
public DatabaseFMongodbmpl(String driverClassName) {
|
||||
super(driverClassName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProductTypeEnum getDatabaseType() {
|
||||
return ProductTypeEnum.MONGODB;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ColumnDescription> queryTableColumnMeta(Connection connection, String schemaName,
|
||||
String tableName) {
|
||||
// String sql = this.getTableFieldsQuerySQL(schemaName, tableName);
|
||||
// List<ColumnDescription> columnDescriptions = this.querySelectSqlColumnMeta(connection, sql);
|
||||
// // 补充一下字段信息,获取的不准
|
||||
// String extraSql = "SELECT column_name,data_type,column_size,decimal_digits,column_comment FROM information_schema.COLUMNS WHERE table_schema='" + schemaName + "' AND table_name='" + tableName + "'";
|
||||
// try (PreparedStatement ps = connection.prepareStatement(extraSql);
|
||||
// ResultSet rs = ps.executeQuery();
|
||||
// ) {
|
||||
// while (rs.next()) {
|
||||
// String columnName = rs.getString("column_name");
|
||||
// String dataType = rs.getString("data_type");
|
||||
// String columnSize = rs.getString("column_size");
|
||||
// String decimalDigits = rs.getString("decimal_digits");
|
||||
// String columnComment = rs.getString("column_comment");
|
||||
// if (columnName != null) {
|
||||
// for (ColumnDescription cd : columnDescriptions) {
|
||||
// if (columnName.equals(cd.getFieldName())) {
|
||||
// cd.setFieldTypeName(dataType);
|
||||
// int csize = columnSize != null ? Integer.parseInt(columnSize) : 0;
|
||||
// cd.setDisplaySize(csize);
|
||||
// cd.setPrecisionSize(csize);
|
||||
// cd.setScaleSize(decimalDigits != null ? Integer.parseInt(decimalDigits) : 0);
|
||||
// cd.setRemarks(columnComment);
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// } catch (SQLException e) {
|
||||
// throw new RuntimeException(schemaName + "." + tableName + " queryTableColumnMeta error!!", e);
|
||||
// }
|
||||
//
|
||||
// return columnDescriptions;
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFieldDefinition(ColumnMetaData v, List<String> pks, boolean useAutoInc,
|
||||
boolean addCr, boolean withRemarks) {
|
||||
String fieldname = v.getName();
|
||||
int length = v.getLength();
|
||||
int precision = v.getPrecision();
|
||||
int type = v.getType();
|
||||
|
||||
String retval = " `" + fieldname + "` ";
|
||||
boolean canHaveDefaultValue = true;
|
||||
switch (type) {
|
||||
case ColumnMetaData.TYPE_TIMESTAMP:
|
||||
case ColumnMetaData.TYPE_TIME:
|
||||
retval += "DATETIME";
|
||||
break;
|
||||
case ColumnMetaData.TYPE_DATE:
|
||||
retval += "DATE";
|
||||
break;
|
||||
case ColumnMetaData.TYPE_BOOLEAN:
|
||||
retval += "TINYINT";
|
||||
break;
|
||||
case ColumnMetaData.TYPE_NUMBER:
|
||||
case ColumnMetaData.TYPE_INTEGER:
|
||||
case ColumnMetaData.TYPE_BIGNUMBER:
|
||||
if (null != pks && !pks.isEmpty() && pks.contains(fieldname)) {
|
||||
retval += "BIGINT";
|
||||
} else {
|
||||
// Integer values...
|
||||
if (precision == 0) {
|
||||
if (length > 9) {
|
||||
if (length < 19) {
|
||||
// can hold signed values between -9223372036854775808 and 9223372036854775807
|
||||
// 18 significant digits
|
||||
retval += "BIGINT";
|
||||
} else {
|
||||
retval += "DECIMAL(" + length + ")";
|
||||
}
|
||||
} else {
|
||||
retval += "INT";
|
||||
}
|
||||
} else {
|
||||
retval += "DECIMAL(" + length;
|
||||
if (precision > 0) {
|
||||
retval += ", " + precision;
|
||||
}
|
||||
retval += ")";
|
||||
// Floating point values...
|
||||
/*if (length > 15) {
|
||||
retval += "DECIMAL(" + length;
|
||||
if (precision > 0) {
|
||||
retval += ", " + precision;
|
||||
}
|
||||
retval += ")";
|
||||
} else {
|
||||
// A double-precision floating-point number is accurate to approximately 15
|
||||
// decimal places.
|
||||
// http://mysql.mirrors-r-us.net/doc/refman/5.1/en/numeric-type-overview.html
|
||||
retval += "DOUBLE";
|
||||
}*/
|
||||
}
|
||||
}
|
||||
break;
|
||||
case ColumnMetaData.TYPE_STRING:
|
||||
if (length * 3 <= 65533) {
|
||||
retval += "VARCHAR(" + length * 3 + ")";
|
||||
} else {
|
||||
retval += "TEXT";
|
||||
canHaveDefaultValue = false;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
retval += "TEXT";
|
||||
canHaveDefaultValue = false;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!v.isNullable()) {
|
||||
retval += " NOT NULL";
|
||||
}
|
||||
|
||||
if (canHaveDefaultValue && v.getDefaultValue() != null && !"null".equals(v.getDefaultValue()) && !"NULL".equals(v.getDefaultValue())) {
|
||||
if (type != ColumnMetaData.TYPE_TIMESTAMP && type != ColumnMetaData.TYPE_TIME && type != ColumnMetaData.TYPE_DATE) {
|
||||
if (v.getDefaultValue().startsWith("'")) {
|
||||
retval += " DEFAULT " + v.getDefaultValue();
|
||||
} else {
|
||||
retval += " DEFAULT '" + v.getDefaultValue() + "'";
|
||||
}
|
||||
} else {
|
||||
retval += " DEFAULT CURRENT_TIMESTAMP";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (withRemarks && StringUtils.isNotBlank(v.getRemarks())) {
|
||||
retval += String.format(" COMMENT '%s' ", v.getRemarks().replace("'", "\\'"));
|
||||
}
|
||||
|
||||
if (addCr) {
|
||||
retval += Const.CR;
|
||||
}
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canCreateIndex(ColumnMetaData v) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPrimaryKeyAsString(List<String> pks) {
|
||||
if (null != pks && !pks.isEmpty()) {
|
||||
return "`" +
|
||||
StringUtils.join(pks, "` , `") +
|
||||
"`";
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setColumnDefaultValue(Connection connection, String schemaName, String tableName, List<ColumnDescription> columnDescriptions) {
|
||||
String sql = this.getDefaultValueSql(schemaName, tableName);
|
||||
try (Statement st = connection.createStatement()) {
|
||||
try (ResultSet rs = st.executeQuery(sql)) {
|
||||
while (rs.next()) {
|
||||
String columnName = rs.getString("Field");
|
||||
String columnDefault = rs.getString("Default");
|
||||
if (columnName != null) {
|
||||
for (ColumnDescription cd : columnDescriptions) {
|
||||
if (columnName.equals(cd.getFieldName())) {
|
||||
cd.setDefaultValue(columnDefault);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getDefaultValueSql(String schemaName, String tableName) {
|
||||
return String.format("desc `%s`.`%s`", schemaName, tableName);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<String> queryTablePrimaryKeys(Connection connection, String schemaName,
|
||||
String tableName) {
|
||||
Set<String> ret = new HashSet<>();
|
||||
String sql = String.format("desc `%s`.`%s`", schemaName, tableName);
|
||||
try (PreparedStatement ps = connection.prepareStatement(sql);
|
||||
ResultSet rs = ps.executeQuery();
|
||||
) {
|
||||
//看下是否又none的字段,如果有,说明key模式为DUPLICATE KEY 可重复
|
||||
boolean NoneExtra = false;
|
||||
while (rs.next()) {
|
||||
String field = rs.getString("Field");
|
||||
String key = rs.getString("Key");
|
||||
String extra = rs.getString("Extra");
|
||||
if ("true".equalsIgnoreCase(key)) {
|
||||
ret.add(field);
|
||||
} else {
|
||||
if ("NONE".equalsIgnoreCase(extra)) {
|
||||
NoneExtra = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (NoneExtra) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return new ArrayList<>(ret);
|
||||
} catch (SQLException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setColumnIndexInfo(Connection connection, String schemaName, String tableName, List<ColumnDescription> columnDescriptions) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getTableColumnCommentDefinition(TableDescription td,
|
||||
List<ColumnDescription> cds) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,274 @@
|
|||
// Copyright tang. All rights reserved.
|
||||
// https://gitee.com/inrgihc/dbswitch
|
||||
//
|
||||
// Use of this source code is governed by a BSD-style license
|
||||
//
|
||||
// Author: tang (inrgihc@126.com)
|
||||
// Date : 2020/1/2
|
||||
// Location: beijing , china
|
||||
/////////////////////////////////////////////////////////////
|
||||
package srt.cloud.framework.dbswitch.core.database.impl;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import srt.cloud.framework.dbswitch.common.constant.Const;
|
||||
import srt.cloud.framework.dbswitch.common.type.ProductTypeEnum;
|
||||
import srt.cloud.framework.dbswitch.core.database.IDatabaseInterface;
|
||||
import srt.cloud.framework.dbswitch.core.model.ColumnDescription;
|
||||
import srt.cloud.framework.dbswitch.core.model.ColumnMetaData;
|
||||
import srt.cloud.framework.dbswitch.core.model.TableDescription;
|
||||
|
||||
import java.sql.*;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 支持MySQL数据库的元信息实现
|
||||
*
|
||||
* @author jrl
|
||||
*/
|
||||
public class DatabaseFTPImpl extends DatabaseMysqlImpl implements IDatabaseInterface {
|
||||
|
||||
private static final String SHOW_CREATE_TABLE_SQL = "SHOW CREATE TABLE `%s`.`%s` ";
|
||||
private static final String SHOW_CREATE_VIEW_SQL = "SHOW CREATE VIEW `%s`.`%s` ";
|
||||
|
||||
public DatabaseFTPImpl() {
|
||||
super("com.mysql.jdbc.Driver");
|
||||
}
|
||||
|
||||
public DatabaseFTPImpl(String driverClassName) {
|
||||
super(driverClassName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProductTypeEnum getDatabaseType() {
|
||||
return ProductTypeEnum.FTP;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ColumnDescription> queryTableColumnMeta(Connection connection, String schemaName,
|
||||
String tableName) {
|
||||
// String sql = this.getTableFieldsQuerySQL(schemaName, tableName);
|
||||
// List<ColumnDescription> columnDescriptions = this.querySelectSqlColumnMeta(connection, sql);
|
||||
// // 补充一下字段信息,获取的不准
|
||||
// String extraSql = "SELECT column_name,data_type,column_size,decimal_digits,column_comment FROM information_schema.COLUMNS WHERE table_schema='" + schemaName + "' AND table_name='" + tableName + "'";
|
||||
// try (PreparedStatement ps = connection.prepareStatement(extraSql);
|
||||
// ResultSet rs = ps.executeQuery();
|
||||
// ) {
|
||||
// while (rs.next()) {
|
||||
// String columnName = rs.getString("column_name");
|
||||
// String dataType = rs.getString("data_type");
|
||||
// String columnSize = rs.getString("column_size");
|
||||
// String decimalDigits = rs.getString("decimal_digits");
|
||||
// String columnComment = rs.getString("column_comment");
|
||||
// if (columnName != null) {
|
||||
// for (ColumnDescription cd : columnDescriptions) {
|
||||
// if (columnName.equals(cd.getFieldName())) {
|
||||
// cd.setFieldTypeName(dataType);
|
||||
// int csize = columnSize != null ? Integer.parseInt(columnSize) : 0;
|
||||
// cd.setDisplaySize(csize);
|
||||
// cd.setPrecisionSize(csize);
|
||||
// cd.setScaleSize(decimalDigits != null ? Integer.parseInt(decimalDigits) : 0);
|
||||
// cd.setRemarks(columnComment);
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// } catch (SQLException e) {
|
||||
// throw new RuntimeException(schemaName + "." + tableName + " queryTableColumnMeta error!!", e);
|
||||
// }
|
||||
//
|
||||
// return columnDescriptions;
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFieldDefinition(ColumnMetaData v, List<String> pks, boolean useAutoInc,
|
||||
boolean addCr, boolean withRemarks) {
|
||||
String fieldname = v.getName();
|
||||
int length = v.getLength();
|
||||
int precision = v.getPrecision();
|
||||
int type = v.getType();
|
||||
|
||||
String retval = " `" + fieldname + "` ";
|
||||
boolean canHaveDefaultValue = true;
|
||||
switch (type) {
|
||||
case ColumnMetaData.TYPE_TIMESTAMP:
|
||||
case ColumnMetaData.TYPE_TIME:
|
||||
retval += "DATETIME";
|
||||
break;
|
||||
case ColumnMetaData.TYPE_DATE:
|
||||
retval += "DATE";
|
||||
break;
|
||||
case ColumnMetaData.TYPE_BOOLEAN:
|
||||
retval += "TINYINT";
|
||||
break;
|
||||
case ColumnMetaData.TYPE_NUMBER:
|
||||
case ColumnMetaData.TYPE_INTEGER:
|
||||
case ColumnMetaData.TYPE_BIGNUMBER:
|
||||
if (null != pks && !pks.isEmpty() && pks.contains(fieldname)) {
|
||||
retval += "BIGINT";
|
||||
} else {
|
||||
// Integer values...
|
||||
if (precision == 0) {
|
||||
if (length > 9) {
|
||||
if (length < 19) {
|
||||
// can hold signed values between -9223372036854775808 and 9223372036854775807
|
||||
// 18 significant digits
|
||||
retval += "BIGINT";
|
||||
} else {
|
||||
retval += "DECIMAL(" + length + ")";
|
||||
}
|
||||
} else {
|
||||
retval += "INT";
|
||||
}
|
||||
} else {
|
||||
retval += "DECIMAL(" + length;
|
||||
if (precision > 0) {
|
||||
retval += ", " + precision;
|
||||
}
|
||||
retval += ")";
|
||||
// Floating point values...
|
||||
/*if (length > 15) {
|
||||
retval += "DECIMAL(" + length;
|
||||
if (precision > 0) {
|
||||
retval += ", " + precision;
|
||||
}
|
||||
retval += ")";
|
||||
} else {
|
||||
// A double-precision floating-point number is accurate to approximately 15
|
||||
// decimal places.
|
||||
// http://mysql.mirrors-r-us.net/doc/refman/5.1/en/numeric-type-overview.html
|
||||
retval += "DOUBLE";
|
||||
}*/
|
||||
}
|
||||
}
|
||||
break;
|
||||
case ColumnMetaData.TYPE_STRING:
|
||||
if (length * 3 <= 65533) {
|
||||
retval += "VARCHAR(" + length * 3 + ")";
|
||||
} else {
|
||||
retval += "TEXT";
|
||||
canHaveDefaultValue = false;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
retval += "TEXT";
|
||||
canHaveDefaultValue = false;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!v.isNullable()) {
|
||||
retval += " NOT NULL";
|
||||
}
|
||||
|
||||
if (canHaveDefaultValue && v.getDefaultValue() != null && !"null".equals(v.getDefaultValue()) && !"NULL".equals(v.getDefaultValue())) {
|
||||
if (type != ColumnMetaData.TYPE_TIMESTAMP && type != ColumnMetaData.TYPE_TIME && type != ColumnMetaData.TYPE_DATE) {
|
||||
if (v.getDefaultValue().startsWith("'")) {
|
||||
retval += " DEFAULT " + v.getDefaultValue();
|
||||
} else {
|
||||
retval += " DEFAULT '" + v.getDefaultValue() + "'";
|
||||
}
|
||||
} else {
|
||||
retval += " DEFAULT CURRENT_TIMESTAMP";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (withRemarks && StringUtils.isNotBlank(v.getRemarks())) {
|
||||
retval += String.format(" COMMENT '%s' ", v.getRemarks().replace("'", "\\'"));
|
||||
}
|
||||
|
||||
if (addCr) {
|
||||
retval += Const.CR;
|
||||
}
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canCreateIndex(ColumnMetaData v) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPrimaryKeyAsString(List<String> pks) {
|
||||
if (null != pks && !pks.isEmpty()) {
|
||||
return "`" +
|
||||
StringUtils.join(pks, "` , `") +
|
||||
"`";
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setColumnDefaultValue(Connection connection, String schemaName, String tableName, List<ColumnDescription> columnDescriptions) {
|
||||
String sql = this.getDefaultValueSql(schemaName, tableName);
|
||||
try (Statement st = connection.createStatement()) {
|
||||
try (ResultSet rs = st.executeQuery(sql)) {
|
||||
while (rs.next()) {
|
||||
String columnName = rs.getString("Field");
|
||||
String columnDefault = rs.getString("Default");
|
||||
if (columnName != null) {
|
||||
for (ColumnDescription cd : columnDescriptions) {
|
||||
if (columnName.equals(cd.getFieldName())) {
|
||||
cd.setDefaultValue(columnDefault);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getDefaultValueSql(String schemaName, String tableName) {
|
||||
return String.format("desc `%s`.`%s`", schemaName, tableName);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<String> queryTablePrimaryKeys(Connection connection, String schemaName,
|
||||
String tableName) {
|
||||
Set<String> ret = new HashSet<>();
|
||||
String sql = String.format("desc `%s`.`%s`", schemaName, tableName);
|
||||
try (PreparedStatement ps = connection.prepareStatement(sql);
|
||||
ResultSet rs = ps.executeQuery();
|
||||
) {
|
||||
//看下是否又none的字段,如果有,说明key模式为DUPLICATE KEY 可重复
|
||||
boolean NoneExtra = false;
|
||||
while (rs.next()) {
|
||||
String field = rs.getString("Field");
|
||||
String key = rs.getString("Key");
|
||||
String extra = rs.getString("Extra");
|
||||
if ("true".equalsIgnoreCase(key)) {
|
||||
ret.add(field);
|
||||
} else {
|
||||
if ("NONE".equalsIgnoreCase(extra)) {
|
||||
NoneExtra = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (NoneExtra) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return new ArrayList<>(ret);
|
||||
} catch (SQLException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setColumnIndexInfo(Connection connection, String schemaName, String tableName, List<ColumnDescription> columnDescriptions) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getTableColumnCommentDefinition(TableDescription td,
|
||||
List<ColumnDescription> cds) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,274 @@
|
|||
// Copyright tang. All rights reserved.
|
||||
// https://gitee.com/inrgihc/dbswitch
|
||||
//
|
||||
// Use of this source code is governed by a BSD-style license
|
||||
//
|
||||
// Author: tang (inrgihc@126.com)
|
||||
// Date : 2020/1/2
|
||||
// Location: beijing , china
|
||||
/////////////////////////////////////////////////////////////
|
||||
package srt.cloud.framework.dbswitch.core.database.impl;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import srt.cloud.framework.dbswitch.common.constant.Const;
|
||||
import srt.cloud.framework.dbswitch.common.type.ProductTypeEnum;
|
||||
import srt.cloud.framework.dbswitch.core.database.IDatabaseInterface;
|
||||
import srt.cloud.framework.dbswitch.core.model.ColumnDescription;
|
||||
import srt.cloud.framework.dbswitch.core.model.ColumnMetaData;
|
||||
import srt.cloud.framework.dbswitch.core.model.TableDescription;
|
||||
|
||||
import java.sql.*;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* 支持MySQL数据库的元信息实现
|
||||
*
|
||||
* @author jrl
|
||||
*/
|
||||
public class DatabaseKafkaImpl extends DatabaseMysqlImpl implements IDatabaseInterface {
|
||||
|
||||
private static final String SHOW_CREATE_TABLE_SQL = "SHOW CREATE TABLE `%s`.`%s` ";
|
||||
private static final String SHOW_CREATE_VIEW_SQL = "SHOW CREATE VIEW `%s`.`%s` ";
|
||||
|
||||
public DatabaseKafkaImpl() {
|
||||
super("com.mysql.jdbc.Driver");
|
||||
}
|
||||
|
||||
public DatabaseKafkaImpl(String driverClassName) {
|
||||
super(driverClassName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProductTypeEnum getDatabaseType() {
|
||||
return ProductTypeEnum.KAFKA;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ColumnDescription> queryTableColumnMeta(Connection connection, String schemaName,
|
||||
String tableName) {
|
||||
// String sql = this.getTableFieldsQuerySQL(schemaName, tableName);
|
||||
// List<ColumnDescription> columnDescriptions = this.querySelectSqlColumnMeta(connection, sql);
|
||||
// // 补充一下字段信息,获取的不准
|
||||
// String extraSql = "SELECT column_name,data_type,column_size,decimal_digits,column_comment FROM information_schema.COLUMNS WHERE table_schema='" + schemaName + "' AND table_name='" + tableName + "'";
|
||||
// try (PreparedStatement ps = connection.prepareStatement(extraSql);
|
||||
// ResultSet rs = ps.executeQuery();
|
||||
// ) {
|
||||
// while (rs.next()) {
|
||||
// String columnName = rs.getString("column_name");
|
||||
// String dataType = rs.getString("data_type");
|
||||
// String columnSize = rs.getString("column_size");
|
||||
// String decimalDigits = rs.getString("decimal_digits");
|
||||
// String columnComment = rs.getString("column_comment");
|
||||
// if (columnName != null) {
|
||||
// for (ColumnDescription cd : columnDescriptions) {
|
||||
// if (columnName.equals(cd.getFieldName())) {
|
||||
// cd.setFieldTypeName(dataType);
|
||||
// int csize = columnSize != null ? Integer.parseInt(columnSize) : 0;
|
||||
// cd.setDisplaySize(csize);
|
||||
// cd.setPrecisionSize(csize);
|
||||
// cd.setScaleSize(decimalDigits != null ? Integer.parseInt(decimalDigits) : 0);
|
||||
// cd.setRemarks(columnComment);
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// } catch (SQLException e) {
|
||||
// throw new RuntimeException(schemaName + "." + tableName + " queryTableColumnMeta error!!", e);
|
||||
// }
|
||||
//
|
||||
// return columnDescriptions;
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFieldDefinition(ColumnMetaData v, List<String> pks, boolean useAutoInc,
|
||||
boolean addCr, boolean withRemarks) {
|
||||
String fieldname = v.getName();
|
||||
int length = v.getLength();
|
||||
int precision = v.getPrecision();
|
||||
int type = v.getType();
|
||||
|
||||
String retval = " `" + fieldname + "` ";
|
||||
boolean canHaveDefaultValue = true;
|
||||
switch (type) {
|
||||
case ColumnMetaData.TYPE_TIMESTAMP:
|
||||
case ColumnMetaData.TYPE_TIME:
|
||||
retval += "DATETIME";
|
||||
break;
|
||||
case ColumnMetaData.TYPE_DATE:
|
||||
retval += "DATE";
|
||||
break;
|
||||
case ColumnMetaData.TYPE_BOOLEAN:
|
||||
retval += "TINYINT";
|
||||
break;
|
||||
case ColumnMetaData.TYPE_NUMBER:
|
||||
case ColumnMetaData.TYPE_INTEGER:
|
||||
case ColumnMetaData.TYPE_BIGNUMBER:
|
||||
if (null != pks && !pks.isEmpty() && pks.contains(fieldname)) {
|
||||
retval += "BIGINT";
|
||||
} else {
|
||||
// Integer values...
|
||||
if (precision == 0) {
|
||||
if (length > 9) {
|
||||
if (length < 19) {
|
||||
// can hold signed values between -9223372036854775808 and 9223372036854775807
|
||||
// 18 significant digits
|
||||
retval += "BIGINT";
|
||||
} else {
|
||||
retval += "DECIMAL(" + length + ")";
|
||||
}
|
||||
} else {
|
||||
retval += "INT";
|
||||
}
|
||||
} else {
|
||||
retval += "DECIMAL(" + length;
|
||||
if (precision > 0) {
|
||||
retval += ", " + precision;
|
||||
}
|
||||
retval += ")";
|
||||
// Floating point values...
|
||||
/*if (length > 15) {
|
||||
retval += "DECIMAL(" + length;
|
||||
if (precision > 0) {
|
||||
retval += ", " + precision;
|
||||
}
|
||||
retval += ")";
|
||||
} else {
|
||||
// A double-precision floating-point number is accurate to approximately 15
|
||||
// decimal places.
|
||||
// http://mysql.mirrors-r-us.net/doc/refman/5.1/en/numeric-type-overview.html
|
||||
retval += "DOUBLE";
|
||||
}*/
|
||||
}
|
||||
}
|
||||
break;
|
||||
case ColumnMetaData.TYPE_STRING:
|
||||
if (length * 3 <= 65533) {
|
||||
retval += "VARCHAR(" + length * 3 + ")";
|
||||
} else {
|
||||
retval += "TEXT";
|
||||
canHaveDefaultValue = false;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
retval += "TEXT";
|
||||
canHaveDefaultValue = false;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!v.isNullable()) {
|
||||
retval += " NOT NULL";
|
||||
}
|
||||
|
||||
if (canHaveDefaultValue && v.getDefaultValue() != null && !"null".equals(v.getDefaultValue()) && !"NULL".equals(v.getDefaultValue())) {
|
||||
if (type != ColumnMetaData.TYPE_TIMESTAMP && type != ColumnMetaData.TYPE_TIME && type != ColumnMetaData.TYPE_DATE) {
|
||||
if (v.getDefaultValue().startsWith("'")) {
|
||||
retval += " DEFAULT " + v.getDefaultValue();
|
||||
} else {
|
||||
retval += " DEFAULT '" + v.getDefaultValue() + "'";
|
||||
}
|
||||
} else {
|
||||
retval += " DEFAULT CURRENT_TIMESTAMP";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (withRemarks && StringUtils.isNotBlank(v.getRemarks())) {
|
||||
retval += String.format(" COMMENT '%s' ", v.getRemarks().replace("'", "\\'"));
|
||||
}
|
||||
|
||||
if (addCr) {
|
||||
retval += Const.CR;
|
||||
}
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canCreateIndex(ColumnMetaData v) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPrimaryKeyAsString(List<String> pks) {
|
||||
if (null != pks && !pks.isEmpty()) {
|
||||
return "`" +
|
||||
StringUtils.join(pks, "` , `") +
|
||||
"`";
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setColumnDefaultValue(Connection connection, String schemaName, String tableName, List<ColumnDescription> columnDescriptions) {
|
||||
String sql = this.getDefaultValueSql(schemaName, tableName);
|
||||
try (Statement st = connection.createStatement()) {
|
||||
try (ResultSet rs = st.executeQuery(sql)) {
|
||||
while (rs.next()) {
|
||||
String columnName = rs.getString("Field");
|
||||
String columnDefault = rs.getString("Default");
|
||||
if (columnName != null) {
|
||||
for (ColumnDescription cd : columnDescriptions) {
|
||||
if (columnName.equals(cd.getFieldName())) {
|
||||
cd.setDefaultValue(columnDefault);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getDefaultValueSql(String schemaName, String tableName) {
|
||||
return String.format("desc `%s`.`%s`", schemaName, tableName);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<String> queryTablePrimaryKeys(Connection connection, String schemaName,
|
||||
String tableName) {
|
||||
Set<String> ret = new HashSet<>();
|
||||
String sql = String.format("desc `%s`.`%s`", schemaName, tableName);
|
||||
try (PreparedStatement ps = connection.prepareStatement(sql);
|
||||
ResultSet rs = ps.executeQuery();
|
||||
) {
|
||||
//看下是否又none的字段,如果有,说明key模式为DUPLICATE KEY 可重复
|
||||
boolean NoneExtra = false;
|
||||
while (rs.next()) {
|
||||
String field = rs.getString("Field");
|
||||
String key = rs.getString("Key");
|
||||
String extra = rs.getString("Extra");
|
||||
if ("true".equalsIgnoreCase(key)) {
|
||||
ret.add(field);
|
||||
} else {
|
||||
if ("NONE".equalsIgnoreCase(extra)) {
|
||||
NoneExtra = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (NoneExtra) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return new ArrayList<>(ret);
|
||||
} catch (SQLException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setColumnIndexInfo(Connection connection, String schemaName, String tableName, List<ColumnDescription> columnDescriptions) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getTableColumnCommentDefinition(TableDescription td,
|
||||
List<ColumnDescription> cds) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,283 @@
|
|||
// Copyright tang. All rights reserved.
|
||||
// https://gitee.com/inrgihc/dbswitch
|
||||
//
|
||||
// Use of this source code is governed by a BSD-style license
|
||||
//
|
||||
// Author: tang (inrgihc@126.com)
|
||||
// Date : 2020/1/2
|
||||
// Location: beijing , china
|
||||
/////////////////////////////////////////////////////////////
|
||||
package srt.cloud.framework.dbswitch.core.database.impl;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import srt.cloud.framework.dbswitch.common.constant.Const;
|
||||
import srt.cloud.framework.dbswitch.common.type.ProductTypeEnum;
|
||||
import srt.cloud.framework.dbswitch.core.database.IDatabaseInterface;
|
||||
import srt.cloud.framework.dbswitch.core.model.ColumnDescription;
|
||||
import srt.cloud.framework.dbswitch.core.model.ColumnMetaData;
|
||||
import srt.cloud.framework.dbswitch.core.model.TableDescription;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.SQLException;
|
||||
import java.sql.Statement;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* 支持MySQL数据库的元信息实现
|
||||
*
|
||||
* @author jrl
|
||||
*/
|
||||
public class DatabaseRedisImpl extends DatabaseMysqlImpl implements IDatabaseInterface {
|
||||
|
||||
private static final String SHOW_CREATE_TABLE_SQL = "SHOW CREATE TABLE `%s`.`%s` ";
|
||||
private static final String SHOW_CREATE_VIEW_SQL = "SHOW CREATE VIEW `%s`.`%s` ";
|
||||
|
||||
public DatabaseRedisImpl() {
|
||||
super("com.mysql.jdbc.Driver");
|
||||
}
|
||||
|
||||
public DatabaseRedisImpl(String driverClassName) {
|
||||
super(driverClassName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ProductTypeEnum getDatabaseType() {
|
||||
return ProductTypeEnum.REDIS;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ColumnDescription> queryTableColumnMeta(Connection connection, String schemaName,
|
||||
String tableName) {
|
||||
String sql = this.getTableFieldsQuerySQL(schemaName, tableName);
|
||||
List<ColumnDescription> columnDescriptions = this.querySelectSqlColumnMeta(connection, sql);
|
||||
// 补充一下字段信息,获取的不准
|
||||
String extraSql = "SELECT column_name,data_type,column_size,decimal_digits,column_comment FROM information_schema.COLUMNS WHERE table_schema='" + schemaName + "' AND table_name='" + tableName + "'";
|
||||
try (PreparedStatement ps = connection.prepareStatement(extraSql);
|
||||
ResultSet rs = ps.executeQuery();
|
||||
) {
|
||||
while (rs.next()) {
|
||||
String columnName = rs.getString("column_name");
|
||||
String dataType = rs.getString("data_type");
|
||||
String columnSize = rs.getString("column_size");
|
||||
String decimalDigits = rs.getString("decimal_digits");
|
||||
String columnComment = rs.getString("column_comment");
|
||||
if (columnName != null) {
|
||||
for (ColumnDescription cd : columnDescriptions) {
|
||||
if (columnName.equals(cd.getFieldName())) {
|
||||
cd.setFieldTypeName(dataType);
|
||||
int csize = columnSize != null ? Integer.parseInt(columnSize) : 0;
|
||||
cd.setDisplaySize(csize);
|
||||
cd .setPrecisionSize(csize);
|
||||
cd.setScaleSize(decimalDigits != null ? Integer.parseInt(decimalDigits) : 0);
|
||||
cd.setRemarks(columnComment);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
throw new RuntimeException(schemaName + "." + tableName + " queryTableColumnMeta error!!", e);
|
||||
}
|
||||
|
||||
return columnDescriptions;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getFieldDefinition(ColumnMetaData v, List<String> pks, boolean useAutoInc,
|
||||
boolean addCr, boolean withRemarks) {
|
||||
String fieldname = v.getName();
|
||||
int length = v.getLength();
|
||||
int precision = v.getPrecision();
|
||||
int type = v.getType();
|
||||
|
||||
String retval = " `" + fieldname + "` ";
|
||||
boolean canHaveDefaultValue = true;
|
||||
switch (type) {
|
||||
case ColumnMetaData.TYPE_TIMESTAMP:
|
||||
case ColumnMetaData.TYPE_TIME:
|
||||
retval += "DATETIME";
|
||||
break;
|
||||
case ColumnMetaData.TYPE_DATE:
|
||||
retval += "DATE";
|
||||
break;
|
||||
case ColumnMetaData.TYPE_BOOLEAN:
|
||||
retval += "TINYINT";
|
||||
break;
|
||||
case ColumnMetaData.TYPE_NUMBER:
|
||||
case ColumnMetaData.TYPE_INTEGER:
|
||||
case ColumnMetaData.TYPE_BIGNUMBER:
|
||||
if (null != pks && !pks.isEmpty() && pks.contains(fieldname)) {
|
||||
retval += "BIGINT";
|
||||
} else {
|
||||
// Integer values...
|
||||
if (precision == 0) {
|
||||
if (length > 9) {
|
||||
if (length < 19) {
|
||||
// can hold signed values between -9223372036854775808 and 9223372036854775807
|
||||
// 18 significant digits
|
||||
retval += "BIGINT";
|
||||
} else {
|
||||
retval += "DECIMAL(" + length + ")";
|
||||
}
|
||||
} else {
|
||||
retval += "INT";
|
||||
}
|
||||
} else {
|
||||
retval += "DECIMAL(" + length;
|
||||
if (precision > 0) {
|
||||
retval += ", " + precision;
|
||||
}
|
||||
retval += ")";
|
||||
// Floating point values...
|
||||
/*if (length > 15) {
|
||||
retval += "DECIMAL(" + length;
|
||||
if (precision > 0) {
|
||||
retval += ", " + precision;
|
||||
}
|
||||
retval += ")";
|
||||
} else {
|
||||
// A double-precision floating-point number is accurate to approximately 15
|
||||
// decimal places.
|
||||
// http://mysql.mirrors-r-us.net/doc/refman/5.1/en/numeric-type-overview.html
|
||||
retval += "DOUBLE";
|
||||
}*/
|
||||
}
|
||||
}
|
||||
break;
|
||||
case ColumnMetaData.TYPE_STRING:
|
||||
if (length * 3 <= 65533) {
|
||||
retval += "VARCHAR(" + length * 3 + ")";
|
||||
} else {
|
||||
retval += "TEXT";
|
||||
canHaveDefaultValue = false;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
retval += "TEXT";
|
||||
canHaveDefaultValue = false;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!v.isNullable()) {
|
||||
retval += " NOT NULL";
|
||||
}
|
||||
|
||||
if (canHaveDefaultValue && v.getDefaultValue() != null && !"null".equals(v.getDefaultValue()) && !"NULL".equals(v.getDefaultValue())) {
|
||||
if (type != ColumnMetaData.TYPE_TIMESTAMP && type != ColumnMetaData.TYPE_TIME && type != ColumnMetaData.TYPE_DATE) {
|
||||
if (v.getDefaultValue().startsWith("'")) {
|
||||
retval += " DEFAULT " + v.getDefaultValue();
|
||||
} else {
|
||||
retval += " DEFAULT '" + v.getDefaultValue() + "'";
|
||||
}
|
||||
} else {
|
||||
retval += " DEFAULT CURRENT_TIMESTAMP";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (withRemarks && StringUtils.isNotBlank(v.getRemarks())) {
|
||||
retval += String.format(" COMMENT '%s' ", v.getRemarks().replace("'", "\\'"));
|
||||
}
|
||||
|
||||
if (addCr) {
|
||||
retval += Const.CR;
|
||||
}
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canCreateIndex(ColumnMetaData v) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPrimaryKeyAsString(List<String> pks) {
|
||||
if (null != pks && !pks.isEmpty()) {
|
||||
return "`" +
|
||||
StringUtils.join(pks, "` , `") +
|
||||
"`";
|
||||
}
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setColumnDefaultValue(Connection connection, String schemaName, String tableName, List<ColumnDescription> columnDescriptions) {
|
||||
String sql = this.getDefaultValueSql(schemaName, tableName);
|
||||
try (Statement st = connection.createStatement()) {
|
||||
try (ResultSet rs = st.executeQuery(sql)) {
|
||||
while (rs.next()) {
|
||||
String columnName = rs.getString("Field");
|
||||
String columnDefault = rs.getString("Default");
|
||||
if (columnName != null) {
|
||||
for (ColumnDescription cd : columnDescriptions) {
|
||||
if (columnName.equals(cd.getFieldName())) {
|
||||
cd.setDefaultValue(columnDefault);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (SQLException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getDefaultValueSql(String schemaName, String tableName) {
|
||||
return String.format("desc `%s`.`%s`", schemaName, tableName);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public List<String> queryTablePrimaryKeys(Connection connection, String schemaName,
|
||||
String tableName) {
|
||||
Set<String> ret = new HashSet<>();
|
||||
String sql = String.format("desc `%s`.`%s`", schemaName, tableName);
|
||||
try (PreparedStatement ps = connection.prepareStatement(sql);
|
||||
ResultSet rs = ps.executeQuery();
|
||||
) {
|
||||
//看下是否又none的字段,如果有,说明key模式为DUPLICATE KEY 可重复
|
||||
boolean NoneExtra = false;
|
||||
while (rs.next()) {
|
||||
String field = rs.getString("Field");
|
||||
String key = rs.getString("Key");
|
||||
String extra = rs.getString("Extra");
|
||||
if ("true".equalsIgnoreCase(key)) {
|
||||
ret.add(field);
|
||||
} else {
|
||||
if ("NONE".equalsIgnoreCase(extra)) {
|
||||
NoneExtra = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (NoneExtra) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return new ArrayList<>(ret);
|
||||
} catch (SQLException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setColumnIndexInfo(Connection connection, String schemaName, String tableName, List<ColumnDescription> columnDescriptions) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> getTableColumnCommentDefinition(TableDescription td,
|
||||
List<ColumnDescription> cds) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -56,7 +56,7 @@ public class WatchStatementExplainer {
|
|||
|
||||
public static String getCreateStatement(String tableName) {
|
||||
Optional<InetAddress> address = getSystemLocalIp();
|
||||
String ip = address.isPresent() ? address.get().getHostAddress() : "101.34.77.101";
|
||||
String ip = address.isPresent() ? address.get().getHostAddress() : "127.0.0.1";
|
||||
return MessageFormat.format(CREATE_SQL_TEMPLATE, tableName, ip, PORT);
|
||||
}
|
||||
|
||||
|
|
|
@ -40,6 +40,7 @@ public class SecurityFilterConfig {
|
|||
.and().authorizeRequests()
|
||||
.antMatchers(permits).permitAll()
|
||||
.antMatchers(HttpMethod.OPTIONS).permitAll()
|
||||
.antMatchers("/datax/**").permitAll()
|
||||
.anyRequest().authenticated()
|
||||
.and().exceptionHandling().authenticationEntryPoint(new SecurityAuthenticationEntryPoint())
|
||||
.and().headers().frameOptions().disable()
|
||||
|
|
|
@ -78,19 +78,25 @@ spring:
|
|||
- Path=/v3/api-docs/**
|
||||
filters:
|
||||
- RewritePath=/v3/api-docs/(?<path>.*), /$\{path}/v3/api-docs
|
||||
- id: srt-cloud-datax-service # New Gateway
|
||||
uri: lb://srt-cloud-datax-service # Update with the correct URI for your new service
|
||||
predicates:
|
||||
- Path=/srt-cloud-datax-service/** # Adjust the path as needed
|
||||
filters:
|
||||
- StripPrefix=1
|
||||
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: 101.34.77.101:8848
|
||||
# 命名空间,默认:public
|
||||
namespace: f7d93216-fc61-4dfa-ae76-598469981418
|
||||
namespace: c5d32e76-b83c-4254-8176-1c6a2cee8e3b
|
||||
service: ${spring.application.name}
|
||||
group: srt2.0
|
||||
group: srt2.1
|
||||
|
||||
springdoc:
|
||||
swagger-ui:
|
||||
path: doc.html
|
||||
|
||||
|
||||
logging:
|
||||
level:
|
||||
org:
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
<modules>
|
||||
<module>srt-cloud-quartz</module>
|
||||
<module>srt-cloud-message</module>
|
||||
<module>srt-cloud-datax</module>
|
||||
<module>srt-cloud-datax-service</module>
|
||||
</modules>
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,210 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>net.srt</groupId>
|
||||
<artifactId>srt-cloud-module</artifactId>
|
||||
<version>2.0.0</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>srt-cloud-datax-service</artifactId>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>8</maven.compiler.source>
|
||||
<maven.compiler.target>8</maven.compiler.target>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>net.srt</groupId>
|
||||
<artifactId>srt-cloud-mybatis</artifactId>
|
||||
<version>2.0.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.srt</groupId>
|
||||
<artifactId>srt-cloud-api</artifactId>
|
||||
<version>2.0.0</version>
|
||||
</dependency>
|
||||
<!--使用log42j-->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-log4j2</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-bootstrap</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<artifactId>spring-boot-starter-logging</artifactId>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.alibaba.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.alibaba.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
|
||||
</dependency>
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>com.github.xiaoymin</groupId>-->
|
||||
<!-- <artifactId>knife4j-springdoc-ui</artifactId>-->
|
||||
<!-- </dependency>-->
|
||||
<dependency>
|
||||
<groupId>com.aliyun</groupId>
|
||||
<artifactId>dysmsapi20170525</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.squareup.okhttp3</groupId>
|
||||
<artifactId>okhttp</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.tencentcloudapi</groupId>
|
||||
<artifactId>tencentcloud-sdk-java</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.qiniu</groupId>
|
||||
<artifactId>qiniu-java-sdk</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<!--<finalName>${project.artifactId}</finalName>-->
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>appassembler-maven-plugin</artifactId>
|
||||
<version>2.1.0</version>
|
||||
<!-- 如果不配置 generate-daemons,则打包命令为 mvn clean package appassembler:assemble -->
|
||||
<!-- 如果配置了 generate-daemons,打包命令可以是 mvn clean package 也可以是 mvn clean package appassembler:assemble -->
|
||||
<executions>
|
||||
<execution>
|
||||
<id>generate-jsw-scripts</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>generate-daemons</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
|
||||
<configuration>
|
||||
<!-- flat与lib共同决定将项目用的的所有jar包复制到lib目录下 -->
|
||||
<repositoryLayout>flat</repositoryLayout>
|
||||
<!--从哪里copy配置文件-->
|
||||
<configurationSourceDirectory>src/main/resources</configurationSourceDirectory>
|
||||
<includeConfigurationDirectoryInClasspath>true</includeConfigurationDirectoryInClasspath>
|
||||
<!--是否copy配置文件-->
|
||||
<copyConfigurationDirectory>true</copyConfigurationDirectory>
|
||||
<!--配置文件存放在conf目录路径-->
|
||||
<configurationDirectory>conf</configurationDirectory>
|
||||
<!-- 打包的jar,以及maven依赖的jar放到这个目录里面 -->
|
||||
<repositoryName>lib</repositoryName>
|
||||
<!-- 可执行脚本的目录 -->
|
||||
<binFolder>bin</binFolder>
|
||||
<encoding>UTF-8</encoding>
|
||||
<logsDirectory>logs</logsDirectory>
|
||||
|
||||
<daemons>
|
||||
<daemon>
|
||||
<id>${project.artifactId}</id>
|
||||
<mainClass>net.srt.QuartzApplication</mainClass>
|
||||
<platforms>
|
||||
<platform>jsw</platform>
|
||||
</platforms>
|
||||
<generatorConfigurations>
|
||||
<generatorConfiguration>
|
||||
<generator>jsw</generator>
|
||||
<includes>
|
||||
<include>linux-x86-32</include>
|
||||
<include>linux-x86-64</include>
|
||||
<include>windows-x86-32</include>
|
||||
<include>windows-x86-64</include>
|
||||
</includes>
|
||||
<configuration>
|
||||
<property>
|
||||
<name>configuration.directory.in.classpath.first</name>
|
||||
<value>conf</value>
|
||||
</property>
|
||||
<property>
|
||||
<name>wrapper.ping.timeout</name>
|
||||
<value>120</value>
|
||||
</property>
|
||||
<property>
|
||||
<name>set.default.REPO_DIR</name>
|
||||
<value>lib</value>
|
||||
</property>
|
||||
<property>
|
||||
<name>wrapper.logfile</name>
|
||||
<value>logs/wrapper.log</value>
|
||||
</property>
|
||||
</configuration>
|
||||
</generatorConfiguration>
|
||||
</generatorConfigurations>
|
||||
<jvmSettings>
|
||||
<!-- jvm参数 -->
|
||||
<!--<systemProperties>
|
||||
<systemProperty>com.sun.management.jmxremote</systemProperty>
|
||||
<systemProperty>com.sun.management.jmxremote.port=1984</systemProperty>
|
||||
<systemProperty>com.sun.management.jmxremote.authenticate=false</systemProperty>
|
||||
<systemProperty>com.sun.management.jmxremote.ssl=false</systemProperty>
|
||||
</systemProperties>-->
|
||||
<extraArguments>
|
||||
<extraArgument>-server</extraArgument>
|
||||
<extraArgument>-Dfile.encoding=utf-8</extraArgument>
|
||||
<extraArgument>-Xms128m</extraArgument>
|
||||
<extraArgument>-Xmx2048m</extraArgument>
|
||||
<extraArgument>-XX:+PrintGCDetails</extraArgument><!--输出GC的详细日志-->
|
||||
<extraArgument>-XX:+PrintGCDateStamps</extraArgument><!--输出GC的时间戳-->
|
||||
<extraArgument>-Xloggc:logs/gc.log</extraArgument><!--日志文件的输出路径-->
|
||||
</extraArguments>
|
||||
</jvmSettings>
|
||||
</daemon>
|
||||
</daemons>
|
||||
<programs>
|
||||
<program>
|
||||
<mainClass>net.srt.QuartzApplication</mainClass>
|
||||
<id>${project.artifactId}</id>
|
||||
</program>
|
||||
</programs>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<!--打包 日常调试打包可以把该组件注释掉,不然install的速度比较慢-->
|
||||
<plugin>
|
||||
<artifactId>maven-assembly-plugin</artifactId>
|
||||
<configuration>
|
||||
<descriptors>
|
||||
<descriptor>${project.parent.parent.basedir}/assembly/assembly-win.xml</descriptor>
|
||||
<descriptor>${project.parent.parent.basedir}/assembly/assembly-linux.xml</descriptor>
|
||||
</descriptors>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>make-assembly</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>single</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<!--<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
</plugin>-->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<configuration>
|
||||
<skipTests>true</skipTests>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
|
@ -0,0 +1,20 @@
|
|||
package net.srt;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
|
||||
/**
|
||||
* @ClassName StuApp
|
||||
* @Description 描述
|
||||
* @Author 栗永斌
|
||||
*/
|
||||
@EnableDiscoveryClient
|
||||
@SpringBootApplication
|
||||
public class DataxServiceApp {
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(DataxServiceApp.class);
|
||||
System.out.println("Hello world!");
|
||||
}
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
package net.srt.datax.controllor;
|
||||
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.AllArgsConstructor;
|
||||
import net.srt.datax.server.SrtDataxService;
|
||||
import net.srt.datax.vo.StrDatax;
|
||||
import net.srt.framework.common.utils.Result;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @ClassName StuController
|
||||
* @Description 描述
|
||||
* @Author 栗永斌
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/dataxService")
|
||||
@Tag(name = "datax库表")
|
||||
public class SrtDataxController {
|
||||
@Autowired
|
||||
private SrtDataxService dataxService;
|
||||
|
||||
@Operation(summary = "查询列表")
|
||||
@PostMapping("/list")
|
||||
public Result<List<StrDatax>> list() {
|
||||
List<StrDatax> stuList = dataxService.dataxList();
|
||||
return Result.ok(stuList);
|
||||
}
|
||||
|
||||
@Operation(summary = "新增")
|
||||
@PostMapping("/add")
|
||||
public Result<StrDatax> add(@RequestBody StrDatax strDatax) {
|
||||
dataxService.add(strDatax);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
@Operation(summary = "修改列表")
|
||||
@PostMapping("/update")
|
||||
public Result<StrDatax> update(@RequestBody StrDatax strDatax) {
|
||||
dataxService.updateStrDatax(strDatax);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
@Operation(summary = "删除列表")
|
||||
@PostMapping("/del/{id}")
|
||||
public Result<String> del(@PathVariable Long id) {
|
||||
dataxService.delStrDatax(id);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
@Operation(summary = "回显")
|
||||
@PostMapping("/findById/{id}")
|
||||
public Result<StrDatax> findById(@PathVariable Integer id) {
|
||||
if (id!= null) {
|
||||
return Result.ok(dataxService.findById(id));
|
||||
}
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
package net.srt.datax.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import net.srt.datax.vo.StrDatax;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface SrtDataxMapper extends BaseMapper<StrDatax> {
|
||||
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
package net.srt.datax.server;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import net.srt.datax.vo.StrDatax;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @ClassName StrDataxService
|
||||
* @Description 描述
|
||||
* @Author 栗永斌
|
||||
*/
|
||||
public interface SrtDataxService extends IService<StrDatax> {
|
||||
|
||||
|
||||
|
||||
void add(StrDatax StrDatax);
|
||||
|
||||
List<StrDatax> dataxList();
|
||||
|
||||
void delStrDatax(Long id);
|
||||
|
||||
void updateStrDatax(StrDatax StrDatax);
|
||||
|
||||
StrDatax findById(Integer id);
|
||||
}
|
|
@ -0,0 +1,74 @@
|
|||
package net.srt.datax.server.impl;
|
||||
|
||||
import cn.hutool.http.server.HttpServerRequest;
|
||||
import lombok.AllArgsConstructor;
|
||||
import net.srt.datax.mapper.SrtDataxMapper;
|
||||
import net.srt.datax.server.SrtDataxService;
|
||||
import net.srt.datax.vo.StrDatax;
|
||||
import net.srt.framework.mybatis.service.impl.BaseServiceImpl;
|
||||
import net.srt.framework.security.cache.TokenStoreCache;
|
||||
import net.srt.framework.security.user.UserDetail;
|
||||
import net.srt.framework.security.utils.TokenUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @ClassName StrDataxServiceImpl
|
||||
* @Description 描述
|
||||
* @Author 栗永斌
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class StrDataxServiceImpl extends BaseServiceImpl<SrtDataxMapper, StrDatax> implements SrtDataxService {
|
||||
|
||||
private SrtDataxMapper dataxMapper;
|
||||
|
||||
private final TokenStoreCache tokenStoreCache;
|
||||
|
||||
private HttpServletRequest request;
|
||||
|
||||
|
||||
@Override
|
||||
public void add(StrDatax strDatax) {
|
||||
UserDetail user = getUser();
|
||||
strDatax.setCreateUser(user.getUsername());
|
||||
strDatax.setCreateTime(new Date());
|
||||
dataxMapper.insert(strDatax);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<StrDatax> dataxList() {
|
||||
List<StrDatax> StrDataxs = dataxMapper.selectList(null);
|
||||
return StrDataxs;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void delStrDatax(Long id) {
|
||||
dataxMapper.deleteById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateStrDatax(StrDatax strDatax) {
|
||||
UserDetail user = getUser();
|
||||
strDatax.setUpdateUser(user.getUsername());
|
||||
strDatax.setUpdateTime(new Date());
|
||||
dataxMapper.updateById(strDatax);
|
||||
}
|
||||
|
||||
@Override
|
||||
public StrDatax findById(Integer id) {
|
||||
return dataxMapper.selectById(id);
|
||||
}
|
||||
|
||||
|
||||
private UserDetail getUser() {
|
||||
String accessToken = TokenUtils.getAccessToken(request);
|
||||
UserDetail user = tokenStoreCache.getUser(accessToken);
|
||||
return user;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,99 @@
|
|||
package net.srt.datax.test;
|
||||
|
||||
import lombok.extern.log4j.Log4j2;
|
||||
|
||||
import java.sql.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.Future;
|
||||
|
||||
@Log4j2
|
||||
public class OptimizedDataGeneration {
|
||||
|
||||
public static void main(String[] args) {
|
||||
String jdbcUrl = "jdbc:mysql://122.51.52.153:3306/jpz01?rewriteBatchedStatements=true&useServerPrepStmts=false";
|
||||
String username = "root";
|
||||
String password = "root";
|
||||
|
||||
long startTime = System.currentTimeMillis();
|
||||
|
||||
try (Connection connection = DriverManager.getConnection(jdbcUrl, username, password)) {
|
||||
connection.setAutoCommit(false); // Disable auto-commit
|
||||
|
||||
// Generate and insert data
|
||||
int numberOfRecords = 30000000;
|
||||
int batchSize = 60000; // Adjust the batch size as needed
|
||||
int numberOfThreads = 9; // Adjust the number of threads as needed
|
||||
|
||||
// Disable indexes and constraints before inserting data
|
||||
connection.createStatement().execute("ALTER TABLE t_user DISABLE KEYS");
|
||||
|
||||
// Insert data using the optimized method
|
||||
insertData(connection, numberOfRecords, batchSize, numberOfThreads);
|
||||
|
||||
// Enable indexes and constraints after inserting data
|
||||
connection.createStatement().execute("ALTER TABLE t_user ENABLE KEYS");
|
||||
|
||||
connection.commit(); // Commit changes
|
||||
|
||||
} catch (SQLException | InterruptedException | ExecutionException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
long totalTime = System.currentTimeMillis() - startTime;
|
||||
log.info("Total execution time: {} ms", totalTime);
|
||||
}
|
||||
|
||||
private static void insertData(Connection connection, int numberOfRecords, int batchSize, int numberOfThreads)
|
||||
throws SQLException, InterruptedException, ExecutionException {
|
||||
// Example of using ExecutorService for parallel insertion
|
||||
ExecutorService executorService = Executors.newFixedThreadPool(numberOfThreads);
|
||||
List<Future<Void>> futures = new ArrayList<>();
|
||||
|
||||
for (int i = 0; i < numberOfThreads; i++) {
|
||||
final int startIndex = i * (numberOfRecords / numberOfThreads);
|
||||
final int endIndex = (i + 1) * (numberOfRecords / numberOfThreads);
|
||||
|
||||
Future<Void> future = executorService.submit(() -> {
|
||||
insertDataBatch(connection, endIndex - startIndex, batchSize, startIndex + 1);
|
||||
return null;
|
||||
});
|
||||
|
||||
futures.add(future);
|
||||
}
|
||||
|
||||
// Wait for all threads to finish
|
||||
for (Future<Void> future : futures) {
|
||||
future.get();
|
||||
}
|
||||
|
||||
executorService.shutdown();
|
||||
}
|
||||
|
||||
private static void insertDataBatch(Connection connection, int numberOfRecords, int batchSize, int startId)
|
||||
throws SQLException {
|
||||
String insertQuery = "INSERT INTO t_user (user_id,user_name,user_pwd,user_sex) VALUES (0,?,?,?)";
|
||||
try (PreparedStatement preparedStatement = connection.prepareStatement(insertQuery)) {
|
||||
long startTime = System.currentTimeMillis();
|
||||
for (int i = 0; i < numberOfRecords; i++) {
|
||||
// Set values for each column in the prepared statement
|
||||
preparedStatement.setString(1, "a");
|
||||
preparedStatement.setString(2, "哈");
|
||||
preparedStatement.setInt(3, 1);
|
||||
|
||||
// Add the batch for execution
|
||||
preparedStatement.addBatch();
|
||||
|
||||
// Execute the batch every 'batchSize' records
|
||||
if ((i + 1) % batchSize == 0 || i == numberOfRecords - 1) {
|
||||
preparedStatement.executeBatch();
|
||||
preparedStatement.clearBatch();
|
||||
}
|
||||
}
|
||||
log.info("Insert {} records in {} ms", numberOfRecords, System.currentTimeMillis() - startTime);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,64 @@
|
|||
package net.srt.datax.vo;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @ClassName StuDAO
|
||||
* @Description 描述
|
||||
* @Author 栗永斌
|
||||
*/
|
||||
@Data
|
||||
@Schema(description = "字典数据")
|
||||
@TableName("data_datax")
|
||||
public class StrDatax {
|
||||
|
||||
@Schema(description = "id", required = true)
|
||||
@NotNull(message = "id不能为空")
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "库名", required = true)
|
||||
@NotNull(message = "库名不能为空")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "ip", required = true)
|
||||
@NotNull(message = "ip不能为空")
|
||||
private String ip;
|
||||
|
||||
@Schema(description = "端口", required = true)
|
||||
@NotNull(message = "端口不能为空")
|
||||
private String port;
|
||||
|
||||
@Schema(description = "状态")
|
||||
private String status;
|
||||
|
||||
@Schema(description = "创建时间", required = true)
|
||||
@NotBlank(message = "创建时间不能为空")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date createTime;
|
||||
|
||||
@Schema(description = "创建人", required = true)
|
||||
@NotBlank(message = "创建人不能为空")
|
||||
private String createUser;
|
||||
|
||||
@Schema(description = "修改时间", required = true)
|
||||
@NotBlank(message = "修改时间不能为空")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||
private Date updateTime;
|
||||
|
||||
@Schema(description = "修改人", required = true)
|
||||
@NotBlank(message = "修改人不能为空")
|
||||
private String updateUser;
|
||||
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
auth:
|
||||
ignore_urls:
|
||||
- /datax/**
|
||||
- /api/quartz/**
|
|
@ -0,0 +1,34 @@
|
|||
server:
|
||||
port: 8092
|
||||
|
||||
spring:
|
||||
application:
|
||||
name: srt-cloud-datax-service
|
||||
profiles:
|
||||
active: dev
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: 101.34.77.101:8848
|
||||
# 命名空间,默认:public
|
||||
namespace: c5d32e76-b83c-4254-8176-1c6a2cee8e3b
|
||||
service: ${spring.application.name}
|
||||
group: srt2.1
|
||||
config:
|
||||
server-addr: ${spring.cloud.nacos.discovery.server-addr}
|
||||
namespace: ${spring.cloud.nacos.discovery.namespace}
|
||||
file-extension: yaml
|
||||
# 指定配置
|
||||
extension-configs:
|
||||
- data-id: datasource.yaml
|
||||
refresh: true
|
||||
# feign 配置
|
||||
feign:
|
||||
client:
|
||||
config:
|
||||
default:
|
||||
connectTimeout: 1200000
|
||||
readTimeout: 1200000
|
||||
loggerLevel: basic
|
||||
okhttp:
|
||||
enabled: true
|
|
@ -0,0 +1,48 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--status用于设置log4j2框架内部的日志信息输出,设置成OFF将禁止log4j2内部日志输出,毕竟这个日志对我们没有什么作用,如果设置成trace,你会看到log4j2内部各种详细输出;monitorInterval是监控间隔,例如下面的设置是指:log4j2每隔600秒自动监控该配置文件是否有变化,如果有变化,则根据文件内容新的配置生成日志-->
|
||||
<configuration status="OFF" monitorInterval="600">
|
||||
<Properties>
|
||||
<property name="LOG_PATH">./logs/</property>
|
||||
<property name="LOG_FILE">srt-cloud-quartz</property>
|
||||
</Properties>
|
||||
<!--定义添加器-->
|
||||
<appenders>
|
||||
<!--Console是输出控制台的标签,target可以控制往控制台输出日志的颜色,例如SYSTEM_OUT就是蓝色的,SYSTEM_ERR就是红色的-->
|
||||
<Console name="Console" target="SYSTEM_OUT">
|
||||
<!--控制台只输出level及以上级别的信息,onMatch为true代表符合level标准的才输出,onMismatch为true代表不符合level标准的就不输出-->
|
||||
<ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="ACCEPT"/>
|
||||
<!--这个是输出日志的格式,如果对里面的参数不理解,可以去看我的这篇文章,网址是:“https://blog.csdn.net/qq_42449963/article/details/104617356”-->
|
||||
<!--<PatternLayout pattern=" %d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/>-->
|
||||
<PatternLayout
|
||||
pattern=" %d{yyyy-MM-dd HH:mm:ss.SSS} %highlight{%6p} %style{%5pid}{bright,magenta} --- [%15.15t] %style{%c{20}}{bright,cyan}: %m%n"/>
|
||||
</Console>
|
||||
|
||||
<!--这种存储文件的方式更加合理,可以设置多长时间把文件归档一次,也可以设置多大文件归档一次,如果都把所有的日志存在一个文件里面,文件会受不了的,解释一下参数信息:fileName后面如果后面不跟/,例如dev/logs/app.log,那就会把日志文件放在project工程下面,不是所属的项目下面如果后面跟/,例如/dev/logs/app.log,那就会把日志文件直接放在项目所在盘符的根目录下,例如项目在E盘存放,那就会把日志文件直接放在E盘的根目录下,如果后面直接加盘符,那就会存在特定的位置,例如F:/dev/logs/app.log,那就会直接放在F盘中特定的位置,上面都是经过测验的,fileName后面的app.log文件相当于是一个缓存文件,我们会把日志信息先放在app.log中,当达到我们设置的要求之后会把app.log中的日志信息转移到filePattern指定的日志文件中,转移的内容就会从app.log日志文件中清除,没有转移的内容还存放在app.log中,等到下一次符合要求的时候在进行一次转移-->
|
||||
<!--$${date:yyyy-MM}用在文件上面,输出的是目录的名字,例如2020-03,%d{MM-dd-yyyy}输入的就是月日年,例如03-02-2020,%i按照轮询输出,毕竟一天可能有符合要求的多个日志文件生成,所以需要在后面加一个类似于后缀的东西,当天的第一个日志文件可能是-1.log.gz,第二个文件就是-2.log.gz-->
|
||||
<RollingFile name="RollingFile" fileName="${LOG_PATH}/${LOG_FILE}.log"
|
||||
filePattern="${LOG_PATH}/$${date:yyyy-MM}/${LOG_FILE}-%d{yyyy-MM-dd}-%i.log">
|
||||
<!--%thread:线程名;%-5level:级别从左显示5个字符宽度;%msg:在代码中需要输出的日志消息;%class{36}:估计显示的是完整类名-->
|
||||
<PatternLayout pattern=" %d{yyyy-MM-dd HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n"/>
|
||||
<!--<SizeBasedTriggeringPolicy size="300MB"/>-->
|
||||
<Policies>
|
||||
<!--TimeBasedTriggeringPolicy基于时间的触发策略,integer属性和上面<RollingFile>标签中的filePattern的值有关,例如:filePattern=”xxx%d{yyyy-MM-dd}xx” interval=”1” 表示将1天一个日志文件;filePattern=”xxx%d{yyyy-MM-dd-HH}xxx” interval=”1”表示一个小时一个日志文件,也就是说interval的单位取决于filePattern中的最小时间单位;modulate是(boolean)以0点钟为边界进行偏移计算,应该就是假设你中午启动项目,晚上0点也是一天了,而不是经过24小时才算一天-->
|
||||
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
|
||||
<!--当app.log文件大小到达100MB的时候,就归档一次日志文件,也就是把app.log中的那前面100MB文件取出来,放到上面<RollingFile >中的filePattern后面的路径中-->
|
||||
<SizeBasedTriggeringPolicy size="100MB"/>
|
||||
</Policies>
|
||||
</RollingFile>
|
||||
</appenders>
|
||||
|
||||
<loggers>
|
||||
<logger name="net.srt.quartz.dao" level="DEBUG" additivity="false">
|
||||
<appender-ref ref="Console"/>
|
||||
</logger>
|
||||
<!--level="info"代表只能打印出info及其以上的信息;Console是上面Console标签的名字,往这一写,就可以往控制台上输出内容了,RollingFile是上面RollingFile标签的名字,往这一写,就会往设定的文件中输出内容了;当程序运行的时候就会被创建日志输出文件,不过里面没有任何日志内容,是否往里面输入日志,是通过下面的appender-ref标签控制的-->
|
||||
<root level="info">
|
||||
<appender-ref ref="Console"/>
|
||||
<!--一般不使用这个,只是让你知道有这个输出日志文件的方式而已-->
|
||||
<!--<appender-ref ref="File"/>-->
|
||||
<appender-ref ref="RollingFile"/>
|
||||
</root>
|
||||
</loggers>
|
||||
</configuration>
|
|
@ -0,0 +1,38 @@
|
|||
target/
|
||||
!.mvn/wrapper/maven-wrapper.jar
|
||||
!**/src/main/**/target/
|
||||
!**/src/test/**/target/
|
||||
|
||||
### IntelliJ IDEA ###
|
||||
.idea/modules.xml
|
||||
.idea/jarRepositories.xml
|
||||
.idea/compiler.xml
|
||||
.idea/libraries/
|
||||
*.iws
|
||||
*.iml
|
||||
*.ipr
|
||||
|
||||
### Eclipse ###
|
||||
.apt_generated
|
||||
.classpath
|
||||
.factorypath
|
||||
.project
|
||||
.settings
|
||||
.springBeans
|
||||
.sts4-cache
|
||||
|
||||
### NetBeans ###
|
||||
/nbproject/private/
|
||||
/nbbuild/
|
||||
/dist/
|
||||
/nbdist/
|
||||
/.nb-gradle/
|
||||
build/
|
||||
!**/src/main/**/build/
|
||||
!**/src/test/**/build/
|
||||
|
||||
### VS Code ###
|
||||
.vscode/
|
||||
|
||||
### Mac OS ###
|
||||
.DS_Store
|
|
@ -0,0 +1,262 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>net.srt</groupId>
|
||||
<artifactId>srt-cloud-module</artifactId>
|
||||
<version>2.0.0</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>srt-cloud-datax</artifactId>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>8</maven.compiler.source>
|
||||
<maven.compiler.target>8</maven.compiler.target>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>net.srt</groupId>
|
||||
<artifactId>srt-cloud-api</artifactId>
|
||||
<version>2.0.0</version>
|
||||
</dependency>
|
||||
<!--数据血缘-->
|
||||
<dependency>
|
||||
<groupId>net.srt</groupId>
|
||||
<artifactId>srt-cloud-data-lineage</artifactId>
|
||||
<version>2.0.0</version>
|
||||
</dependency>
|
||||
<!--使用log42j-->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-log4j2</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.srt</groupId>
|
||||
<artifactId>srt-cloud-dbswitch</artifactId>
|
||||
<version>2.0.0</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<artifactId>spring-boot-starter-logging</artifactId>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.srt</groupId>
|
||||
<artifactId>srt-cloud-mybatis</artifactId>
|
||||
<version>2.0.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-bootstrap</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.alibaba.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.alibaba.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.xiaoymin</groupId>
|
||||
<artifactId>knife4j-springdoc-ui</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.quartz-scheduler</groupId>
|
||||
<artifactId>quartz</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.srt</groupId>
|
||||
<artifactId>srt-cloud-data-integrate</artifactId>
|
||||
<version>2.0.0</version>
|
||||
</dependency>
|
||||
<!-- mvn install:install-file -Dfile=D:/Student_IDEA/srt-cloud/data-center/srt-cloud-module/srt-cloud-datax/src/main/java/net/srt/datax/lib/datax-core-0.0.1-SNAPSHOT.jar -DgroupId=com.alibaba.datax -DartifactId=datax-core -Dversion=0.0.1-SNAPSHOT -Dpackaging=jar
|
||||
-->
|
||||
<dependency>
|
||||
<groupId>com.alibaba.datax</groupId>
|
||||
<artifactId>datax-core</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<!-- mvn install:install-file -Dfile=lib/datax-common-0.0.1-SNAPSHOT.jar -DgroupId=com.alibaba.datax -DartifactId=datax-common -Dversion=0.0.1-SNAPSHOT -Dpackaging=jar
|
||||
-->
|
||||
<dependency>
|
||||
<groupId>com.alibaba.datax</groupId>
|
||||
<artifactId>datax-common</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<!-- mvn install:install-file -Dfile=lib/datax-transformer-0.0.1-SNAPSHOT.jar -DgroupId=com.alibaba.datax -DartifactId=datax-transformer -Dversion=0.0.1-SNAPSHOT -Dpackaging=jar
|
||||
-->
|
||||
<dependency>
|
||||
<groupId>com.alibaba.datax</groupId>
|
||||
<artifactId>datax-transformer</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
<!-- mvn install:install-file -Dfile=lib/datax-core-0.0.1-SNAPSHOT.jar -DgroupId=com.alibaba.datax -DartifactId=mysqlreader -Dversion=0.0.1-SNAPSHOT -Dpackaging=jar
|
||||
-->
|
||||
<dependency>
|
||||
<groupId>com.alibaba.datax</groupId>
|
||||
<artifactId>mysqlreader</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
</dependency>
|
||||
|
||||
<!-- mvn install:install-file -Dfile=lib/datax-core-0.0.1-SNAPSHOT.jar -DgroupId=com.alibaba.datax -DartifactId=mysqlwriter -Dversion=0.0.1-SNAPSHOT -Dpackaging=jar
|
||||
-->
|
||||
<!-- <dependency>-->
|
||||
<!-- <groupId>com.alibaba.datax</groupId>-->
|
||||
<!-- <artifactId>mysqlwriter</artifactId>-->
|
||||
<!-- <version>0.0.1-SNAPSHOT</version>-->
|
||||
<!-- </dependency>-->
|
||||
<!-- mvn install:install-file -Dfile=lib/datax-core-0.0.1-SNAPSHOT.jar -DgroupId=com.alibaba.datax -DartifactId=oraclereader -Dversion=0.0.1-SNAPSHOT -Dpackaging=jar
|
||||
-->
|
||||
|
||||
<dependency>
|
||||
<groupId>com.alibaba.datax</groupId>
|
||||
<artifactId>oraclereader</artifactId>
|
||||
<version>0.0.1-SNAPSHOT</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
|
||||
|
||||
<build>
|
||||
<!--<finalName>${project.artifactId}</finalName>-->
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>appassembler-maven-plugin</artifactId>
|
||||
<version>2.1.0</version>
|
||||
<!-- 如果不配置 generate-daemons,则打包命令为 mvn clean package appassembler:assemble -->
|
||||
<!-- 如果配置了 generate-daemons,打包命令可以是 mvn clean package 也可以是 mvn clean package appassembler:assemble -->
|
||||
<executions>
|
||||
<execution>
|
||||
<id>generate-jsw-scripts</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>generate-daemons</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
|
||||
<configuration>
|
||||
<!-- flat与lib共同决定将项目用的的所有jar包复制到lib目录下 -->
|
||||
<repositoryLayout>flat</repositoryLayout>
|
||||
<!--从哪里copy配置文件-->
|
||||
<configurationSourceDirectory>src/main/resources</configurationSourceDirectory>
|
||||
<includeConfigurationDirectoryInClasspath>true</includeConfigurationDirectoryInClasspath>
|
||||
<!--是否copy配置文件-->
|
||||
<copyConfigurationDirectory>true</copyConfigurationDirectory>
|
||||
<!--配置文件存放在conf目录路径-->
|
||||
<configurationDirectory>conf</configurationDirectory>
|
||||
<!-- 打包的jar,以及maven依赖的jar放到这个目录里面 -->
|
||||
<repositoryName>lib</repositoryName>
|
||||
<!-- 可执行脚本的目录 -->
|
||||
<binFolder>bin</binFolder>
|
||||
<encoding>UTF-8</encoding>
|
||||
<logsDirectory>logs</logsDirectory>
|
||||
|
||||
<daemons>
|
||||
<daemon>
|
||||
<id>${project.artifactId}</id>
|
||||
<mainClass>net.srt.QuartzApplication</mainClass>
|
||||
<platforms>
|
||||
<platform>jsw</platform>
|
||||
</platforms>
|
||||
<generatorConfigurations>
|
||||
<generatorConfiguration>
|
||||
<generator>jsw</generator>
|
||||
<includes>
|
||||
<include>linux-x86-32</include>
|
||||
<include>linux-x86-64</include>
|
||||
<include>windows-x86-32</include>
|
||||
<include>windows-x86-64</include>
|
||||
</includes>
|
||||
<configuration>
|
||||
<property>
|
||||
<name>configuration.directory.in.classpath.first</name>
|
||||
<value>conf</value>
|
||||
</property>
|
||||
<property>
|
||||
<name>wrapper.ping.timeout</name>
|
||||
<value>120</value>
|
||||
</property>
|
||||
<property>
|
||||
<name>set.default.REPO_DIR</name>
|
||||
<value>lib</value>
|
||||
</property>
|
||||
<property>
|
||||
<name>wrapper.logfile</name>
|
||||
<value>logs/wrapper.log</value>
|
||||
</property>
|
||||
</configuration>
|
||||
</generatorConfiguration>
|
||||
</generatorConfigurations>
|
||||
<jvmSettings>
|
||||
<!-- jvm参数 -->
|
||||
<!--<systemProperties>
|
||||
<systemProperty>com.sun.management.jmxremote</systemProperty>
|
||||
<systemProperty>com.sun.management.jmxremote.port=1984</systemProperty>
|
||||
<systemProperty>com.sun.management.jmxremote.authenticate=false</systemProperty>
|
||||
<systemProperty>com.sun.management.jmxremote.ssl=false</systemProperty>
|
||||
</systemProperties>-->
|
||||
<extraArguments>
|
||||
<extraArgument>-server</extraArgument>
|
||||
<extraArgument>-Dfile.encoding=utf-8</extraArgument>
|
||||
<extraArgument>-Xms128m</extraArgument>
|
||||
<extraArgument>-Xmx2048m</extraArgument>
|
||||
<extraArgument>-XX:+PrintGCDetails</extraArgument><!--输出GC的详细日志-->
|
||||
<extraArgument>-XX:+PrintGCDateStamps</extraArgument><!--输出GC的时间戳-->
|
||||
<extraArgument>-Xloggc:logs/gc.log</extraArgument><!--日志文件的输出路径-->
|
||||
</extraArguments>
|
||||
</jvmSettings>
|
||||
</daemon>
|
||||
</daemons>
|
||||
<programs>
|
||||
<program>
|
||||
<mainClass>net.srt.QuartzApplication</mainClass>
|
||||
<id>${project.artifactId}</id>
|
||||
</program>
|
||||
</programs>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<!--打包 日常调试打包可以把该组件注释掉,不然install的速度比较慢-->
|
||||
<plugin>
|
||||
<artifactId>maven-assembly-plugin</artifactId>
|
||||
<configuration>
|
||||
<descriptors>
|
||||
<descriptor>${project.parent.parent.basedir}/assembly/assembly-win.xml</descriptor>
|
||||
<descriptor>${project.parent.parent.basedir}/assembly/assembly-linux.xml</descriptor>
|
||||
</descriptors>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>make-assembly</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>single</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<!--<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
</plugin>-->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<configuration>
|
||||
<skipTests>true</skipTests>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
|
@ -0,0 +1,23 @@
|
|||
package net.srt.datax;
|
||||
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
import org.springframework.cloud.openfeign.EnableFeignClients;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
|
||||
/**
|
||||
* @ClassName StuApp
|
||||
* @Description 描述
|
||||
* @Author 栗永斌
|
||||
*/
|
||||
@EnableFeignClients
|
||||
@EnableDiscoveryClient
|
||||
@SpringBootApplication
|
||||
@ComponentScan(basePackages = "net.srt.framework.common.cache")
|
||||
public class DataxApp {
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(DataxApp.class);
|
||||
System.out.println("Hello world!");
|
||||
}
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
package net.srt.datax.controllor;
|
||||
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.AllArgsConstructor;
|
||||
import net.srt.api.module.data.integrate.dto.DataAccessDto;
|
||||
import net.srt.datax.server.DataxService;
|
||||
import net.srt.framework.common.utils.Result;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* @ClassName StuController
|
||||
* @Description 描述
|
||||
* @Author 栗永斌
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/datax")
|
||||
@Tag(name = "datax同步")
|
||||
public class DataxController {
|
||||
@Autowired
|
||||
private DataxService dataxService;
|
||||
|
||||
@Operation(summary = "执行")
|
||||
@PostMapping("/execute")
|
||||
public Result execute(@RequestBody DataAccessDto dataAccessDto) {
|
||||
dataxService.datax(dataAccessDto);
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
package net.srt.datax.feign;
|
||||
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import net.srt.api.module.data.integrate.dto.DataAccessDto;
|
||||
import net.srt.framework.common.utils.Result;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
/**
|
||||
* @author : WangZhanpeng
|
||||
* @date : 2023/12/15 19:26
|
||||
*/
|
||||
@FeignClient(name = "srt-cloud-data-integrate",fallback = DataAccessFeignImpl.class)
|
||||
public interface DataAccessFeign {
|
||||
|
||||
@PostMapping("/datax/execute")
|
||||
@Operation(summary = "定时器===>datax")
|
||||
public Result execute(@RequestBody DataAccessDto dataAccessDto);
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
package net.srt.datax.feign;
|
||||
|
||||
import net.srt.api.module.data.integrate.dto.DataAccessDto;
|
||||
import net.srt.datax.feign.DataAccessFeign;
|
||||
import net.srt.dto.DataAccessClientDto;
|
||||
import net.srt.framework.common.utils.Result;
|
||||
|
||||
/**
|
||||
* @author : WangZhanpeng
|
||||
* @date : 2023/12/15 19:28
|
||||
*/
|
||||
public class DataAccessFeignImpl implements DataAccessFeign {
|
||||
@Override
|
||||
public Result execute(DataAccessDto dataAccessDto) {
|
||||
return Result.error("服务器繁忙,请稍等~~~~");
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
package net.srt.datax.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
public interface DataxMapper {
|
||||
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package net.srt.datax.server;
|
||||
|
||||
import net.srt.api.module.data.integrate.dto.DataAccessDto;
|
||||
|
||||
/**
|
||||
* @ClassName StrDataxService
|
||||
* @Description 描述
|
||||
* @Author 栗永斌
|
||||
*/
|
||||
public interface DataxService {
|
||||
|
||||
void datax(DataAccessDto dataAccessDto);
|
||||
}
|
|
@ -0,0 +1,103 @@
|
|||
package net.srt.datax.server.impl;
|
||||
|
||||
import com.alibaba.datax.core.Engine;
|
||||
import lombok.AllArgsConstructor;
|
||||
import net.srt.api.module.data.integrate.dto.DataAccessDto;
|
||||
import net.srt.dao.DataDatabaseDao;
|
||||
import net.srt.datax.mapper.DataxMapper;
|
||||
import net.srt.datax.server.DataxService;
|
||||
import net.srt.entity.DataDatabaseEntity;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalTime;
|
||||
|
||||
/**
|
||||
* @ClassName StrDataxServiceImpl
|
||||
* @Description 描述
|
||||
* @Author 栗永斌
|
||||
*/
|
||||
@Service
|
||||
public class DataxServiceImpl implements DataxService {
|
||||
@Autowired
|
||||
private DataxMapper dataxMapper;
|
||||
|
||||
@Autowired
|
||||
private DataDatabaseDao dataDatabaseDao;
|
||||
@Override
|
||||
public void datax(DataAccessDto dataAccessDto) {
|
||||
String jobJson = buildJobJSON(dataAccessDto);
|
||||
// 调用datax完成数据同步
|
||||
executeDataX(jobJson);
|
||||
}
|
||||
|
||||
private void executeDataX(String job) {
|
||||
|
||||
System.setProperty("now", LocalTime.now().toString());
|
||||
String[] dataxArgs = {"-job", job, "-mode", "standalone", "-jobid", "-1"};
|
||||
try {
|
||||
Engine.entry(dataxArgs);
|
||||
} catch (Throwable e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private String buildJobJSON(DataAccessDto dataAccessData) {
|
||||
|
||||
//获取源端数据库信息
|
||||
DataDatabaseEntity sourceDatabase = dataDatabaseDao.selectById(dataAccessData.getSourceDatabaseId());
|
||||
|
||||
//获取目标端数据库信息
|
||||
DataDatabaseEntity targetDatabase = dataDatabaseDao.selectById(dataAccessData.getTargetDatabaseId());
|
||||
|
||||
|
||||
// 根据任务详情和数据库信息生成job.json
|
||||
String dataxJson = "{\n" +
|
||||
" \"job\": {\n" +
|
||||
" \"setting\": {\n" +
|
||||
" \"speed\": {\n" +
|
||||
" \"channel\": 5\n" +
|
||||
" }\n" +
|
||||
" },\n" +
|
||||
" \"content\": [\n" +
|
||||
" {\n" +
|
||||
" \"reader\": {\n" +
|
||||
" \"name\": \"mysqlreader\",\n" +
|
||||
" \"parameter\": {\n" +
|
||||
" \"username\": \""+sourceDatabase.getUserName()+"\",\n" +
|
||||
" \"password\": \""+sourceDatabase.getPassword()+"\",\n" +
|
||||
" \"column\": [\"*\"],\n" +
|
||||
" \"splitPk\": \"id\",\n" +
|
||||
" \"connection\": [\n" +
|
||||
" {\n" +
|
||||
" \"jdbcUrl\": [\""+sourceDatabase.getJdbcUrl()+"\"],\n" +
|
||||
" \"table\": [\"source_table\"]\n" +
|
||||
" }\n" +
|
||||
" ]\n" +
|
||||
" }\n" +
|
||||
" },\n" +
|
||||
" \"writer\": {\n" +
|
||||
" \"name\": \"mysqlwriter\",\n" +
|
||||
" \"parameter\": {\n" +
|
||||
" \"writeMode\": \"replace\",\n" +
|
||||
" \"username\": \""+targetDatabase.getUserName()+"\",\n" +
|
||||
" \"password\": \""+targetDatabase.getPassword()+"\",\n" +
|
||||
" \"column\": [\"*\"],\n" +
|
||||
" \"session\": [\n" +
|
||||
" \"set session sql_mode='ANSI_QUOTES'\"\n" +
|
||||
" ],\n" +
|
||||
" \"connection\": [\n" +
|
||||
" {\n" +
|
||||
" \"jdbcUrl\": \""+targetDatabase.getJdbcUrl()+"\",\n" +
|
||||
" \"table\": [\"target_table\"]\n" +
|
||||
" }\n" +
|
||||
" ]\n" +
|
||||
" }\n" +
|
||||
" }\n" +
|
||||
" }\n" +
|
||||
" ]\n" +
|
||||
" }\n" +
|
||||
"}";
|
||||
return dataxJson;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
auth:
|
||||
ignore_urls:
|
||||
- /datax/**
|
||||
- /api/quartz/**
|
|
@ -0,0 +1,36 @@
|
|||
server:
|
||||
port: 8091
|
||||
|
||||
spring:
|
||||
application:
|
||||
name: srt-cloud-datax
|
||||
profiles:
|
||||
active: dev
|
||||
cloud:
|
||||
nacos:
|
||||
discovery:
|
||||
server-addr: 101.34.77.101:8848
|
||||
# 命名空间,默认:public
|
||||
namespace: c5d32e76-b83c-4254-8176-1c6a2cee8e3b
|
||||
service: ${spring.application.name}
|
||||
group: srt2.1
|
||||
config:
|
||||
server-addr: ${spring.cloud.nacos.discovery.server-addr}
|
||||
namespace: ${spring.cloud.nacos.discovery.namespace}
|
||||
file-extension: yaml
|
||||
# 指定配置
|
||||
extension-configs:
|
||||
- data-id: datasource.yaml
|
||||
refresh: true
|
||||
# feign 配置
|
||||
feign:
|
||||
client:
|
||||
config:
|
||||
default:
|
||||
connectTimeout: 1200000
|
||||
readTimeout: 1200000
|
||||
loggerLevel: basic
|
||||
okhttp:
|
||||
enabled: true
|
||||
datax:
|
||||
home:
|
|
@ -0,0 +1,48 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--status用于设置log4j2框架内部的日志信息输出,设置成OFF将禁止log4j2内部日志输出,毕竟这个日志对我们没有什么作用,如果设置成trace,你会看到log4j2内部各种详细输出;monitorInterval是监控间隔,例如下面的设置是指:log4j2每隔600秒自动监控该配置文件是否有变化,如果有变化,则根据文件内容新的配置生成日志-->
|
||||
<configuration status="OFF" monitorInterval="600">
|
||||
<Properties>
|
||||
<property name="LOG_PATH">./logs/</property>
|
||||
<property name="LOG_FILE">srt-cloud-quartz</property>
|
||||
</Properties>
|
||||
<!--定义添加器-->
|
||||
<appenders>
|
||||
<!--Console是输出控制台的标签,target可以控制往控制台输出日志的颜色,例如SYSTEM_OUT就是蓝色的,SYSTEM_ERR就是红色的-->
|
||||
<Console name="Console" target="SYSTEM_OUT">
|
||||
<!--控制台只输出level及以上级别的信息,onMatch为true代表符合level标准的才输出,onMismatch为true代表不符合level标准的就不输出-->
|
||||
<ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="ACCEPT"/>
|
||||
<!--这个是输出日志的格式,如果对里面的参数不理解,可以去看我的这篇文章,网址是:“https://blog.csdn.net/qq_42449963/article/details/104617356”-->
|
||||
<!--<PatternLayout pattern=" %d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/>-->
|
||||
<PatternLayout
|
||||
pattern=" %d{yyyy-MM-dd HH:mm:ss.SSS} %highlight{%6p} %style{%5pid}{bright,magenta} --- [%15.15t] %style{%c{20}}{bright,cyan}: %m%n"/>
|
||||
</Console>
|
||||
|
||||
<!--这种存储文件的方式更加合理,可以设置多长时间把文件归档一次,也可以设置多大文件归档一次,如果都把所有的日志存在一个文件里面,文件会受不了的,解释一下参数信息:fileName后面如果后面不跟/,例如dev/logs/app.log,那就会把日志文件放在project工程下面,不是所属的项目下面如果后面跟/,例如/dev/logs/app.log,那就会把日志文件直接放在项目所在盘符的根目录下,例如项目在E盘存放,那就会把日志文件直接放在E盘的根目录下,如果后面直接加盘符,那就会存在特定的位置,例如F:/dev/logs/app.log,那就会直接放在F盘中特定的位置,上面都是经过测验的,fileName后面的app.log文件相当于是一个缓存文件,我们会把日志信息先放在app.log中,当达到我们设置的要求之后会把app.log中的日志信息转移到filePattern指定的日志文件中,转移的内容就会从app.log日志文件中清除,没有转移的内容还存放在app.log中,等到下一次符合要求的时候在进行一次转移-->
|
||||
<!--$${date:yyyy-MM}用在文件上面,输出的是目录的名字,例如2020-03,%d{MM-dd-yyyy}输入的就是月日年,例如03-02-2020,%i按照轮询输出,毕竟一天可能有符合要求的多个日志文件生成,所以需要在后面加一个类似于后缀的东西,当天的第一个日志文件可能是-1.log.gz,第二个文件就是-2.log.gz-->
|
||||
<RollingFile name="RollingFile" fileName="${LOG_PATH}/${LOG_FILE}.log"
|
||||
filePattern="${LOG_PATH}/$${date:yyyy-MM}/${LOG_FILE}-%d{yyyy-MM-dd}-%i.log">
|
||||
<!--%thread:线程名;%-5level:级别从左显示5个字符宽度;%msg:在代码中需要输出的日志消息;%class{36}:估计显示的是完整类名-->
|
||||
<PatternLayout pattern=" %d{yyyy-MM-dd HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n"/>
|
||||
<!--<SizeBasedTriggeringPolicy size="300MB"/>-->
|
||||
<Policies>
|
||||
<!--TimeBasedTriggeringPolicy基于时间的触发策略,integer属性和上面<RollingFile>标签中的filePattern的值有关,例如:filePattern=”xxx%d{yyyy-MM-dd}xx” interval=”1” 表示将1天一个日志文件;filePattern=”xxx%d{yyyy-MM-dd-HH}xxx” interval=”1”表示一个小时一个日志文件,也就是说interval的单位取决于filePattern中的最小时间单位;modulate是(boolean)以0点钟为边界进行偏移计算,应该就是假设你中午启动项目,晚上0点也是一天了,而不是经过24小时才算一天-->
|
||||
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
|
||||
<!--当app.log文件大小到达100MB的时候,就归档一次日志文件,也就是把app.log中的那前面100MB文件取出来,放到上面<RollingFile >中的filePattern后面的路径中-->
|
||||
<SizeBasedTriggeringPolicy size="100MB"/>
|
||||
</Policies>
|
||||
</RollingFile>
|
||||
</appenders>
|
||||
|
||||
<loggers>
|
||||
<logger name="net.srt.quartz.dao" level="DEBUG" additivity="false">
|
||||
<appender-ref ref="Console"/>
|
||||
</logger>
|
||||
<!--level="info"代表只能打印出info及其以上的信息;Console是上面Console标签的名字,往这一写,就可以往控制台上输出内容了,RollingFile是上面RollingFile标签的名字,往这一写,就会往设定的文件中输出内容了;当程序运行的时候就会被创建日志输出文件,不过里面没有任何日志内容,是否往里面输入日志,是通过下面的appender-ref标签控制的-->
|
||||
<root level="info">
|
||||
<appender-ref ref="Console"/>
|
||||
<!--一般不使用这个,只是让你知道有这个输出日志文件的方式而已-->
|
||||
<!--<appender-ref ref="File"/>-->
|
||||
<appender-ref ref="RollingFile"/>
|
||||
</root>
|
||||
</loggers>
|
||||
</configuration>
|
|
@ -11,9 +11,9 @@ spring:
|
|||
discovery:
|
||||
server-addr: 101.34.77.101:8848
|
||||
# 命名空间,默认:public
|
||||
namespace: f7d93216-fc61-4dfa-ae76-598469981418
|
||||
namespace: c5d32e76-b83c-4254-8176-1c6a2cee8e3b
|
||||
service: ${spring.application.name}
|
||||
group: srt2.0
|
||||
group: srt2.1
|
||||
config:
|
||||
server-addr: ${spring.cloud.nacos.discovery.server-addr}
|
||||
namespace: ${spring.cloud.nacos.discovery.namespace}
|
||||
|
|
|
@ -61,6 +61,11 @@
|
|||
<groupId>org.quartz-scheduler</groupId>
|
||||
<artifactId>quartz</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.srt</groupId>
|
||||
<artifactId>srt-cloud-datax</artifactId>
|
||||
<version>2.0.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
|
|
@ -4,6 +4,7 @@ import org.springframework.boot.SpringApplication;
|
|||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
import org.springframework.cloud.openfeign.EnableFeignClients;
|
||||
import org.springframework.context.annotation.ComponentScan;
|
||||
|
||||
/**
|
||||
* 定时任务模块
|
||||
|
@ -13,6 +14,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
|
|||
@EnableFeignClients
|
||||
@EnableDiscoveryClient
|
||||
@SpringBootApplication
|
||||
@ComponentScan(basePackages = "net.srt.framework.common.cache")
|
||||
public class QuartzApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
|
|
@ -8,6 +8,7 @@ import net.srt.api.module.data.integrate.dto.DataAccessDto;
|
|||
import net.srt.api.module.data.integrate.dto.DataAccessTaskDto;
|
||||
import net.srt.api.module.quartz.QuartzDataAccessApi;
|
||||
import net.srt.api.module.quartz.constant.QuartzJobType;
|
||||
import net.srt.datax.feign.DataAccessFeign;
|
||||
import net.srt.framework.common.utils.Result;
|
||||
import net.srt.quartz.entity.ScheduleJobEntity;
|
||||
import net.srt.quartz.enums.JobGroupEnum;
|
||||
|
@ -31,6 +32,7 @@ public class QuartzDataAccessApiImpl implements QuartzDataAccessApi {
|
|||
private final Scheduler scheduler;
|
||||
private final DataAccessApi dataAccessApi;
|
||||
private final ScheduleJobService jobService;
|
||||
private final DataAccessFeign feign;
|
||||
|
||||
@Override
|
||||
public Result<String> releaseAccess(Long id) {
|
||||
|
@ -63,7 +65,10 @@ public class QuartzDataAccessApiImpl implements QuartzDataAccessApi {
|
|||
|
||||
private ScheduleJobEntity buildJobEntity(Long id) {
|
||||
DataAccessDto dataAccessDto = dataAccessApi.getById(id).getData();
|
||||
return ScheduleJobEntity.builder().typeId(id).projectId(dataAccessDto.getProjectId()).jobType(QuartzJobType.DATA_ACCESS.getValue()).jobName(String.format("[%s]%s", id.toString(), dataAccessDto.getTaskName())).concurrent(ScheduleConcurrentEnum.NO.getValue())
|
||||
if (dataAccessDto.getIsDatax().equals("datax")){
|
||||
feign.execute(dataAccessDto);
|
||||
}
|
||||
return ScheduleJobEntity.builder().isDatax(dataAccessDto.getIsDatax()).typeId(id).projectId(dataAccessDto.getProjectId()).jobType(QuartzJobType.DATA_ACCESS.getValue()).jobName(String.format("[%s]%s", id.toString(), dataAccessDto.getTaskName())).concurrent(ScheduleConcurrentEnum.NO.getValue())
|
||||
.beanName("dataAccessTask").method("run").jobGroup(JobGroupEnum.DATA_ACCESS.getValue()).saveLog(true).cronExpression(dataAccessDto.getCron()).status(ScheduleStatusEnum.NORMAL.getValue())
|
||||
.params(String.valueOf(id)).once(TaskType.ONE_TIME_FULL_SYNC.getCode().equals(dataAccessDto.getTaskType())).build();
|
||||
|
||||
|
|
|
@ -125,4 +125,6 @@ public class ScheduleJobEntity implements Serializable {
|
|||
|
||||
private Boolean once;
|
||||
|
||||
private String isDatax;
|
||||
|
||||
}
|
||||
|
|
|
@ -1,11 +1,13 @@
|
|||
package net.srt.quartz.utils;
|
||||
|
||||
import net.srt.datax.feign.DataAccessFeign;
|
||||
import net.srt.framework.common.exception.ServerException;
|
||||
import net.srt.quartz.entity.ScheduleJobEntity;
|
||||
import net.srt.quartz.enums.ScheduleConcurrentEnum;
|
||||
import net.srt.quartz.enums.ScheduleStatusEnum;
|
||||
import org.quartz.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
|
@ -20,6 +22,9 @@ public class ScheduleUtils {
|
|||
*/
|
||||
public static final String JOB_PARAM_KEY = "JOB_PARAM_KEY";
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 获取quartz任务类
|
||||
*/
|
||||
|
|
|
@ -11,9 +11,9 @@ spring:
|
|||
discovery:
|
||||
server-addr: 101.34.77.101:8848
|
||||
# 命名空间,默认:public
|
||||
namespace: f7d93216-fc61-4dfa-ae76-598469981418
|
||||
namespace: c5d32e76-b83c-4254-8176-1c6a2cee8e3b
|
||||
service: ${spring.application.name}
|
||||
group: srt2.0
|
||||
group: srt2.1
|
||||
config:
|
||||
server-addr: ${spring.cloud.nacos.discovery.server-addr}
|
||||
namespace: ${spring.cloud.nacos.discovery.namespace}
|
||||
|
|
|
@ -52,4 +52,5 @@ public class SysAttachmentController {
|
|||
|
||||
return Result.ok();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -32,7 +32,6 @@ public class SysAuthController {
|
|||
@Operation(summary = "验证码")
|
||||
public Result<SysCaptchaVO> captcha() {
|
||||
SysCaptchaVO captchaVO = sysCaptchaService.generate();
|
||||
|
||||
return Result.ok(captchaVO);
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
package net.srt.system.service.impl;
|
||||
|
||||
import lombok.Data;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.cloud.context.config.annotation.RefreshScope;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@Configuration
|
||||
@ConfigurationProperties(prefix = "cbx")
|
||||
@Data
|
||||
@RefreshScope
|
||||
public class IsCaptcha {
|
||||
private Boolean isCaptcha;
|
||||
}
|
|
@ -19,6 +19,7 @@ import net.srt.system.vo.SysAccountLoginVO;
|
|||
import net.srt.system.vo.SysMobileLoginVO;
|
||||
import net.srt.system.vo.SysTokenVO;
|
||||
import net.srt.system.vo.SysUserVO;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.security.authentication.AuthenticationManager;
|
||||
import org.springframework.security.authentication.BadCredentialsException;
|
||||
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
||||
|
@ -40,17 +41,21 @@ public class SysAuthServiceImpl implements SysAuthService {
|
|||
private final SysLogLoginService sysLogLoginService;
|
||||
private final SysUserService sysUserService;
|
||||
private final SmsApi smsApi;
|
||||
private IsCaptcha isCaptcha;
|
||||
|
||||
|
||||
@Override
|
||||
public SysTokenVO loginByAccount(SysAccountLoginVO login) {
|
||||
// // 验证码效验
|
||||
// boolean flag = sysCaptchaService.validate(login.getKey(), login.getCaptcha());
|
||||
// if (!flag) {
|
||||
// // 保存登录日志
|
||||
// sysLogLoginService.save(login.getUsername(), Constant.FAIL, LoginOperationEnum.CAPTCHA_FAIL.getValue());
|
||||
//
|
||||
// throw new ServerException("验证码错误");
|
||||
// }
|
||||
// 验证码效验
|
||||
if (isCaptcha.getIsCaptcha()) {
|
||||
boolean flag = sysCaptchaService.validate(login.getKey(), login.getCaptcha());
|
||||
if (!flag) {
|
||||
// 保存登录日志
|
||||
sysLogLoginService.save(login.getUsername(), Constant.FAIL, LoginOperationEnum.CAPTCHA_FAIL.getValue());
|
||||
|
||||
throw new ServerException("验证码错误");
|
||||
}
|
||||
}
|
||||
|
||||
Authentication authentication;
|
||||
try {
|
||||
|
|
|
@ -9,6 +9,7 @@ import net.srt.framework.common.cache.RedisCache;
|
|||
import net.srt.framework.common.cache.RedisKeys;
|
||||
import net.srt.system.service.SysCaptchaService;
|
||||
import net.srt.system.vo.SysCaptchaVO;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
|
@ -19,29 +20,35 @@ import org.springframework.stereotype.Service;
|
|||
@Service
|
||||
@AllArgsConstructor
|
||||
public class SysCaptchaServiceImpl implements SysCaptchaService {
|
||||
|
||||
private final RedisCache redisCache;
|
||||
|
||||
private IsCaptcha isCaptcha;
|
||||
|
||||
@Override
|
||||
public SysCaptchaVO generate() {
|
||||
// 生成验证码key
|
||||
String key = UUID.randomUUID().toString();
|
||||
|
||||
// 生成验证码
|
||||
SpecCaptcha captcha = new SpecCaptcha(150, 40);
|
||||
captcha.setLen(5);
|
||||
captcha.setCharType(Captcha.TYPE_DEFAULT);
|
||||
String image = captcha.toBase64();
|
||||
|
||||
// 保存到缓存
|
||||
String redisKey = RedisKeys.getCaptchaKey(key);
|
||||
redisCache.set(redisKey, captcha.text(), 300);
|
||||
|
||||
// 封装返回数据
|
||||
SysCaptchaVO captchaVO = new SysCaptchaVO();
|
||||
captchaVO.setKey(key);
|
||||
captchaVO.setImage(image);
|
||||
|
||||
return captchaVO;
|
||||
if (isCaptcha.getIsCaptcha()) {
|
||||
// 生成验证码key
|
||||
String key = UUID.randomUUID().toString();
|
||||
|
||||
// 生成验证码
|
||||
SpecCaptcha captcha = new SpecCaptcha(150, 40);
|
||||
captcha.setLen(5);
|
||||
captcha.setCharType(Captcha.TYPE_DEFAULT);
|
||||
String image = captcha.toBase64();
|
||||
|
||||
// 保存到缓存
|
||||
String redisKey = RedisKeys.getCaptchaKey(key);
|
||||
redisCache.set(redisKey, captcha.text(), 300);
|
||||
|
||||
// 封装返回数据
|
||||
captchaVO.setKey(key);
|
||||
captchaVO.setImage(image);
|
||||
return captchaVO;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -26,4 +26,9 @@ public class SysAccountLoginVO implements Serializable {
|
|||
|
||||
@Schema(description = "验证码")
|
||||
private String captcha;
|
||||
|
||||
@Schema(description = "是否判断验证码")
|
||||
private boolean isCaptcha;
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@ package net.srt.system.vo;
|
|||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
|
@ -20,4 +21,7 @@ public class SysCaptchaVO implements Serializable {
|
|||
|
||||
@Schema(description = "image base64")
|
||||
private String image;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -14,9 +14,9 @@ spring:
|
|||
discovery:
|
||||
server-addr: 101.34.77.101:8848
|
||||
# 命名空间,默认:public
|
||||
namespace: f7d93216-fc61-4dfa-ae76-598469981418
|
||||
namespace: c5d32e76-b83c-4254-8176-1c6a2cee8e3b
|
||||
service: ${spring.application.name}
|
||||
group: srt2.0
|
||||
group: srt2.1
|
||||
config:
|
||||
server-addr: ${spring.cloud.nacos.discovery.server-addr}
|
||||
namespace: ${spring.cloud.nacos.discovery.namespace}
|
||||
|
@ -41,3 +41,6 @@ storage:
|
|||
local:
|
||||
# 本地上传路径
|
||||
path: D://upload
|
||||
|
||||
cbx:
|
||||
isCaptcha: false
|
||||
|
|
|
@ -0,0 +1,219 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>net.srt</groupId>
|
||||
<artifactId>srt-cloud</artifactId>
|
||||
<version>2.0.0</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>srt-data-development</artifactId>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>8</maven.compiler.source>
|
||||
<maven.compiler.target>8</maven.compiler.target>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>net.srt</groupId>
|
||||
<artifactId>srt-cloud-api</artifactId>
|
||||
<version>2.0.0</version>
|
||||
</dependency>
|
||||
<!--使用log42j-->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-log4j2</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>net.srt</groupId>
|
||||
<artifactId>srt-cloud-mybatis</artifactId>
|
||||
<version>2.0.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-bootstrap</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<artifactId>spring-boot-starter-logging</artifactId>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.alibaba.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.alibaba.cloud</groupId>
|
||||
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.whvcse</groupId>
|
||||
<artifactId>easy-captcha</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.xiaoymin</groupId>
|
||||
<artifactId>knife4j-springdoc-ui</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.aliyun.oss</groupId>
|
||||
<artifactId>aliyun-sdk-oss</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.qcloud</groupId>
|
||||
<artifactId>cos_api</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.qiniu</groupId>
|
||||
<artifactId>qiniu-java-sdk</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.huaweicloud</groupId>
|
||||
<artifactId>esdk-obs-java-bundle</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.minio</groupId>
|
||||
<artifactId>minio</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<!--<finalName>${project.artifactId}</finalName>-->
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>appassembler-maven-plugin</artifactId>
|
||||
<version>2.1.0</version>
|
||||
<!-- 如果不配置 generate-daemons,则打包命令为 mvn clean package appassembler:assemble -->
|
||||
<!-- 如果配置了 generate-daemons,打包命令可以是 mvn clean package 也可以是 mvn clean package appassembler:assemble -->
|
||||
<executions>
|
||||
<execution>
|
||||
<id>generate-jsw-scripts</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>generate-daemons</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
|
||||
<configuration>
|
||||
<!-- flat与lib共同决定将项目用的的所有jar包复制到lib目录下 -->
|
||||
<repositoryLayout>flat</repositoryLayout>
|
||||
<!--从哪里copy配置文件-->
|
||||
<configurationSourceDirectory>src/main/resources</configurationSourceDirectory>
|
||||
<includeConfigurationDirectoryInClasspath>true</includeConfigurationDirectoryInClasspath>
|
||||
<!--是否copy配置文件-->
|
||||
<copyConfigurationDirectory>true</copyConfigurationDirectory>
|
||||
<!--配置文件存放在conf目录路径-->
|
||||
<configurationDirectory>conf</configurationDirectory>
|
||||
<!-- 打包的jar,以及maven依赖的jar放到这个目录里面 -->
|
||||
<repositoryName>lib</repositoryName>
|
||||
<!-- 可执行脚本的目录 -->
|
||||
<binFolder>bin</binFolder>
|
||||
<encoding>UTF-8</encoding>
|
||||
<logsDirectory>logs</logsDirectory>
|
||||
|
||||
<daemons>
|
||||
<daemon>
|
||||
<id>${project.artifactId}</id>
|
||||
<mainClass>net.srt.SystemApplication</mainClass>
|
||||
<platforms>
|
||||
<platform>jsw</platform>
|
||||
</platforms>
|
||||
<generatorConfigurations>
|
||||
<generatorConfiguration>
|
||||
<generator>jsw</generator>
|
||||
<includes>
|
||||
<include>linux-x86-32</include>
|
||||
<include>linux-x86-64</include>
|
||||
<include>windows-x86-32</include>
|
||||
<include>windows-x86-64</include>
|
||||
</includes>
|
||||
<configuration>
|
||||
<property>
|
||||
<name>configuration.directory.in.classpath.first</name>
|
||||
<value>conf</value>
|
||||
</property>
|
||||
<property>
|
||||
<name>wrapper.ping.timeout</name>
|
||||
<value>120</value>
|
||||
</property>
|
||||
<property>
|
||||
<name>set.default.REPO_DIR</name>
|
||||
<value>lib</value>
|
||||
</property>
|
||||
<property>
|
||||
<name>wrapper.logfile</name>
|
||||
<value>logs/wrapper.log</value>
|
||||
</property>
|
||||
</configuration>
|
||||
</generatorConfiguration>
|
||||
</generatorConfigurations>
|
||||
<jvmSettings>
|
||||
<!-- jvm参数 -->
|
||||
<!--<systemProperties>
|
||||
<systemProperty>com.sun.management.jmxremote</systemProperty>
|
||||
<systemProperty>com.sun.management.jmxremote.port=1984</systemProperty>
|
||||
<systemProperty>com.sun.management.jmxremote.authenticate=false</systemProperty>
|
||||
<systemProperty>com.sun.management.jmxremote.ssl=false</systemProperty>
|
||||
</systemProperties>-->
|
||||
<extraArguments>
|
||||
<extraArgument>-server</extraArgument>
|
||||
<extraArgument>-Dfile.encoding=utf-8</extraArgument>
|
||||
<extraArgument>-Xms128m</extraArgument>
|
||||
<extraArgument>-Xmx1024m</extraArgument>
|
||||
<extraArgument>-XX:+PrintGCDetails</extraArgument><!--输出GC的详细日志-->
|
||||
<extraArgument>-XX:+PrintGCDateStamps</extraArgument><!--输出GC的时间戳-->
|
||||
<extraArgument>-Xloggc:logs/gc.log</extraArgument><!--日志文件的输出路径-->
|
||||
</extraArguments>
|
||||
</jvmSettings>
|
||||
</daemon>
|
||||
</daemons>
|
||||
<programs>
|
||||
<program>
|
||||
<mainClass>net.srt.SystemApplication</mainClass>
|
||||
<id>${project.artifactId}</id>
|
||||
</program>
|
||||
</programs>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<!--打包 日常调试打包可以把该组件注释掉,不然install的速度比较慢-->
|
||||
<plugin>
|
||||
<artifactId>maven-assembly-plugin</artifactId>
|
||||
<configuration>
|
||||
<descriptors>
|
||||
<descriptor>${project.parent.basedir}/assembly/assembly-win.xml</descriptor>
|
||||
<descriptor>${project.parent.basedir}/assembly/assembly-linux.xml</descriptor>
|
||||
</descriptors>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>make-assembly</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>single</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<!--<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
</plugin>-->
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<configuration>
|
||||
<skipTests>true</skipTests>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
|
@ -0,0 +1,11 @@
|
|||
package net.srt;
|
||||
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||
import org.springframework.cloud.openfeign.EnableFeignClients;
|
||||
|
||||
@EnableFeignClients
|
||||
@EnableDiscoveryClient
|
||||
@SpringBootApplication
|
||||
public class DevelopmentApp {
|
||||
}
|
Loading…
Reference in New Issue