diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index c4f5779..6bbb54e 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -4,9 +4,16 @@
-
-
+
+
+
+
+
+
+
+
+
@@ -56,46 +63,46 @@
- {
- "keyToString": {
- "ApiPost:METDOD_SEND_RECORD:etl-cleaning": "{\"/test-database-connection\":[{\"url\":\"http://localhost:8080/test-database-connection\",\"header\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"query\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"rest\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"requestBody\":\"{\\n \\\"driverClassName\\\": \\\"com.mysql.cj.jdbc.Driver\\\",\\n \\\"url\\\": \\\"jdbc:mysql://47.101.130.221:3306/product\\\",\\n \\\"username\\\": \\\"root\\\",\\n \\\"password\\\": \\\"ays@123\\\"\\n}\",\"responseBody\":\"ok\",\"selectedItem\":\"POST\",\"time\":{\"date\":{\"year\":2024.0,\"month\":6.0,\"day\":21.0},\"time\":{\"hour\":16.0,\"minute\":19.0,\"second\":30.0,\"nano\":8.776759E8}}},{\"url\":\"http://localhost:8080/test-database-connection\",\"header\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"query\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"rest\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"requestBody\":\"{\\n \\\"driverClassName\\\": \\\"com.mysql.cj.jdbc.Driver\\\",\\n \\\"url\\\": \\\"jdbc:mysql://47.101.130.221:3306/product\\\",\\n \\\"username\\\": \\\"rot\\\",\\n \\\"password\\\": \\\"ays@123\\\"\\n}\",\"responseBody\":\"ok\",\"selectedItem\":\"POST\",\"time\":{\"date\":{\"year\":2024.0,\"month\":6.0,\"day\":21.0},\"time\":{\"hour\":16.0,\"minute\":19.0,\"second\":34.0,\"nano\":6.501146E8}}},{\"url\":\"http://localhost:8080/test-database-connection\",\"header\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"query\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"rest\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"requestBody\":\"{\\n \\\"driverClassName\\\": \\\"com.mysql.cj.jdbc.Driver\\\",\\n \\\"url\\\": \\\"jdbc:mysql://47.101.130.221:3306/product\\\",\\n \\\"username\\\": \\\"ro0t\\\",\\n \\\"password\\\": \\\"ays@123\\\"\\n}\",\"responseBody\":\"ok\",\"selectedItem\":\"POST\",\"time\":{\"date\":{\"year\":2024.0,\"month\":6.0,\"day\":21.0},\"time\":{\"hour\":16.0,\"minute\":19.0,\"second\":47.0,\"nano\":2.462764E8}}},{\"url\":\"http://localhost:8080/test-database-connection\",\"header\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"query\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"rest\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"requestBody\":\"{\\n \\\"driverClassName\\\": \\\"com.mysql.cj.jdbc.Driver\\\",\\n \\\"url\\\": \\\"jdbc:mysql://47.101.130.221:3306/product\\\",\\n \\\"username\\\": \\\"root\\\",\\n \\\"password\\\": \\\"ays@123\\\"\\n}\",\"responseBody\":\"ok\",\"selectedItem\":\"POST\",\"time\":{\"date\":{\"year\":2024.0,\"month\":6.0,\"day\":21.0},\"time\":{\"hour\":16.0,\"minute\":19.0,\"second\":50.0,\"nano\":7.744186E8}}},{\"url\":\"http://localhost:8080/test-database-connection\",\"header\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"query\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"rest\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"requestBody\":\"{\\n \\\"driverClassName\\\": \\\"com.mysql.cj.jdbc.Driver\\\",\\n \\\"url\\\": \\\"jdbc:mysql://47.101.130.221:3306/product\\\",\\n \\\"username\\\": \\\"root\\\",\\n \\\"password\\\": \\\"ays@123\\\"\\n}\",\"responseBody\":\"ok\",\"selectedItem\":\"POST\",\"time\":{\"date\":{\"year\":2024.0,\"month\":6.0,\"day\":21.0},\"time\":{\"hour\":16.0,\"minute\":20.0,\"second\":54.0,\"nano\":9.914494E8}}},{\"url\":\"http://localhost:8080/test-database-connection\",\"header\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"query\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"rest\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"requestBody\":\"{\\n \\\"driverClassName\\\": \\\"com.mysql.cj.jdbc.Driver\\\",\\n \\\"url\\\": \\\"jdbc:mysql://47.101.130.221:3306/product\\\",\\n \\\"username\\\": \\\"root\\\",\\n \\\"password\\\": \\\"ays@123\\\"\\n}\",\"responseBody\":\"ok\",\"selectedItem\":\"POST\",\"time\":{\"date\":{\"year\":2024.0,\"month\":6.0,\"day\":21.0},\"time\":{\"hour\":16.0,\"minute\":20.0,\"second\":55.0,\"nano\":7.348136E8}}},{\"url\":\"http://localhost:8080/test-database-connection\",\"header\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"query\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"rest\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"requestBody\":\"{\\n \\\"driverClassName\\\": \\\"com.mysql.cj.jdbc.Driver\\\",\\n \\\"url\\\": \\\"jdbc:mysql://47.101.130.221:3306/product\\\",\\n \\\"username\\\": \\\"root\\\",\\n \\\"password\\\": \\\"ays@123\\\"\\n}\",\"responseBody\":\"ok\",\"selectedItem\":\"POST\",\"time\":{\"date\":{\"year\":2024.0,\"month\":6.0,\"day\":21.0},\"time\":{\"hour\":16.0,\"minute\":20.0,\"second\":56.0,\"nano\":3.706863E8}}},{\"url\":\"http://localhost:8080/test-database-connection\",\"header\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"query\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"rest\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"requestBody\":\"{\\n \\\"driverClassName\\\": \\\"com.mysql.cj.jdbc.Driver\\\",\\n \\\"url\\\": \\\"jdbc:mysql://47.101.130.221:3306/product\\\",\\n \\\"username\\\": \\\"root\\\",\\n \\\"password\\\": \\\"ays@123\\\"\\n}\",\"responseBody\":\"ok\",\"selectedItem\":\"POST\",\"time\":{\"date\":{\"year\":2024.0,\"month\":6.0,\"day\":21.0},\"time\":{\"hour\":16.0,\"minute\":26.0,\"second\":17.0,\"nano\":7.818898E8}}},{\"url\":\"http://localhost:8080/test-database-connection\",\"header\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"query\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"rest\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"requestBody\":\"{\\n \\\"driverClassName\\\": \\\"com.mysql.cj.jdbc.Driver\\\",\\n \\\"url\\\": \\\"jdbc:mysql://47.101.130.221:3306/product\\\",\\n \\\"username\\\": \\\"oot\\\",\\n \\\"password\\\": \\\"ays@123\\\"\\n}\",\"responseBody\":\"error\",\"selectedItem\":\"POST\",\"time\":{\"date\":{\"year\":2024.0,\"month\":6.0,\"day\":21.0},\"time\":{\"hour\":16.0,\"minute\":26.0,\"second\":22.0,\"nano\":7.223729E8}}},{\"url\":\"http://localhost:8080/test-database-connection\",\"header\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"query\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"rest\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"requestBody\":\"{\\n \\\"driverClassName\\\": \\\"com.mysql.cj.jdbc.Driver\\\",\\n \\\"url\\\": \\\"jdbc:mysql://47.101.130.221:3306/product\\\",\\n \\\"username\\\": \\\"root\\\",\\n \\\"password\\\": \\\"ays@123\\\"\\n}\",\"responseBody\":\"ok\",\"selectedItem\":\"POST\",\"time\":{\"date\":{\"year\":2024.0,\"month\":6.0,\"day\":21.0},\"time\":{\"hour\":16.0,\"minute\":26.0,\"second\":29.0,\"nano\":9.663834E8}}},{\"url\":\"http://localhost:8080/test-database-connection\",\"header\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"query\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"rest\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"requestBody\":\"{\\n \\\"driverClassName\\\": \\\"1\\\",\\n \\\"url\\\": \\\"1\\\",\\n \\\"username\\\": \\\"1\\\",\\n \\\"password\\\": \\\"1\\\"\\n}\",\"responseBody\":\"error\",\"selectedItem\":\"POST\",\"time\":{\"date\":{\"year\":2024.0,\"month\":6.0,\"day\":22.0},\"time\":{\"hour\":11.0,\"minute\":55.0,\"second\":45.0,\"nano\":8801900.0}}},{\"url\":\"http://localhost:8080/test-database-connection\",\"header\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"query\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"rest\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"requestBody\":\"{\\n \\\"driverClassName\\\": \\\"com.mysql.cj.jdbc.Driver\\\",\\n \\\"url\\\": \\\"jdbc:mysql://124.223.156.14:3306/high?useUnicode\\u003dtrue\\u0026characterEncoding\\u003dutf8\\u0026zeroDateTimeBehavior\\u003dconvertToNull\\u0026useSSL\\u003dtrue\\u0026serverTimezone\\u003dGMT%2B8\\\",\\n \\\"username\\\": \\\"1\\\",\\n \\\"password\\\": \\\"1\\\"\\n}\",\"responseBody\":\"error\",\"selectedItem\":\"POST\",\"time\":{\"date\":{\"year\":2024.0,\"month\":6.0,\"day\":22.0},\"time\":{\"hour\":11.0,\"minute\":56.0,\"second\":49.0,\"nano\":9.493733E8}}},{\"url\":\"http://localhost:8080/test-database-connection\",\"header\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"query\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"rest\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"requestBody\":\"{\\n \\\"driverClassName\\\": \\\"com.mysql.cj.jdbc.Driver\\\",\\n \\\"url\\\": \\\"jdbc:mysql://124.223.156.14:3306/high?useUnicode\\u003dtrue\\u0026characterEncoding\\u003dutf8\\u0026zeroDateTimeBehavior\\u003dconvertToNull\\u0026useSSL\\u003dtrue\\u0026serverTimezone\\u003dGMT%2B8\\\",\\n \\\"username\\\": \\\"1\\\",\\n \\\"password\\\": \\\"1\\\"\\n}\",\"responseBody\":\"error\",\"selectedItem\":\"POST\",\"time\":{\"date\":{\"year\":2024.0,\"month\":6.0,\"day\":22.0},\"time\":{\"hour\":11.0,\"minute\":56.0,\"second\":51.0,\"nano\":5.352936E8}}}],\"/place/showPlacePage\":[{\"url\":\"http://localhost:8080/place/showPlacePage\",\"header\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"query\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"rest\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"requestBody\":\"{\\n \\\"bank\\\": \\\"\\\",\\n \\\"typeId\\\": 1,\\n \\\"pageNum\\\": 1,\\n \\\"pageSize\\\": 1\\n}\",\"responseBody\":\"{\\n \\\"code\\\": 200,\\n \\\"msg\\\": \\\"操作成功\\\",\\n \\\"data\\\": {\\n \\\"0\\\": []\\n }\\n}\",\"selectedItem\":\"POST\",\"time\":{\"date\":{\"year\":2024.0,\"month\":6.0,\"day\":25.0},\"time\":{\"hour\":19.0,\"minute\":37.0,\"second\":33.0,\"nano\":1.991025E8}}},{\"url\":\"http://localhost:10001/place/showPlacePage\",\"header\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"query\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"rest\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"requestBody\":\"{\\n \\\"bank\\\": \\\"\\\",\\n \\\"typeId\\\": 1,\\n \\\"pageNum\\\": 1,\\n \\\"pageSize\\\": 1\\n}\",\"responseBody\":\"{\\n \\\"code\\\": 200,\\n \\\"msg\\\": \\\"操作成功\\\",\\n \\\"data\\\": {\\n \\\"0\\\": []\\n }\\n}\",\"selectedItem\":\"POST\",\"time\":{\"date\":{\"year\":2024.0,\"month\":6.0,\"day\":26.0},\"time\":{\"hour\":12.0,\"minute\":0.0,\"second\":44.0,\"nano\":5.342941E8}}},{\"url\":\"http://localhost:10001/place/showPlacePage\",\"header\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"query\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"rest\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"requestBody\":\"{\\n \\\"bank\\\": \\\"\\\",\\n \\\"typeId\\\": 1,\\n \\\"pageNum\\\": 1,\\n \\\"pageSize\\\": 1\\n}\",\"responseBody\":\"{\\n \\\"code\\\": 200,\\n \\\"msg\\\": \\\"操作成功\\\",\\n \\\"data\\\": {\\n \\\"total\\\": 0,\\n \\\"data\\\": []\\n }\\n}\",\"selectedItem\":\"POST\",\"time\":{\"date\":{\"year\":2024.0,\"month\":6.0,\"day\":26.0},\"time\":{\"hour\":12.0,\"minute\":4.0,\"second\":16.0,\"nano\":2.401588E8}}},{\"url\":\"http://localhost:10001/place/showPlacePage\",\"header\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"query\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"rest\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"requestBody\":\"{\\n \\\"bank\\\": \\\"\\\",\\n \\\"typeId\\\": 1,\\n \\\"pageNum\\\": 1,\\n \\\"pageSize\\\": 1\\n}\",\"responseBody\":\"There was an error accessing to URL: http://localhost:10001/place/showPlacePage\\n\\n\\u003chtml\\u003e\\u003cbody\\u003e\\u003ch1\\u003eWhitelabel Error Page\\u003c/h1\\u003e\\u003cp\\u003eThis application has no explicit mapping for /error, so you are seeing this as a fallback.\\u003c/p\\u003e\\u003cdiv id\\u003d\\u0027created\\u0027\\u003eWed Jun 26 14:41:32 CST 2024\\u003c/div\\u003e\\u003cdiv\\u003eThere was an unexpected error (type\\u003dInternal Server Error, status\\u003d500).\\u003c/div\\u003e\\u003c/body\\u003e\\u003c/html\\u003e\",\"selectedItem\":\"POST\",\"time\":{\"date\":{\"year\":2024.0,\"month\":6.0,\"day\":26.0},\"time\":{\"hour\":14.0,\"minute\":41.0,\"second\":32.0,\"nano\":3.208535E8}}},{\"url\":\"http://localhost:10001/place/showPlacePage\",\"header\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"query\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"rest\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"requestBody\":\"{\\n \\\"bank\\\": \\\"\\\",\\n \\\"typeId\\\": 1,\\n \\\"pageNum\\\": 1,\\n \\\"pageSize\\\": 1\\n}\",\"responseBody\":\"There was an error accessing to URL: http://localhost:10001/place/showPlacePage\\n\\n\\u003chtml\\u003e\\u003cbody\\u003e\\u003ch1\\u003eWhitelabel Error Page\\u003c/h1\\u003e\\u003cp\\u003eThis application has no explicit mapping for /error, so you are seeing this as a fallback.\\u003c/p\\u003e\\u003cdiv id\\u003d\\u0027created\\u0027\\u003eWed Jun 26 14:42:27 CST 2024\\u003c/div\\u003e\\u003cdiv\\u003eThere was an unexpected error (type\\u003dInternal Server Error, status\\u003d500).\\u003c/div\\u003e\\u003c/body\\u003e\\u003c/html\\u003e\",\"selectedItem\":\"POST\",\"time\":{\"date\":{\"year\":2024.0,\"month\":6.0,\"day\":26.0},\"time\":{\"hour\":14.0,\"minute\":42.0,\"second\":27.0,\"nano\":7.653759E8}}},{\"url\":\"http://localhost:10001/place/showPlacePage\",\"header\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"query\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"rest\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"requestBody\":\"{\\n \\\"bank\\\": \\\"\\\",\\n \\\"typeId\\\": 1,\\n \\\"pageNum\\\": 1,\\n \\\"pageSize\\\": 1\\n}\",\"responseBody\":\"There was an error accessing to URL: http://localhost:10001/place/showPlacePage\\n\\n\\u003chtml\\u003e\\u003cbody\\u003e\\u003ch1\\u003eWhitelabel Error Page\\u003c/h1\\u003e\\u003cp\\u003eThis application has no explicit mapping for /error, so you are seeing this as a fallback.\\u003c/p\\u003e\\u003cdiv id\\u003d\\u0027created\\u0027\\u003eWed Jun 26 15:03:30 CST 2024\\u003c/div\\u003e\\u003cdiv\\u003eThere was an unexpected error (type\\u003dInternal Server Error, status\\u003d500).\\u003c/div\\u003e\\u003c/body\\u003e\\u003c/html\\u003e\",\"selectedItem\":\"POST\",\"time\":{\"date\":{\"year\":2024.0,\"month\":6.0,\"day\":26.0},\"time\":{\"hour\":15.0,\"minute\":3.0,\"second\":30.0,\"nano\":6.632752E8}}},{\"url\":\"http://localhost:10001/place/showPlacePage\",\"header\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"query\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"rest\":[{\"is_checked\":1.0,\"type\":\"Text\",\"value\":\"\"}],\"requestBody\":\"{\\n \\\"bank\\\": \\\"\\\",\\n \\\"typeId\\\": 1,\\n \\\"pageNum\\\": 1,\\n \\\"pageSize\\\": 1\\n}\",\"responseBody\":\"There was an error accessing to URL: http://localhost:10001/place/showPlacePage\\n\\n\\u003chtml\\u003e\\u003cbody\\u003e\\u003ch1\\u003eWhitelabel Error Page\\u003c/h1\\u003e\\u003cp\\u003eThis application has no explicit mapping for /error, so you are seeing this as a fallback.\\u003c/p\\u003e\\u003cdiv id\\u003d\\u0027created\\u0027\\u003eWed Jun 26 15:03:59 CST 2024\\u003c/div\\u003e\\u003cdiv\\u003eThere was an unexpected error (type\\u003dInternal Server Error, status\\u003d500).\\u003c/div\\u003e\\u003c/body\\u003e\\u003c/html\\u003e\",\"selectedItem\":\"POST\",\"time\":{\"date\":{\"year\":2024.0,\"month\":6.0,\"day\":26.0},\"time\":{\"hour\":15.0,\"minute\":3.0,\"second\":59.0,\"nano\":9.179922E8}}},{\"url\":\"http://localhost:10001/place/showPlacePage\",\"header\":[{\"is_checked\":1,\"type\":\"Text\",\"value\":\"\"}],\"query\":[{\"is_checked\":1,\"type\":\"Text\",\"value\":\"\"}],\"rest\":[{\"is_checked\":1,\"type\":\"Text\",\"value\":\"\"}],\"requestBody\":\"{\\n \\\"bank\\\": \\\"\\\",\\n \\\"typeId\\\": 1,\\n \\\"pageNum\\\": 1,\\n \\\"pageSize\\\": 1\\n}\",\"responseBody\":\"{\\n \\\"code\\\": 200,\\n \\\"msg\\\": \\\"操作成功\\\",\\n \\\"data\\\": {}\\n}\",\"selectedItem\":\"POST\",\"time\":{\"date\":{\"year\":2024,\"month\":6,\"day\":26},\"time\":{\"hour\":15,\"minute\":4,\"second\":33,\"nano\":943633900}}}]}",
- "Maven.etl-cleaning [clean].executor": "Run",
- "Maven.etl-cleaning [install].executor": "Run",
- "Maven.etl-cloud [clean].executor": "Run",
- "Maven.etl-cloud [install].executor": "Run",
- "RequestMappingsPanelOrder0": "0",
- "RequestMappingsPanelOrder1": "1",
- "RequestMappingsPanelWidth0": "75",
- "RequestMappingsPanelWidth1": "75",
- "RunOnceActivity.OpenProjectViewOnStart": "true",
- "RunOnceActivity.ShowReadmeOnStart": "true",
- "SHARE_PROJECT_CONFIGURATION_FILES": "true",
- "Spring Boot.EtlAysSecurityApplication.executor": "Debug",
- "Spring Boot.EtlCleaningApplication.executor": "Debug",
- "WebServerToolWindowFactoryState": "false",
- "git-widget-placeholder": "ays",
- "jdk.selected.JAVA_MODULE": "1.8",
- "kotlin-language-version-configured": "true",
- "last_opened_file_path": "D:/workspace/etl-cloud",
- "node.js.detected.package.eslint": "true",
- "node.js.selected.package.eslint": "(autodetect)",
- "node.js.selected.package.tslint": "(autodetect)",
- "nodejs_package_manager_path": "npm",
- "project.structure.last.edited": "模块",
- "project.structure.proportion": "0.0",
- "project.structure.side.proportion": "0.0",
- "run.code.analysis.last.selected.profile": "pProject Default",
- "run.configurations.included.in.services": "true",
- "settings.editor.selected.configurable": "preferences.lookFeel",
- "spring.configuration.checksum": "a925cb78a857f19db6d9680ed9c97ee6",
- "vue.rearranger.settings.migration": "true"
+
+}]]>
@@ -192,7 +199,7 @@
-
+
@@ -282,7 +289,15 @@
1719450897583
-
+
+
+ 1719452138401
+
+
+
+ 1719452138401
+
+
@@ -360,7 +375,8 @@
-
+
+
diff --git a/etl-cleaning/src/main/java/com/etl/cleaning/config/DatabaseConfig.java b/etl-cleaning/src/main/java/com/etl/cleaning/config/DatabaseConfig.java
index 741e462..4047195 100644
--- a/etl-cleaning/src/main/java/com/etl/cleaning/config/DatabaseConfig.java
+++ b/etl-cleaning/src/main/java/com/etl/cleaning/config/DatabaseConfig.java
@@ -1,24 +1,18 @@
package com.etl.cleaning.config;
+import lombok.Builder;
import lombok.Data;
/**
- * 连接数据源所需参数
+ * mysql链接数据源测试
*/
@Data
+@Builder
public class DatabaseConfig {
/**
- * 数据源描述
- */
- private String driverClassName;
- /**
- * 连接地址
+ * jdbc路径
*/
private String url;
- /**
- * 数据库名称
- */
- private String databaseName;
/**
* 用户名
*/
@@ -31,16 +25,4 @@ public class DatabaseConfig {
* 端口
*/
private String port;
- /**
- * 额外配置
- */
- private String extraConfig;
- /**
- * 状态
- */
- private Boolean status;
- /**
- * 备注
- */
- private String remark;
}
diff --git a/etl-cleaning/src/main/java/com/etl/cleaning/controller/ItemController.java b/etl-cleaning/src/main/java/com/etl/cleaning/controller/ItemController.java
index 92a7b46..ddb0e73 100644
--- a/etl-cleaning/src/main/java/com/etl/cleaning/controller/ItemController.java
+++ b/etl-cleaning/src/main/java/com/etl/cleaning/controller/ItemController.java
@@ -1,5 +1,10 @@
package com.etl.cleaning.controller;
+import com.etl.cleaning.domian.request.InsertItemRequest;
+import com.etl.cleaning.service.ItemService;
+import com.etl.common.result.Result;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -9,5 +14,20 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/item")
public class ItemController {
+ private final ItemService itemService;
+ public ItemController(ItemService itemService) {
+ this.itemService = itemService;
+ }
+
+ /**
+ * 添加数据源详情
+ * @param insertItemRequest
+ * @return
+ */
+ @PostMapping("/insertItem")
+ public Result insertItem(@RequestBody InsertItemRequest insertItemRequest) {
+ itemService.insertItem(insertItemRequest);
+ return Result.success();
+ }
}
diff --git a/etl-cleaning/src/main/java/com/etl/cleaning/domian/pojo/DataItem.java b/etl-cleaning/src/main/java/com/etl/cleaning/domian/pojo/DataItem.java
index 02e94d2..46af701 100644
--- a/etl-cleaning/src/main/java/com/etl/cleaning/domian/pojo/DataItem.java
+++ b/etl-cleaning/src/main/java/com/etl/cleaning/domian/pojo/DataItem.java
@@ -57,5 +57,5 @@ public class DataItem {
/**
* 连接地址
*/
- private String place;
+ private String itemPlace;
}
diff --git a/etl-cleaning/src/main/java/com/etl/cleaning/enums/EnumMsg.java b/etl-cleaning/src/main/java/com/etl/cleaning/enums/EnumMsg.java
index fcec744..be3daf1 100644
--- a/etl-cleaning/src/main/java/com/etl/cleaning/enums/EnumMsg.java
+++ b/etl-cleaning/src/main/java/com/etl/cleaning/enums/EnumMsg.java
@@ -10,14 +10,14 @@ import lombok.Getter;
public enum EnumMsg {
// 定义一个带有错误码和描述性字符串的枚举常量
NO_TYPE(401, "暂无类型"),
- NO_TY_NAME(401, "暂无类型");
+ DRIVER_CLASS_NAME(402,"com.mysql.cj.jdbc.Driver");
+
+ private final int code;
+ private final String message;
- private final int errorCode;
- private final String errorMessage;
-
- private EnumMsg(int errorCode, String errorMessage) {
- this.errorCode = errorCode;
- this.errorMessage = errorMessage;
+ EnumMsg(int code, String message) {
+ this.code = code;
+ this.message = message;
}
}
diff --git a/etl-cleaning/src/main/java/com/etl/cleaning/server/ServerTest.java b/etl-cleaning/src/main/java/com/etl/cleaning/server/ServerTest.java
index d59fe08..054a83e 100644
--- a/etl-cleaning/src/main/java/com/etl/cleaning/server/ServerTest.java
+++ b/etl-cleaning/src/main/java/com/etl/cleaning/server/ServerTest.java
@@ -1,20 +1,20 @@
package com.etl.cleaning.server;
import com.etl.cleaning.config.DatabaseConfig;
+import com.etl.cleaning.enums.EnumMsg;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
-import org.springframework.web.bind.annotation.RequestBody;
/**
- * 测试连接
+ * mysql测试连接
*/
public class ServerTest {
- public static String testDatabaseConnection(@RequestBody DatabaseConfig databaseConfig) {
+ public static String testDatabaseConnection(DatabaseConfig databaseConfig) {
try {
//创建数据源
DriverManagerDataSource dataSource = new DriverManagerDataSource();
//设置数据源的驱动类名,URL,用户名,密码
- dataSource.setDriverClassName(databaseConfig.getDriverClassName());
+ dataSource.setDriverClassName(EnumMsg.DRIVER_CLASS_NAME.getMessage());
dataSource.setUrl(databaseConfig.getUrl());
dataSource.setUsername(databaseConfig.getUsername());
dataSource.setPassword(databaseConfig.getPassword());
diff --git a/etl-cleaning/src/main/java/com/etl/cleaning/service/ItemService.java b/etl-cleaning/src/main/java/com/etl/cleaning/service/ItemService.java
index d90b7a9..ad579cf 100644
--- a/etl-cleaning/src/main/java/com/etl/cleaning/service/ItemService.java
+++ b/etl-cleaning/src/main/java/com/etl/cleaning/service/ItemService.java
@@ -2,10 +2,11 @@ package com.etl.cleaning.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.etl.cleaning.domian.pojo.DataItem;
+import com.etl.cleaning.domian.request.InsertItemRequest;
/**
* 数据源详情
*/
public interface ItemService extends IService {
-
+ void insertItem(InsertItemRequest insertItemRequest);
}
diff --git a/etl-cleaning/src/main/java/com/etl/cleaning/serviceimpl/ItemServiceImpl.java b/etl-cleaning/src/main/java/com/etl/cleaning/serviceimpl/ItemServiceImpl.java
index 8df485a..f9bca72 100644
--- a/etl-cleaning/src/main/java/com/etl/cleaning/serviceimpl/ItemServiceImpl.java
+++ b/etl-cleaning/src/main/java/com/etl/cleaning/serviceimpl/ItemServiceImpl.java
@@ -1,8 +1,11 @@
package com.etl.cleaning.serviceimpl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.etl.cleaning.config.DatabaseConfig;
import com.etl.cleaning.domian.pojo.DataItem;
+import com.etl.cleaning.domian.request.InsertItemRequest;
import com.etl.cleaning.mapper.ItemMapper;
+import com.etl.cleaning.server.ServerTest;
import com.etl.cleaning.service.ItemService;
import org.springframework.stereotype.Service;
/**
@@ -10,4 +13,17 @@ import org.springframework.stereotype.Service;
*/
@Service
public class ItemServiceImpl extends ServiceImpl implements ItemService {
+ @Override
+ public void insertItem(InsertItemRequest insertItemRequest) {
+ //拼接路径
+ String url = insertItemRequest.getPlace() + "/" +insertItemRequest.getItemName();
+ DatabaseConfig databaseConfig = DatabaseConfig.builder()
+ .url(url)
+ .port(insertItemRequest.getItemPort())
+ .username(insertItemRequest.getItemUsername())
+ .password(insertItemRequest.getItemPass())
+ .build();
+ String result = ServerTest.testDatabaseConnection(databaseConfig);
+ System.out.println("测试结果"+result);
+ }
}
diff --git a/etl-cleaning/src/main/java/com/etl/cleaning/serviceimpl/PlaceServiceImpl.java b/etl-cleaning/src/main/java/com/etl/cleaning/serviceimpl/PlaceServiceImpl.java
index 1a24ee8..53d348f 100644
--- a/etl-cleaning/src/main/java/com/etl/cleaning/serviceimpl/PlaceServiceImpl.java
+++ b/etl-cleaning/src/main/java/com/etl/cleaning/serviceimpl/PlaceServiceImpl.java
@@ -53,7 +53,7 @@ public class PlaceServiceImpl extends ServiceImpl implem
Long typeId = item.getTypeId();
DateType dateType = typeMap.get(typeId);
if (dateType == null) {
- item.setTypeName(EnumMsg.NO_TYPE.getErrorMessage());
+ item.setTypeName(EnumMsg.NO_TYPE.getMessage());
}else{
item.setTypeName(dateType.getName());
}