diff --git a/de-xpack b/de-xpack index 65a0bcf98f..9aae034886 160000 --- a/de-xpack +++ b/de-xpack @@ -1 +1 @@ -Subproject commit 65a0bcf98f60e2218f43306295509d3918dbe320 +Subproject commit 9aae0348868c253e8b6a6cc53f2250bcfab3d37c diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/xpack/dataFilling/dto/DfExcelData.java b/sdk/api/api-base/src/main/java/io/dataease/api/xpack/dataFilling/dto/DfExcelData.java index 939c24140e..bdb9d3001e 100644 --- a/sdk/api/api-base/src/main/java/io/dataease/api/xpack/dataFilling/dto/DfExcelData.java +++ b/sdk/api/api-base/src/main/java/io/dataease/api/xpack/dataFilling/dto/DfExcelData.java @@ -1,5 +1,6 @@ package io.dataease.api.xpack.dataFilling.dto; +import io.dataease.extensions.datafilling.dto.ExtTableField; import lombok.Data; import lombok.experimental.Accessors; diff --git a/sdk/common/pom.xml b/sdk/common/pom.xml index 00c119a828..92d6c9f8dd 100644 --- a/sdk/common/pom.xml +++ b/sdk/common/pom.xml @@ -130,6 +130,12 @@ ${project.version} + + io.dataease + extensions-datafilling + ${project.version} + + diff --git a/sdk/extensions/extensions-datafilling/pom.xml b/sdk/extensions/extensions-datafilling/pom.xml new file mode 100644 index 0000000000..885584c309 --- /dev/null +++ b/sdk/extensions/extensions-datafilling/pom.xml @@ -0,0 +1,35 @@ + + + 4.0.0 + + io.dataease + extensions + ${dataease.version} + + + extensions-datafilling + + + + io.dataease + extensions-datasource + ${dataease.version} + + + + + 21 + 21 + UTF-8 + + + + + fit2cloud-public + Fit2cloud Public + https://repository.fit2cloud.com/repository/fit2cloud-public/ + + + diff --git a/sdk/extensions/extensions-datafilling/src/main/java/io/dataease/extensions/datafilling/dto/ExtIndexField.java b/sdk/extensions/extensions-datafilling/src/main/java/io/dataease/extensions/datafilling/dto/ExtIndexField.java new file mode 100644 index 0000000000..68a93fff6b --- /dev/null +++ b/sdk/extensions/extensions-datafilling/src/main/java/io/dataease/extensions/datafilling/dto/ExtIndexField.java @@ -0,0 +1,34 @@ +package io.dataease.extensions.datafilling.dto; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class ExtIndexField implements Serializable { + @Serial + private static final long serialVersionUID = -3169849285437114316L; + + private String name; + + private List columns; + + private boolean removed; + + @Data + @Builder + @AllArgsConstructor + @NoArgsConstructor + public static class ColumnSetting { + private String column; + private String order; + } +} diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/xpack/dataFilling/dto/ExtTableField.java b/sdk/extensions/extensions-datafilling/src/main/java/io/dataease/extensions/datafilling/dto/ExtTableField.java similarity index 98% rename from sdk/api/api-base/src/main/java/io/dataease/api/xpack/dataFilling/dto/ExtTableField.java rename to sdk/extensions/extensions-datafilling/src/main/java/io/dataease/extensions/datafilling/dto/ExtTableField.java index 4ca7bb5ea5..7f70ff23b8 100644 --- a/sdk/api/api-base/src/main/java/io/dataease/api/xpack/dataFilling/dto/ExtTableField.java +++ b/sdk/extensions/extensions-datafilling/src/main/java/io/dataease/extensions/datafilling/dto/ExtTableField.java @@ -1,4 +1,4 @@ -package io.dataease.api.xpack.dataFilling.dto; +package io.dataease.extensions.datafilling.dto; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; diff --git a/sdk/extensions/extensions-datafilling/src/main/java/io/dataease/extensions/datafilling/factory/ExtDDLProviderFactory.java b/sdk/extensions/extensions-datafilling/src/main/java/io/dataease/extensions/datafilling/factory/ExtDDLProviderFactory.java new file mode 100644 index 0000000000..15d4553ce5 --- /dev/null +++ b/sdk/extensions/extensions-datafilling/src/main/java/io/dataease/extensions/datafilling/factory/ExtDDLProviderFactory.java @@ -0,0 +1,21 @@ +package io.dataease.extensions.datafilling.factory; + +import io.dataease.extensions.datasource.utils.SpringContextUtil; +import io.dataease.extensions.datasource.vo.DatasourceConfiguration; +import io.dataease.extensions.datafilling.provider.ExtDDLProvider; + +public class ExtDDLProviderFactory { + + public static ExtDDLProvider getExtDDLProvider(String type) { + DatasourceConfiguration.DatasourceType datasourceType = DatasourceConfiguration.DatasourceType.valueOf(type); + switch (datasourceType) { + case mysql: + case mariadb: + return SpringContextUtil.getApplicationContext().getBean("mysqlExtDDLProvider", ExtDDLProvider.class); + + } + return null; + } + + +} 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 new file mode 100644 index 0000000000..853a10b5ac --- /dev/null +++ b/sdk/extensions/extensions-datafilling/src/main/java/io/dataease/extensions/datafilling/provider/ExtDDLProvider.java @@ -0,0 +1,51 @@ +package io.dataease.extensions.datafilling.provider; + + +import io.dataease.extensions.datasource.dto.TableField; +import io.dataease.extensions.datafilling.dto.ExtIndexField; +import io.dataease.extensions.datafilling.dto.ExtTableField; +import io.dataease.extensions.datasource.dto.TableFieldWithValue; + +import java.util.List; + +/** + * 获取对应的sql + */ +public abstract class ExtDDLProvider { + + public final String DEFAULT_DATE_FORMAT_STR = "yyyy-MM-dd HH:mm:ss"; + + public abstract boolean supportDataFilling(); + + public abstract String createTableSql(String table, List formFields); + + public abstract String getTableFieldsSql(String table); + + public abstract String addTableColumnSql(String table, List formFieldsToCreate, List formFieldsToModify); + + public abstract String dropTableColumnSql(String table, List formFields); + + public abstract String searchSql(String table, List formFields, String whereSql, long limit, long offset); + + public abstract String searchColumnData(String table, String column, String order); + + public abstract String countSql(String table, String whereSql); + + public abstract String dropTableSql(String table); + + public abstract List createTableIndexSql(String table, List indexFields); + + public abstract List dropTableIndexSql(String table, List indexFields); + + public abstract String deleteDataByIdsSql(String table, List pks); + + public abstract String insertDataSql(String tableName, List fields, int count); + + public abstract String updateDataByIdSql(String tableName, List fields, TableFieldWithValue pk); + + public abstract String checkUniqueValueSql(String tableName, TableFieldWithValue field, TableFieldWithValue pk); + + public abstract String whereSql(String tableName, List searchFields); + + public abstract String getLowerCaseTaleNames(); +} diff --git a/sdk/extensions/pom.xml b/sdk/extensions/pom.xml index bea8c2f904..0c06ecec2c 100644 --- a/sdk/extensions/pom.xml +++ b/sdk/extensions/pom.xml @@ -13,6 +13,7 @@ extensions-view extensions-datasource + extensions-datafilling extensions