From 61a90c8591d0cd2b773299398c6b0428c0ab22bc Mon Sep 17 00:00:00 2001 From: lxyer <237809796@qq.com> Date: Thu, 13 Jun 2019 11:27:22 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E8=A7=A3=E5=86=B3=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E6=8F=90=E4=BE=9B=E7=9A=84=E5=88=A0=E9=99=A4=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=202=E3=80=81=E9=87=8D=E6=9E=84DbKit=EF=BC=8C?= =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=AD=98=E5=9C=A8=E7=9A=84catalog=E6=9C=AA?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E5=AF=BC=E8=87=B4=E7=9A=84=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- root/metadata/dataList.html | 27 ++++++++++++++++-- root/metadata/metatable/metaTable.html | 28 +++++++++---------- root/qtask/list.html | 5 ++++ src/main/java/net/tccn/base/MetaKit.java | 14 +++++----- src/main/java/net/tccn/dbq/DbExecutors.java | 4 +-- .../java/net/tccn/dbq/jdbc/api/DbKit.java | 24 ++++++++++++---- .../java/net/tccn/dbq/jdbc/api/DbSource.java | 1 + .../net/tccn/dbq/jdbc/api/DbSourceMysql.java | 7 ++++- .../java/net/tccn/service/_DbService.java | 10 +++---- src/test/java/RunTest.java | 4 +-- 10 files changed, 85 insertions(+), 39 deletions(-) diff --git a/root/metadata/dataList.html b/root/metadata/dataList.html index 7f12374..86aa939 100644 --- a/root/metadata/dataList.html +++ b/root/metadata/dataList.html @@ -299,7 +299,30 @@ }, dealFieldFmt(bean, colFmt) { //处理字典数据 及 自定义函数处理数据 - if (colFmt["fmt"]) { + let v = "" + + if (colFmt.inType == "DICT") { + // 取字典值返回 + v = bean[colFmt["col"]] + } + else if (colFmt.inType == "INPUT_DAY") { + + v = bean[colFmt["col"]] + } + else if (colFmt.inType == "INPUT_TIME") { + + v = bean[colFmt["col"]] + } + else if (colFmt.inType == "INPUT_FUNC") { + + v = bean[colFmt["col"]] + } + else { + v = bean[colFmt["col"]] + } + return v + " -> "+colFmt.inType + + /*if (colFmt["fmt"]) { let fmt = colFmt["fmt"] let cate = "" if (fmt.indexOf("|") > 0) { @@ -323,7 +346,7 @@ } else { //console.log(`k-v:${colFmt["col"]}-${bean[colFmt["col"]]}`) return bean[colFmt["col"]] - } + }*/ }, dealField(bean, field) { let str = ""; diff --git a/root/metadata/metatable/metaTable.html b/root/metadata/metatable/metaTable.html index 77dce60..190348d 100644 --- a/root/metadata/metatable/metaTable.html +++ b/root/metadata/metatable/metaTable.html @@ -224,7 +224,6 @@ } } - console.log(itemEdit) this.itemEdit = itemEdit; }, deep: true @@ -289,10 +288,10 @@ $('#show>table>tbody').sortable({ selector: 'tr', finish: function (e) { - var rows = e.list; - var shows = []; - for (var i = 0; i < rows.length; i++) { - var item = $(rows[i]).find("input[name='name']").val(); + let rows = e.list; + let shows = []; + for (let i = 0; i < rows.length; i++) { + let item = $(rows[i]).find("input[name='name']").val(); shows.push(item); } vm.meta.shows = shows; @@ -302,10 +301,10 @@ $('#import>table>tbody').sortable({ selector: 'tr', finish: function (e) { - var rows = e.list; - var shows = []; - for (var i = 0; i < rows.length; i++) { - var item = $(rows[i]).find("input[name='name']").val(); + let rows = e.list; + let shows = []; + for (let i = 0; i < rows.length; i++) { + let item = $(rows[i]).find("input[name='name']").val(); shows.push(item); } vm.meta.imports = shows; @@ -329,10 +328,10 @@ $('#filter>table>tbody').sortable({ selector: 'tr', finish: function (e) { - var rows = e.list; - var filterArr = []; - for (var i = 0; i < rows.length; i++) { - var item = $(rows[i]).find("input[name='name']").val(); + let rows = e.list; + let filterArr = []; + for (let i = 0; i < rows.length; i++) { + let item = $(rows[i]).find("input[name='name']").val(); filterArr.push(item); } vm.filterArr = filterArr; @@ -399,7 +398,8 @@ } }, dealTableLabel(table) { - return `${table.name} [${table.comment}] (${table.linkCount})` + // (${table.linkCount}) + return `${table.name} [${table.comment}]` }, getFieldLabel (col) { if (!col) { diff --git a/root/qtask/list.html b/root/qtask/list.html index 7d2ddc6..bb76e50 100644 --- a/root/qtask/list.html +++ b/root/qtask/list.html @@ -41,6 +41,11 @@ + +
+ +

暂无数据

+
diff --git a/src/main/java/net/tccn/base/MetaKit.java b/src/main/java/net/tccn/base/MetaKit.java index 7abe579..30de9c3 100644 --- a/src/main/java/net/tccn/base/MetaKit.java +++ b/src/main/java/net/tccn/base/MetaKit.java @@ -208,7 +208,7 @@ public final class MetaKit { String comment = metaService.getComment(); //List items = new ArrayList<>(); - Kv> _items2 = Kv.of(); + /*Kv> _items2 = Kv.of(); metaTables.forEach((k, v) -> { Kv _items = Kv.of(); v.getItems().forEach(x -> { @@ -222,7 +222,7 @@ public final class MetaKit { }); _items2.set(k, _items); - }); + });*/ //shows /*List _shows = new ArrayList(); @@ -232,7 +232,7 @@ public final class MetaKit { .filter(y -> x.split("[.]")[1].equals(y.getName())) .findFirst().ifPresent(y -> _shows.add(Kv.of("col", x).set("order", true))); });*/ - List _shows = shows.stream().map(x -> { + /*List _shows = shows.stream().map(x -> { Kv kv = Kv.of(); kv.putAll(x); @@ -246,7 +246,7 @@ public final class MetaKit { kv.remove("inType"); kv.remove("inExt"); return kv; - }).collect(Collectors.toList()); + }).collect(Collectors.toList());*/ //filters @@ -337,7 +337,7 @@ public final class MetaKit { return Kv.of() .set("pk", _pks.toString()) .set("title", comment) - .set("items", _items2) + //.set("items", _items2) .set("shows", shows) .set("filters", _filters) .set("edits", edits) @@ -460,11 +460,11 @@ public final class MetaKit { return tables; } - public static DbKit getDbKit(String dbPlatId) { + /*public static DbKit getDbKit(String dbPlatId) { Optional dbAccount = dbPlats.stream().filter(x -> x.getKey().equals(dbPlatId)).findAny(); return new DbKit(dbAccount.get()); - } + }*/ public static DbKit getDbKit(String dbPlatId, String catalog) { Optional dbAccount = dbPlats.stream().filter(x -> x.getKey().equals(dbPlatId)).findAny(); return new DbKit(dbAccount.get(), catalog); diff --git a/src/main/java/net/tccn/dbq/DbExecutors.java b/src/main/java/net/tccn/dbq/DbExecutors.java index fdcaa92..ba725a9 100644 --- a/src/main/java/net/tccn/dbq/DbExecutors.java +++ b/src/main/java/net/tccn/dbq/DbExecutors.java @@ -25,7 +25,7 @@ public class DbExecutors { MetaTable mainTable = MetaKit.getMetaTableByAlias(metaService.getTable()); - DbKit dbKit = MetaKit.getDbKit(mainTable.getDbPlatId()); + DbKit dbKit = MetaKit.getDbKit(mainTable.getDbPlatId(), mainTable.getCatalog()); //System.out.printf("----------------%n countSql:%s%n findSql:%s%n----------------%n", sqls[0], sqls[1]); CompletableFuture countFuture = CompletableFuture.supplyAsync(() -> dbKit.queryColumn(sqls[0], int.class)); @@ -42,7 +42,7 @@ public class DbExecutors { MetaTable mainTable = MetaKit.getMetaTableByAlias(metaService.getTable()); - DbKit dbKit = MetaKit.getDbKit(mainTable.getDbPlatId()); + DbKit dbKit = MetaKit.getDbKit(mainTable.getDbPlatId(), mainTable.getCatalog()); String delSql = PARSER.parseDel(name, data, token); dbKit.exetute(delSql); diff --git a/src/main/java/net/tccn/dbq/jdbc/api/DbKit.java b/src/main/java/net/tccn/dbq/jdbc/api/DbKit.java index 6e45266..ae5a4d4 100644 --- a/src/main/java/net/tccn/dbq/jdbc/api/DbKit.java +++ b/src/main/java/net/tccn/dbq/jdbc/api/DbKit.java @@ -14,7 +14,7 @@ public class DbKit implements DbSource{ private DbSource dbSource; private String catalog; - public DbKit(DbAccount dbAccount) { + /*public DbKit(DbAccount dbAccount) { this.dbAccount = dbAccount; try { DbSource dbSource = Liangs.getDbSource(DbSource.class, dbAccount.getCate()); @@ -24,13 +24,18 @@ public class DbKit implements DbSource{ } catch (Exception e) { throw new IllegalArgumentException(String.format("创建DbKit失败:数据库类型[cate:%s]未知", dbAccount.getCate())); } - } + }*/ public DbKit(DbAccount dbAccount, String catalog) { this.dbAccount = dbAccount; this.catalog = catalog; - if ("mysql".equalsIgnoreCase(dbAccount.getCate())) { - dbSource = new DbSourceMysql(dbAccount, catalog); - } else { + + try { + DbSource dbSource = Liangs.getDbSource(DbSource.class, dbAccount.getCate()); + dbSource.setDbAccount(dbAccount); + dbSource.setCatalog(catalog); + + this.dbSource = dbSource; + } catch (Exception e) { throw new IllegalArgumentException(String.format("创建DbKit失败:数据库类型[cate:%s]未知", dbAccount.getCate())); } } @@ -38,7 +43,14 @@ public class DbKit implements DbSource{ @Override public void setDbAccount(DbAccount dbAccount) { - // nothing to do + this.dbAccount = dbAccount; + dbSource.setDbAccount(dbAccount); + } + + @Override + public void setCatalog(String catelog) { + this.catalog = catelog; + dbSource.setCatalog(catalog); } @Override diff --git a/src/main/java/net/tccn/dbq/jdbc/api/DbSource.java b/src/main/java/net/tccn/dbq/jdbc/api/DbSource.java index 2171542..f4e9e07 100644 --- a/src/main/java/net/tccn/dbq/jdbc/api/DbSource.java +++ b/src/main/java/net/tccn/dbq/jdbc/api/DbSource.java @@ -11,6 +11,7 @@ import java.util.List; public interface DbSource extends IService { void setDbAccount(DbAccount dbAccount); + void setCatalog(String catelog); List findList(String sql, Class type); diff --git a/src/main/java/net/tccn/dbq/jdbc/api/DbSourceMysql.java b/src/main/java/net/tccn/dbq/jdbc/api/DbSourceMysql.java index 1356618..d2f17ca 100644 --- a/src/main/java/net/tccn/dbq/jdbc/api/DbSourceMysql.java +++ b/src/main/java/net/tccn/dbq/jdbc/api/DbSourceMysql.java @@ -32,6 +32,11 @@ public class DbSourceMysql implements DbSource { this.accountKey = dbAccount.accountKey(); } + @Override + public void setCatalog(String catalog) { + this.catalog = catalog; + } + public DbSourceMysql(DbAccount dbAccount) { this.dbAccount = dbAccount; this.accountKey = dbAccount.accountKey(); @@ -159,7 +164,7 @@ public class DbSourceMysql implements DbSource { //fixme: lxy 处理连接超过8小时失效问题 private Connection connection() { Connection connection = connection(0); - if (connection != null && catalog != null) { + if (connection != null && catalog != null && !catalog.isEmpty()) { try { connection.setCatalog(catalog); //还回连接的时候是否需要重置catalog? 后续观察 } catch (SQLException e) { diff --git a/src/main/java/net/tccn/service/_DbService.java b/src/main/java/net/tccn/service/_DbService.java index cfa7238..ed7be05 100644 --- a/src/main/java/net/tccn/service/_DbService.java +++ b/src/main/java/net/tccn/service/_DbService.java @@ -26,9 +26,9 @@ public class _DbService extends BaseService { JBean jBean = new JBean(); DbKit dbKit = null; if (dbAccount != null) { - dbKit = new DbKit(dbAccount); + dbKit = new DbKit(dbAccount, ""); } else { - dbKit = MetaKit.getDbKit(dbPlatId); + dbKit = MetaKit.getDbKit(dbPlatId, ""); } List list = dbKit.findList("SHOW DATABASES;", Map.class); @@ -40,7 +40,7 @@ public class _DbService extends BaseService { @RestMapping(name = "table_list", comment = "数据库表列表") public List tableList(String dbPlatId, String catalog, String[] tables) { - DbKit dbKit = MetaKit.getDbKit(dbPlatId); + DbKit dbKit = MetaKit.getDbKit(dbPlatId, ""); String sql = tplKit.getTpl("db.table_list", Kv.of("catalog", catalog).set("tables", tables)); return dbKit.findList(sql, Table.class); @@ -71,7 +71,7 @@ public class _DbService extends BaseService { @RestMapping(ignore = true, comment = "查询表信息") public Table tableInfo(String dbPlatId, String catalog, String tableName) { - DbKit dbKit = MetaKit.getDbKit(dbPlatId); + DbKit dbKit = MetaKit.getDbKit(dbPlatId, catalog); String sql = tplKit.getTpl("db.table_list", Kv.of("table", tableName)); String columnSql = String.format("SHOW FULL COLUMNS FROM %s.`%s`", catalog, tableName); @@ -94,7 +94,7 @@ public class _DbService extends BaseService { public JBean tableCreate(String dbPlatId, String catalog, String sql) { JBean jBean = new JBean(); - DbKit dbKit = MetaKit.getDbKit(dbPlatId); + DbKit dbKit = MetaKit.getDbKit(dbPlatId, catalog); dbKit.createTable(sql); return jBean; diff --git a/src/test/java/RunTest.java b/src/test/java/RunTest.java index 5dd57ab..af154b8 100644 --- a/src/test/java/RunTest.java +++ b/src/test/java/RunTest.java @@ -75,7 +75,7 @@ public class RunTest { dbAccount.setUser("root"); dbAccount.setPwd("eversec123098"); - DbKit dbKit = new DbKit(dbAccount); + DbKit dbKit = new DbKit(dbAccount, ""); //String sql = "select * from basic_concat limit 1"; String sql = "show databases;"; @@ -320,7 +320,7 @@ public class RunTest { dbAccount.setUser("root"); dbAccount.setPwd("eversec123098"); - DbKit dbKit = new DbKit(dbAccount); + DbKit dbKit = new DbKit(dbAccount, ""); String sql = "select platID,platDomain,platIP from basic_domain limit 10"; String countSql = "select count(*) from basic_domain";