From 493f381586613372e63a1ecd37b5eb2575b237fe Mon Sep 17 00:00:00 2001 From: PhiTer9426 <793916584@qq.com> Date: Wed, 1 Jun 2022 15:37:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=AE=8C=E6=88=90=E4=BA=86=E4=B8=80?= =?UTF-8?q?=E4=BA=9BmetaDetail=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/bdware/sc/registry/DBConnector.java | 64 ++++++++++++++++++- .../org/bdware/sc/registry/RegistryDB.java | 17 ++++- backend/yjs/metaDetail.yjs | 25 ++------ 3 files changed, 84 insertions(+), 22 deletions(-) diff --git a/backend/src/main/java/org/bdware/sc/registry/DBConnector.java b/backend/src/main/java/org/bdware/sc/registry/DBConnector.java index d13ce30..1cf6930 100644 --- a/backend/src/main/java/org/bdware/sc/registry/DBConnector.java +++ b/backend/src/main/java/org/bdware/sc/registry/DBConnector.java @@ -206,6 +206,68 @@ public class DBConnector { LOGGER.error(e.getMessage()); LOGGER.debug(ExceptionUtil.exceptionToString(e)); } - return new JsonObject(); + return null; + } + + + + public static JsonObject queryMapRuleByOffset(int offset, int count, String localDoId) { + String sql = "select * from registry.map_rule where \"localMetadata\" = ? limit ? offset ? ;"; + + // execute sql + PreparedStatement pstmt = null; + try { + connect(); + pstmt = jdbcConnection.prepareStatement(sql); + pstmt.setString(1, localDoId); + pstmt.setInt(2, count); + pstmt.setInt(3, offset); + + String[] columns = { + "name", + "localMetadata", + "remoteMetadata", + "mapRule", + "version", + "createTime", + "updateTime", + "creator", + "updater", + "status" + }; + + System.out.println(pstmt); + + ResultSet rs = null; + int total = 0; + JsonObject ret = new JsonObject(); + JsonArray data = new JsonArray(); + rs = pstmt.executeQuery(); + while (rs.next()) { + total ++; + JsonObject row = new JsonObject(); + for (String col : columns) { + if (col.equals("createTime") || col.equals("updateTime")) + row.addProperty(col, rs.getTimestamp(col).toString()); + else if (col.equals("status")) + row.addProperty(col, rs.getBoolean(col)); + else + row.addProperty(col, rs.getString(col)); + } + data.add(row); + } + ret.addProperty("total", total); + ret.add("data", data); + rs.close(); + + pstmtClose(pstmt); + connClose(jdbcConnection); + + return ret; + } catch (SQLException e) { + LOGGER.error(e.getMessage()); + LOGGER.debug(ExceptionUtil.exceptionToString(e)); + } + return null; } } diff --git a/backend/src/main/java/org/bdware/sc/registry/RegistryDB.java b/backend/src/main/java/org/bdware/sc/registry/RegistryDB.java index 859bf67..10a5c26 100644 --- a/backend/src/main/java/org/bdware/sc/registry/RegistryDB.java +++ b/backend/src/main/java/org/bdware/sc/registry/RegistryDB.java @@ -75,7 +75,22 @@ public class RegistryDB { stateCode = 0; return JSONTool.convertJsonElementToMirror(ret); } - return null; + return new JsonObject(); + } + + public static Object queryMapRuleByOffset(ScriptObjectMirror scriptMirrorObject) { + JsonObject jo = convertMirrorToJson(scriptMirrorObject).getAsJsonObject(); + int offset = jo.get("offset").getAsInt(); + int count = jo.get("count").getAsInt(); + String localMetaStandardDoid = jo.get("localMetaStandardDoid").getAsString(); + JsonObject ret = DBConnector.queryMapRuleByOffset(offset, count, localMetaStandardDoid); + if(ret == null) { + stateCode = -1; + } else { + stateCode = 0; + return JSONTool.convertJsonElementToMirror(ret); + } + return new JsonObject(); } public static int getLastExecuteStatus() { diff --git a/backend/yjs/metaDetail.yjs b/backend/yjs/metaDetail.yjs index ef062c2..89b3191 100644 --- a/backend/yjs/metaDetail.yjs +++ b/backend/yjs/metaDetail.yjs @@ -13,6 +13,7 @@ module metaStandardDetail { // }; } +//{"localDataSample":{"owner":"abcdef","size":"1234"},"mapRule":{"所有者":"${val.owner}","大小":"${val.size*1000}","偏移过的大小":"${edp(val.size,30.0)}" }} export function verifyRule(arg) { arg = convertArgToJson(arg); var ret = {}; @@ -80,7 +81,6 @@ module metaStandardDetail { export function listRemoteRegistry() { arg = convertArgToJson(arg); - var ret = []; var ret = [{ "registryID":"macjw", @@ -124,25 +124,10 @@ module metaStandardDetail { //{"offset":..,"count":,"localMetaStandardDoid":} export function listMetaStandardRelaction(arg) { - var ret = []; - ret.push({ - "name":"煤矿传感数据映射", - "localMetaStandardDoid":"xx.xx/adfa", - "remoteMetaStandardDoid":"ab.ccd/aaaaa-aaa", - "createDate":167227222, - "updateDate":1111111, - "creator":"aabbcc", - "updater":"aabbcc", - "mapRule":{ - "owner":"${val.大小}", - "pubkey":"function(val){}", - } - }); - return { - "total":10, - "data":ret, - "code":0 - }; + arg = convertArgToJson(arg); + var ret = org.bdware.sc.registry.RegistryDB.queryMapRuleByOffset(arg); + ret.code = org.bdware.sc.registry.RegistryDB.getLastExecuteStatus(); + return ret; } //{"localMetaID":"xxx","mapRule":{},"remoteMetaID":"xxx"}