From c2c1fdf7cafdbdb4a0431c7fce555f44199a245d Mon Sep 17 00:00:00 2001 From: taojinlong Date: Tue, 1 Nov 2022 16:26:45 +0800 Subject: [PATCH 1/6] =?UTF-8?q?fix(=E7=B3=BB=E7=BB=9F=E5=8F=82=E6=95=B0):?= =?UTF-8?q?=20=E6=95=B0=E6=8D=AE=E9=9B=86=E8=AF=A6=E6=83=85-=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E4=BF=A1=E6=81=AF=EF=BC=8C=E6=9F=A5=E7=9C=8B=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E5=A4=B1=E8=B4=A5=E7=9A=84=E5=8E=9F=E5=9B=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataset/DataSetTableTaskController.java | 7 ++++++- frontend/src/views/dataset/data/UpdateInfo.vue | 11 +++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableTaskController.java b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableTaskController.java index 90b7bf6c6e..a4a36265ee 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableTaskController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableTaskController.java @@ -67,7 +67,12 @@ public class DataSetTableTaskController { @PostMapping("list/{goPage}/{pageSize}") public Pager> list(@RequestBody DatasetTableTask datasetTableTask, @PathVariable int goPage, @PathVariable int pageSize) { Page page = PageHelper.startPage(goPage, pageSize, true); - return PageUtils.setPageInfo(page, dataSetTableTaskService.list(datasetTableTask)); + Pager> listPager = PageUtils.setPageInfo(page, dataSetTableTaskService.list(datasetTableTask)); + List listObject = listPager.getListObject(); + for (DataSetTaskDTO dto : listObject) { + dataSetTableTaskLogService.lastExecStatus(dto); + } + return listPager; } @ApiOperation("分页查询") diff --git a/frontend/src/views/dataset/data/UpdateInfo.vue b/frontend/src/views/dataset/data/UpdateInfo.vue index c9d90257ce..b51c4da2f2 100644 --- a/frontend/src/views/dataset/data/UpdateInfo.vue +++ b/frontend/src/views/dataset/data/UpdateInfo.vue @@ -66,8 +66,15 @@ v-if="scope.row.lastExecStatus" :class="[`de-${scope.row.lastExecStatus}-pre`, 'de-status']" >{{ - $t(`dataset.${scope.row.lastExecStatus.toLocaleLowerCase()}`) - }} + $t(`dataset.${scope.row.lastExecStatus.toLocaleLowerCase()}`) + }} + - From 9b37a875d842f4af45d76f2b794832af04888069 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Tue, 1 Nov 2022 22:52:14 +0800 Subject: [PATCH 2/6] =?UTF-8?q?fix(=E6=95=B0=E6=8D=AE=E6=BA=90):=20?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=20sqlserver=20=E8=A1=A8=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../provider/datasource/JdbcProvider.java | 65 ++++++++++--------- .../service/dataset/DataSetTableService.java | 2 +- 2 files changed, 37 insertions(+), 30 deletions(-) diff --git a/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java b/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java index ea5b3a204e..beb65cab8a 100644 --- a/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java +++ b/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java @@ -89,8 +89,8 @@ public class JdbcProvider extends DefaultJdbcProvider { } DatabaseMetaData databaseMetaData = connection.getMetaData(); String tableNamePattern = datasourceRequest.getTable(); - if(datasourceRequest.getDatasource().getType().equalsIgnoreCase(DatasourceTypes.mysql.name())){ - if(databaseMetaData.getDriverMajorVersion() < 8){ + if (datasourceRequest.getDatasource().getType().equalsIgnoreCase(DatasourceTypes.mysql.name())) { + if (databaseMetaData.getDriverMajorVersion() < 8) { tableNamePattern = String.format(MySQLConstants.KEYWORD_TABLE, tableNamePattern); } } @@ -98,29 +98,36 @@ public class JdbcProvider extends DefaultJdbcProvider { while (resultSet.next()) { String tableName = resultSet.getString("TABLE_NAME"); String database; - if (datasourceRequest.getDatasource().getType().equalsIgnoreCase(DatasourceTypes.pg.name()) ||datasourceRequest.getDatasource().getType().equalsIgnoreCase(DatasourceTypes.ck.name()) || datasourceRequest.getDatasource().getType().equalsIgnoreCase(DatasourceTypes.impala.name())) { + String schema = resultSet.getString("TABLE_SCHEM"); + if (datasourceRequest.getDatasource().getType().equalsIgnoreCase(DatasourceTypes.pg.name()) || datasourceRequest.getDatasource().getType().equalsIgnoreCase(DatasourceTypes.ck.name()) + || datasourceRequest.getDatasource().getType().equalsIgnoreCase(DatasourceTypes.impala.name())) { database = resultSet.getString("TABLE_SCHEM"); } else { database = resultSet.getString("TABLE_CAT"); } - if(datasourceRequest.getDatasource().getType().equalsIgnoreCase(DatasourceTypes.pg.name())){ - if (tableName.equals(datasourceRequest.getTable()) && database.equalsIgnoreCase(getDsSchema(datasourceRequest))) { - TableField tableField = getTableFiled(resultSet, datasourceRequest); - list.add(tableField); - } - }else { - if (database != null) { - if (tableName.equals(datasourceRequest.getTable()) && database.equalsIgnoreCase(getDatabase(datasourceRequest))) { - TableField tableField = getTableFiled(resultSet, datasourceRequest); - list.add(tableField); - } - } else { - if (tableName.equals(datasourceRequest.getTable())) { - TableField tableField = getTableFiled(resultSet, datasourceRequest); - list.add(tableField); - } - } - } + if (datasourceRequest.getDatasource().getType().equalsIgnoreCase(DatasourceTypes.pg.name())) { + if (tableName.equals(datasourceRequest.getTable()) && database.equalsIgnoreCase(getDsSchema(datasourceRequest))) { + TableField tableField = getTableFiled(resultSet, datasourceRequest); + list.add(tableField); + } + } else if (datasourceRequest.getDatasource().getType().equalsIgnoreCase(DatasourceTypes.sqlServer.name())) { + if (tableName.equals(datasourceRequest.getTable()) && database.equalsIgnoreCase(getDatabase(datasourceRequest)) && schema.equalsIgnoreCase(getDsSchema(datasourceRequest))) { + TableField tableField = getTableFiled(resultSet, datasourceRequest); + list.add(tableField); + } + } else { + if (database != null) { + if (tableName.equals(datasourceRequest.getTable()) && database.equalsIgnoreCase(getDatabase(datasourceRequest))) { + TableField tableField = getTableFiled(resultSet, datasourceRequest); + list.add(tableField); + } + } else { + if (tableName.equals(datasourceRequest.getTable())) { + TableField tableField = getTableFiled(resultSet, datasourceRequest); + list.add(tableField); + } + } + } } resultSet.close(); @@ -165,9 +172,9 @@ public class JdbcProvider extends DefaultJdbcProvider { } else { String size = resultSet.getString("COLUMN_SIZE"); if (size == null) { - if(dbType.equals("JSON") && datasourceRequest.getDatasource().getType().equalsIgnoreCase(DatasourceTypes.mysql.name())){ + if (dbType.equals("JSON") && datasourceRequest.getDatasource().getType().equalsIgnoreCase(DatasourceTypes.mysql.name())) { tableField.setFieldSize(65535); - }else { + } else { tableField.setFieldSize(1); } @@ -176,7 +183,7 @@ public class JdbcProvider extends DefaultJdbcProvider { } } } - if(StringUtils.isNotEmpty(tableField.getFieldType()) && tableField.getFieldType().equalsIgnoreCase("DECIMAL")){ + if (StringUtils.isNotEmpty(tableField.getFieldType()) && tableField.getFieldType().equalsIgnoreCase("DECIMAL")) { tableField.setAccuracy(Integer.valueOf(resultSet.getString("DECIMAL_DIGITS"))); } return tableField; @@ -746,16 +753,16 @@ public class JdbcProvider extends DefaultJdbcProvider { } @Override - public void checkConfiguration(Datasource datasource)throws Exception{ - if (StringUtils.isEmpty(datasource.getConfiguration())){ + public void checkConfiguration(Datasource datasource) throws Exception { + if (StringUtils.isEmpty(datasource.getConfiguration())) { throw new Exception("Datasource configuration is empty"); } try { JdbcConfiguration jdbcConfiguration = new Gson().fromJson(datasource.getConfiguration(), JdbcConfiguration.class); - if(jdbcConfiguration.getQueryTimeout() < 0){ - throw new Exception("Querytimeout cannot be less than zero." ); + if (jdbcConfiguration.getQueryTimeout() < 0) { + throw new Exception("Querytimeout cannot be less than zero."); } - }catch (Exception e){ + } catch (Exception e) { throw new Exception("Invalid configuration: " + e.getMessage()); } diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java index 82953e556d..9f5ffd29cc 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -170,7 +170,7 @@ public class DataSetTableService { datasetTableTask.setTableId(datasetTable.getId()); datasetTableTask.setRate(ScheduleType.SIMPLE.toString()); datasetTableTask.setType("all_scope"); - datasetTableTask.setName(datasetTable.getName() + " 更新设置"); + datasetTableTask.setName(datasetTable.getName() + " 更新设置-" + System.currentTimeMillis()); datasetTableTask.setEnd("0"); datasetTableTask.setStatus(TaskStatus.Underway.name()); datasetTableTask.setStartTime(System.currentTimeMillis()); From 0b11b835a094c7b12827ab8ac09e5f4af4809403 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Wed, 2 Nov 2022 10:56:14 +0800 Subject: [PATCH 3/6] =?UTF-8?q?revert(=E6=95=B0=E6=8D=AE=E9=9B=86):=20?= =?UTF-8?q?=E6=9A=82=E6=97=B6=E5=B1=8F=E8=94=BD=E6=8E=89=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E8=BD=AC=E6=8D=A2=E6=8C=87=E5=AE=9A=E6=97=B6=E9=97=B4=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/dataset/data/FieldEdit.vue | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/frontend/src/views/dataset/data/FieldEdit.vue b/frontend/src/views/dataset/data/FieldEdit.vue index 51520f9b31..a666b0e68f 100644 --- a/frontend/src/views/dataset/data/FieldEdit.vue +++ b/frontend/src/views/dataset/data/FieldEdit.vue @@ -211,16 +211,16 @@ /> - + + + + + + + + + + - + + + + + + + + + + Date: Wed, 2 Nov 2022 17:17:33 +0800 Subject: [PATCH 4/6] =?UTF-8?q?refactor:=20=E4=BF=AE=E6=94=B9Mysql?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E5=AD=97=E7=AC=A6=E9=9B=86=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/src/main/resources/db/migration/V40__1.15.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/src/main/resources/db/migration/V40__1.15.sql b/backend/src/main/resources/db/migration/V40__1.15.sql index 6eca9baaef..7c7bff413a 100644 --- a/backend/src/main/resources/db/migration/V40__1.15.sql +++ b/backend/src/main/resources/db/migration/V40__1.15.sql @@ -136,7 +136,7 @@ INSERT INTO `sys_auth` (`id`, `auth_source`, `auth_source_type`, `auth_target`, DROP FUNCTION IF EXISTS `GET_V_AUTH_MODEL_WITH_CHILDREN`; delimiter ;; CREATE FUNCTION `GET_V_AUTH_MODEL_WITH_CHILDREN`(parentId longtext,modelType varchar(255)) - RETURNS longtext CHARSET utf8mb4 + RETURNS longtext CHARSET utf8mb4 COLLATE utf8mb4_general_ci READS SQL DATA BEGIN @@ -176,7 +176,7 @@ delimiter ; DROP FUNCTION IF EXISTS `GET_V_AUTH_MODEL_WITH_PARENT`; delimiter ;; CREATE FUNCTION `GET_V_AUTH_MODEL_WITH_PARENT`(childrenId longtext,modelType varchar(255)) - RETURNS longtext CHARSET utf8mb4 + RETURNS longtext CHARSET utf8mb4 COLLATE utf8mb4_general_ci READS SQL DATA BEGIN From ffba26de67965a0b25fb0da1d22985ae9473b55e Mon Sep 17 00:00:00 2001 From: taojinlong Date: Wed, 2 Nov 2022 17:20:15 +0800 Subject: [PATCH 5/6] =?UTF-8?q?fix(=E6=95=B0=E6=8D=AE=E6=BA=90):=20?= =?UTF-8?q?=E8=A7=A3=E6=9E=90API=E6=95=B0=E6=8D=AE=E6=BA=90=E5=87=BA?= =?UTF-8?q?=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/provider/datasource/ApiProvider.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/backend/src/main/java/io/dataease/provider/datasource/ApiProvider.java b/backend/src/main/java/io/dataease/provider/datasource/ApiProvider.java index c9f1c4537b..5d7218e6d4 100644 --- a/backend/src/main/java/io/dataease/provider/datasource/ApiProvider.java +++ b/backend/src/main/java/io/dataease/provider/datasource/ApiProvider.java @@ -34,6 +34,8 @@ import java.util.stream.Collectors; @Service("apiProvider") public class ApiProvider extends Provider { + private static String path = "['%s']"; + @Resource private SystemParameterService systemParameterService; @@ -198,10 +200,10 @@ public class ApiProvider extends Provider { handleStr(apiDefinition, response, fields, rootPath); } for (JSONObject field : fields) { - if(field.containsKey("children") && CollectionUtils.isNotEmpty(field.getJSONArray("children"))){ + if (field.containsKey("children") && CollectionUtils.isNotEmpty(field.getJSONArray("children"))) { field.put("disabled", false); } - if(field.containsKey("children") && CollectionUtils.isEmpty(field.getJSONArray("children"))){ + if (field.containsKey("children") && CollectionUtils.isEmpty(field.getJSONArray("children"))) { field.put("disabled", true); } } @@ -238,14 +240,14 @@ public class ApiProvider extends Provider { array.add(StringUtils.isNotEmpty(jsonObject.getString(s)) ? jsonObject.getString(s) : ""); o.put("value", array); } - o.put("jsonPath", rootPath + "." + s); + o.put("jsonPath", rootPath + "." + String.format(path, s)); setProperty(apiDefinition, o, s); if (!hasItem(apiDefinition, fields, o)) { fields.add(o); } } else if (StringUtils.isNotEmpty(value) && value.startsWith("{")) { List children = new ArrayList<>(); - handleStr(apiDefinition, jsonObject.getString(s), children, rootPath + "." + s); + handleStr(apiDefinition, jsonObject.getString(s), children, rootPath + "." + String.format(path, s)); JSONObject o = new JSONObject(); o.put("children", children); o.put("childrenDataType", "OBJECT"); @@ -256,7 +258,7 @@ public class ApiProvider extends Provider { } } else { JSONObject o = new JSONObject(); - o.put("jsonPath", rootPath + "." + s); + o.put("jsonPath", rootPath + "." + String.format(path, s)); setProperty(apiDefinition, o, s); JSONArray array = new JSONArray(); array.add(StringUtils.isNotEmpty(jsonObject.getString(s)) ? jsonObject.getString(s) : ""); From cbca61f0b553c18ebc3e1ca81102cc72a91dfa99 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Wed, 2 Nov 2022 17:30:03 +0800 Subject: [PATCH 6/6] =?UTF-8?q?fix(=E5=BA=94=E7=94=A8):=20=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E4=BF=9D=E5=AD=98=E5=A2=9E=E5=8A=A0=E5=88=A4=E6=96=AD?= =?UTF-8?q?=EF=BC=8C=E9=98=B2=E6=AD=A2=E4=BF=9D=E5=AD=98=E4=B8=BA=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../panel/PanelAppTemplateService.java | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/backend/src/main/java/io/dataease/service/panel/PanelAppTemplateService.java b/backend/src/main/java/io/dataease/service/panel/PanelAppTemplateService.java index b520a95af4..16f02facd9 100644 --- a/backend/src/main/java/io/dataease/service/panel/PanelAppTemplateService.java +++ b/backend/src/main/java/io/dataease/service/panel/PanelAppTemplateService.java @@ -81,11 +81,13 @@ public class PanelAppTemplateService { if (StringUtils.isEmpty(requestTemplate.getNodeType())) { requestTemplate.setNodeType("template"); } - //Store static resource into the server - String snapshotName = "app-template-" + request.getId() + ".jpeg"; - staticResourceService.saveSingleFileToServe(snapshotName, request.getSnapshot().replace("data:image/jpeg;base64,", "")); - requestTemplate.setSnapshot("/" + UPLOAD_URL_PREFIX + '/' + snapshotName); - panelAppTemplateMapper.insertSelective(requestTemplate); + if(StringUtils.isNotEmpty(request.getSnapshot())){ + //Store static resource into the server + String snapshotName = "app-template-" + request.getId() + ".jpeg"; + staticResourceService.saveSingleFileToServe(snapshotName, request.getSnapshot().replace("data:image/jpeg;base64,", "")); + requestTemplate.setSnapshot("/" + UPLOAD_URL_PREFIX + '/' + snapshotName); + panelAppTemplateMapper.insertSelective(requestTemplate); + } } @@ -96,9 +98,11 @@ public class PanelAppTemplateService { PanelAppTemplateWithBLOBs requestTemplate = new PanelAppTemplateWithBLOBs(); BeanUtils.copyBean(requestTemplate, request); //Store static resource into the server - String snapshotName = "app-template-" + request.getId() + ".jpeg"; - staticResourceService.saveSingleFileToServe(snapshotName, request.getSnapshot().replace("data:image/jpeg;base64,", "")); - requestTemplate.setSnapshot("/" + UPLOAD_URL_PREFIX + '/' + snapshotName); + if(StringUtils.isNotEmpty(request.getSnapshot())){ + String snapshotName = "app-template-" + request.getId() + ".jpeg"; + staticResourceService.saveSingleFileToServe(snapshotName, request.getSnapshot().replace("data:image/jpeg;base64,", "")); + requestTemplate.setSnapshot("/" + UPLOAD_URL_PREFIX + '/' + snapshotName); + } panelAppTemplateMapper.updateByPrimaryKeySelective(requestTemplate); }