diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/xpack/dataFilling/DataFillingApi.java b/sdk/api/api-base/src/main/java/io/dataease/api/xpack/dataFilling/DataFillingApi.java index 15f05f07d3..1252087ee6 100644 --- a/sdk/api/api-base/src/main/java/io/dataease/api/xpack/dataFilling/DataFillingApi.java +++ b/sdk/api/api-base/src/main/java/io/dataease/api/xpack/dataFilling/DataFillingApi.java @@ -54,6 +54,9 @@ public interface DataFillingApi { @GetMapping("/datasource/list") List listDatasourceList(); + @GetMapping("/datasource/listAll") + List listDatasourceListAll(); + @PostMapping("/form/{optionDatasource}/options") List listColumnData(@PathVariable("optionDatasource") Long optionDatasource, @RequestBody DatasourceOptionsRequest request) throws Exception; diff --git a/sdk/extensions/extensions-datafilling/src/main/java/io/dataease/extensions/datafilling/provider/ExtDDLProvider.java b/sdk/extensions/extensions-datafilling/src/main/java/io/dataease/extensions/datafilling/provider/ExtDDLProvider.java index 10f9ce787b..d6f2814338 100644 --- a/sdk/extensions/extensions-datafilling/src/main/java/io/dataease/extensions/datafilling/provider/ExtDDLProvider.java +++ b/sdk/extensions/extensions-datafilling/src/main/java/io/dataease/extensions/datafilling/provider/ExtDDLProvider.java @@ -19,7 +19,11 @@ public abstract class ExtDDLProvider { public abstract String createTableSql(String table, List formFields); - public abstract String getTableFieldsSql(String table); + @Deprecated + public String getTableFieldsSql(String table) { + String sql = "SELECT * FROM `$TABLE_NAME$` LIMIT 0 OFFSET 0"; + return sql.replace("$TABLE_NAME$", table); + } public abstract String addTableColumnSql(String table, List formFieldsToCreate, List formFieldsToModify); @@ -60,12 +64,30 @@ public abstract class ExtDDLProvider { return builder.toString(); } - public abstract String searchColumnData(String table, String column, String order); - - public abstract String searchColumnRowDataOne(String table, List searchFields, TableFieldWithValue tableFieldWithValue); + @Deprecated + public String searchColumnData(String table, String column, String order) { + String baseSql = "SELECT DISTINCT `$Column_Field$` FROM `$TABLE_NAME$` ORDER BY `$Column_Field$` $Column_Order$;"; + baseSql = baseSql.replace("$TABLE_NAME$", table).replace("$Column_Field$", column).replace("$Column_Field$", column); + if (StringUtils.equalsIgnoreCase(order, "desc")) { + baseSql = baseSql.replace("$Column_Order$", "DESC"); + } else { + baseSql = baseSql.replace("$Column_Order$", "ASC"); + } + return baseSql; + } @Deprecated - public String countSql(String table, String whereSql){ + public String searchColumnRowDataOne(String table, List searchFields, TableFieldWithValue tableFieldWithValue) { + String baseSql = "SELECT $Column_Fields$ FROM `$TABLE_NAME$` WHERE `$Column_Field$` = ? LIMIT 1;"; + baseSql = baseSql + .replace("$Column_Fields$", StringUtils.join(searchFields.stream().map(s -> "`" + s.getOriginName() + "`").toList(), ", ")) + .replace("$TABLE_NAME$", table) + .replace("$Column_Field$", tableFieldWithValue.getFiledName()); + return baseSql; + } + + @Deprecated + public String countSql(String table, String whereSql) { String baseSql = "SELECT COUNT(1) FROM `$TABLE_NAME$` $WHERE_SQL$ ;"; baseSql = baseSql.replace("$TABLE_NAME$", table); if (StringUtils.isBlank(whereSql)) { @@ -88,7 +110,19 @@ public abstract class ExtDDLProvider { public abstract String updateDataByIdSql(String tableName, List fields, TableFieldWithValue pk); - public abstract String checkUniqueValueSql(String tableName, TableFieldWithValue field, TableFieldWithValue pk); + @Deprecated + public String checkUniqueValueSql(String tableName, TableFieldWithValue field, TableFieldWithValue pk) { + String sql = "SELECT COUNT(1) FROM `$TABLE_NAME$` WHERE `$Column_Field$` = ? $PRIMARY_KEY_CONDITION$;"; + + StringBuilder pkCondition = new StringBuilder(); + if (pk != null) { + pkCondition.append("AND `").append(pk.getFiledName()).append("` != ?"); + } + + return sql.replace("$TABLE_NAME$", tableName) + .replace("$Column_Field$", field.getFiledName()) + .replace("$PRIMARY_KEY_CONDITION$", pkCondition.toString()); + } @Deprecated public String whereSql(String tableName, List searchFields) { diff --git a/sdk/extensions/extensions-datasource/src/main/java/io/dataease/extensions/datasource/dto/TableFieldWithValue.java b/sdk/extensions/extensions-datasource/src/main/java/io/dataease/extensions/datasource/dto/TableFieldWithValue.java index a1e3ffda70..db7116c397 100644 --- a/sdk/extensions/extensions-datasource/src/main/java/io/dataease/extensions/datasource/dto/TableFieldWithValue.java +++ b/sdk/extensions/extensions-datasource/src/main/java/io/dataease/extensions/datasource/dto/TableFieldWithValue.java @@ -22,6 +22,7 @@ public class TableFieldWithValue implements Serializable { private String isDateTime; private String dateFormat; private String term = "eq"; + private Integer deExtractType; public static TableFieldWithValue copy(TableFieldWithValue tableFieldWithValue) { return new TableFieldWithValue()