diff --git a/core/backend/pom.xml b/core/backend/pom.xml index 69d5e919d3..926ece9e33 100644 --- a/core/backend/pom.xml +++ b/core/backend/pom.xml @@ -99,6 +99,17 @@ com.github.pagehelper pagehelper 5.3.1 + + + jsqlparser + com.github.jsqlparser + + + + + com.github.jsqlparser + jsqlparser + 4.6 org.apache.shiro @@ -331,6 +342,12 @@ ashot 1.5.4 + + io.dataease + dataease-plugin-common + 1.18.11 + compile + diff --git a/core/backend/src/main/java/io/dataease/controller/request/datasource/ApiDefinition.java b/core/backend/src/main/java/io/dataease/controller/request/datasource/ApiDefinition.java index f786e37618..ae93a7b09b 100644 --- a/core/backend/src/main/java/io/dataease/controller/request/datasource/ApiDefinition.java +++ b/core/backend/src/main/java/io/dataease/controller/request/datasource/ApiDefinition.java @@ -17,7 +17,7 @@ public class ApiDefinition { private List fields; private ApiDefinitionRequest request; private String dataPath; - private Integer queryTimeout; + private Integer apiQueryTimeout = 30; private String status; private List> data = new ArrayList<>(); private List jsonFields = new ArrayList<>(); diff --git a/core/backend/src/main/java/io/dataease/provider/datasource/ApiProvider.java b/core/backend/src/main/java/io/dataease/provider/datasource/ApiProvider.java index 31d26fce1c..b6695e6e4b 100644 --- a/core/backend/src/main/java/io/dataease/provider/datasource/ApiProvider.java +++ b/core/backend/src/main/java/io/dataease/provider/datasource/ApiProvider.java @@ -40,7 +40,7 @@ public class ApiProvider extends Provider { @Override public List getData(DatasourceRequest datasourceRequest) throws Exception { ApiDefinition apiDefinition = checkApiDefinition(datasourceRequest); - String response = execHttpRequest(apiDefinition, apiDefinition.getQueryTimeout() == null || apiDefinition.getQueryTimeout()<=0 ? 30 : apiDefinition.getQueryTimeout()); + String response = execHttpRequest(apiDefinition, apiDefinition.getApiQueryTimeout() == null || apiDefinition.getApiQueryTimeout()<=0 ? 30 : apiDefinition.getApiQueryTimeout()); return fetchResult(response, apiDefinition); } @@ -68,7 +68,7 @@ public class ApiProvider extends Provider { List dataList = new ArrayList<>(); List fieldList = new ArrayList<>(); ApiDefinition apiDefinition = checkApiDefinition(datasourceRequest); - String response = execHttpRequest(apiDefinition, apiDefinition.getQueryTimeout() == null || apiDefinition.getQueryTimeout()<=0 ? 30 : apiDefinition.getQueryTimeout()); + String response = execHttpRequest(apiDefinition, apiDefinition.getApiQueryTimeout() == null || apiDefinition.getApiQueryTimeout()<=0 ? 30 : apiDefinition.getApiQueryTimeout()); fieldList = getTableFields(apiDefinition); result.put("fieldList", fieldList); diff --git a/core/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java b/core/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java index ec38b0a120..ddfa03c2e8 100644 --- a/core/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java +++ b/core/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java @@ -97,7 +97,8 @@ public class JdbcProvider extends DefaultJdbcProvider { } String schemaPattern = "%"; if (datasourceRequest.getDatasource().getType().equalsIgnoreCase(DatasourceTypes.oracle.name())) { - schemaPattern = databaseMetaData.getUserName(); + OracleConfiguration oracleConfiguration = new Gson().fromJson(datasourceRequest.getDatasource().getConfiguration(), OracleConfiguration.class); + schemaPattern = oracleConfiguration.getSchema(); } ResultSet resultSet = databaseMetaData.getColumns(null, schemaPattern, tableNamePattern, "%"); while (resultSet.next()) { @@ -121,9 +122,11 @@ public class JdbcProvider extends DefaultJdbcProvider { list.add(tableField); } } else { + System.out.println(database); if (database != null) { if (tableName.equals(datasourceRequest.getTable()) && database.equalsIgnoreCase(getDatabase(datasourceRequest))) { TableField tableField = getTableFiled(resultSet, datasourceRequest); + System.out.println(new Gson().toJson(tableField)); list.add(tableField); } } else { diff --git a/core/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java b/core/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java index 19586b83dc..1ac62f60d3 100644 --- a/core/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/core/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -2865,9 +2865,8 @@ public class DataSetTableService { visitBinaryExpression(likeExpression, (likeExpression.isNot() ? " NOT" : "") + (likeExpression.isCaseInsensitive() ? " ILIKE " : " LIKE ")); - String escape = likeExpression.getEscape(); - if (escape != null) { - buffer.append(" ESCAPE '").append(escape).append('\''); + if (likeExpression.getEscape() != null) { + buffer.append(" ESCAPE '").append(likeExpression.getEscape()).append('\''); } } diff --git a/core/backend/src/main/java/io/dataease/service/dataset/DataSetTableTaskService.java b/core/backend/src/main/java/io/dataease/service/dataset/DataSetTableTaskService.java index c1eaddc933..19e1d3b818 100644 --- a/core/backend/src/main/java/io/dataease/service/dataset/DataSetTableTaskService.java +++ b/core/backend/src/main/java/io/dataease/service/dataset/DataSetTableTaskService.java @@ -82,12 +82,13 @@ public class DataSetTableTaskService { } datasetTableTaskMapper.insert(datasetTableTask); } else { - datasetTableTask.setStatus(TaskStatus.Underway.name()); + datasetTableTask.setStatus(null); datasetTableTask.setLastExecTime(null); datasetTableTask.setLastExecStatus(null); datasetTableTaskMapper.updateByPrimaryKeySelective(datasetTableTask); } + scheduleService.deleteSchedule(datasetTableTask); scheduleService.addSchedule(datasetTableTask); // simple diff --git a/core/frontend/src/views/system/datasource/DsAppForm.vue b/core/frontend/src/views/system/datasource/DsAppForm.vue index 29321f856f..e8e8d27af8 100644 --- a/core/frontend/src/views/system/datasource/DsAppForm.vue +++ b/core/frontend/src/views/system/datasource/DsAppForm.vue @@ -566,7 +566,7 @@ export default { this.tData.forEach(item => { if (item.id === this.form.type) { item.children.forEach(child => { - if (this.formType === 'modify' && child.id === this.form.id) { + if (child.id === this.form.id) { return } const configuration = JSON.parse(child.configuration) diff --git a/core/frontend/src/views/system/datasource/DsConfiguration.vue b/core/frontend/src/views/system/datasource/DsConfiguration.vue index 34b9f4894d..270e2aa8d9 100644 --- a/core/frontend/src/views/system/datasource/DsConfiguration.vue +++ b/core/frontend/src/views/system/datasource/DsConfiguration.vue @@ -530,7 +530,7 @@ prop="apiQueryTimeout" > { if (item.id === this.form.type) { item.children.forEach((child) => { - if (this.formType === 'modify' && child.id === this.form.id) { + if (child.id === this.form.id) { return } const configuration = JSON.parse(child.configuration)