Преглед на файлове

!220 merge
Merge pull request !220 from AE86/v_2.0

AE86 преди 1 година
родител
ревизия
84e1fb740d

+ 8 - 6
dbsyncer-sdk/src/main/java/org/dbsyncer/sdk/connector/AbstractDataBaseConfigValidator.java

@@ -38,16 +38,18 @@ public abstract class AbstractDataBaseConfigValidator implements ConfigValidator
     }
 
     protected void modifyDql(DatabaseConfig connectorConfig, Map<String, String> params) {
-        String sqlTableParams = params.get("sqlTableParams");
-        Assert.hasText(sqlTableParams, "sqlTableParams is empty.");
-        List<SqlTable> sqlTables = JsonUtil.jsonToArray(sqlTableParams, SqlTable.class);
-        Assert.isTrue(!CollectionUtils.isEmpty(sqlTables), "sqlTables is empty.");
-        sqlTables.forEach(sqlTable -> {
+        Object sqlTableParams = params.get("sqlTables");
+        Assert.notNull(sqlTableParams, "sqlTables is null.");
+        String sqlTables = (sqlTableParams instanceof String) ? (String) sqlTableParams : JsonUtil.objToJson(sqlTableParams);
+        Assert.hasText(sqlTables, "sqlTables is empty.");
+        List<SqlTable> sqlTableArray = JsonUtil.jsonToArray(sqlTables, SqlTable.class);
+        Assert.isTrue(!CollectionUtils.isEmpty(sqlTableArray), "sqlTableArray is empty.");
+        sqlTableArray.forEach(sqlTable -> {
             Assert.hasText(sqlTable.getSqlName(), "SqlName is empty.");
             Assert.hasText(sqlTable.getSql(), "Sql is empty.");
             Assert.hasText(sqlTable.getTable(), "Table is empty.");
         });
-        connectorConfig.setSqlTables(sqlTables);
+        connectorConfig.setSqlTables(sqlTableArray);
     }
 
     protected void modifySchema(DatabaseConfig connectorConfig, Map<String, String> params) {

+ 5 - 5
dbsyncer-web/src/main/resources/public/connector/addSQL.html

@@ -19,7 +19,7 @@
             <button id="editSqlTableBtn" type="button" class="btn btn-default hidden"> <span class="fa fa-pencil"></span>修改</button>
             <button id="addSqlTableBtn" type="button" class="btn btn-primary"> <span class="fa fa-plus"></span>添加(<span id="sqlTableCount">[[${connector?.config?.sqlTables?.size()} ?: 0]]</span>)</button>
         </div>
-        <input type="hidden" id="sqlTableParams" name="sqlTableParams"/>
+        <input type="hidden" id="sqlTables" name="sqlTables"/>
     </div>
 
     <div class="form-group">
@@ -40,7 +40,7 @@
 
 <script type="text/javascript" th:inline="javascript">
     $(function () {
-        let sqlTables = [[${connector?.config?.sqlTables}]];
+        let sqlTableList = [[${connector?.config?.sqlTables}]];
         // SQL配置模板
         let $template = {
             selector: initSelectIndex($("#sqlTableSelect"), 1),
@@ -48,8 +48,8 @@
             editSqlTableBtn: $("#editSqlTableBtn"),
             delSqlTableBtn: $("#delSqlTableBtn"),
             sqlTableCount: $("#sqlTableCount"),
-            sqlTableParams: $("#sqlTableParams"),
-            sqlTableArray: sqlTables == null ? [] : sqlTables,
+            sqlTables: $("#sqlTables"),
+            sqlTableArray: sqlTableList == null ? [] : sqlTableList,
             sqlNameInput: $("#sqlName"),
             tableInput: $("#table"),
             sqlInput: $("#sql"),
@@ -99,7 +99,7 @@
             },
             // 暂存配置
             stash: function () {
-                this.sqlTableParams.val(JSON.stringify(this.sqlTableArray));
+                this.sqlTables.val(JSON.stringify(this.sqlTableArray));
             },
             // 清空表单
             clear: function () {

+ 5 - 5
dbsyncer-web/src/main/resources/static/css/login/login.css

@@ -7,11 +7,11 @@ body{margin:0;height:100%;font-size:.28em;line-height:1;background:#23A6D5;
 /* Safari 5.1 - 6.0 */-webkit-animation-name:bg-gradient;-webkit-animation-duration:5s;-webkit-animation-iteration-count:infinite;-webkit-animation-direction:alternate;
 /* Opera 11.1 - 12.0 */-o-animation-name:bg-gradient;-o-animation-duration:5s;-o-animation-iteration-count:infinite;-o-animation-direction:alternate;
 }
-@keyframes bg-gradient{0%{background:#23A6D5;}100%{background: #a8eb12;}}
-@-ms-keyframes bg-gradient{0%{background:#23A6D5;}100%{background:#a8eb12;}}
-@-moz-keyframes bg-gradient{0%{background:#23A6D5;}100%{background:#a8eb12;}}
-@-webkit-keyframes bg-gradient{0%{background:#23A6D5;}100%{background:#a8eb12;}}
-@-o-keyframes bg-gradient{0%{background:#23A6D5;}100%{background:#a8eb12;}}
+@keyframes bg-gradient{0%{background: #23A6D5;} 100%{background: #9DCEDE;}}
+@-ms-keyframes bg-gradient{0%{background:#23A6D5;}100%{background:#9DCEDE;}}
+@-moz-keyframes bg-gradient{0%{background:#23A6D5;}100%{background:#9DCEDE;}}
+@-webkit-keyframes bg-gradient{0%{background:#23A6D5;}100%{background:#9DCEDE;}}
+@-o-keyframes bg-gradient{0%{background:#23A6D5;}100%{background:#9DCEDE;}}
 
 input{color:inherit;font:inherit;margin:0}
 input[type=button]{-webkit-appearance:button;cursor:pointer}