From fe2958f7a0545845bd867779c45e92e55daddcde Mon Sep 17 00:00:00 2001 From: ulleo Date: Thu, 14 Nov 2024 12:06:01 +0800 Subject: [PATCH] =?UTF-8?q?fix(X-Pack):=20=E4=BF=AE=E5=A4=8D=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=A1=AB=E6=8A=A5=E8=8E=B7=E5=8F=96=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- de-xpack | 2 +- .../xpack/dataFilling/dto/DfExcelData.java | 1 + sdk/common/pom.xml | 6 +++ sdk/extensions/extensions-datafilling/pom.xml | 35 +++++++++++++ .../datafilling/dto/ExtIndexField.java | 34 +++++++++++++ .../datafilling}/dto/ExtTableField.java | 2 +- .../factory/ExtDDLProviderFactory.java | 21 ++++++++ .../datafilling/provider/ExtDDLProvider.java | 51 +++++++++++++++++++ sdk/extensions/pom.xml | 1 + 9 files changed, 151 insertions(+), 2 deletions(-) create mode 100644 sdk/extensions/extensions-datafilling/pom.xml create mode 100644 sdk/extensions/extensions-datafilling/src/main/java/io/dataease/extensions/datafilling/dto/ExtIndexField.java rename sdk/{api/api-base/src/main/java/io/dataease/api/xpack/dataFilling => extensions/extensions-datafilling/src/main/java/io/dataease/extensions/datafilling}/dto/ExtTableField.java (98%) create mode 100644 sdk/extensions/extensions-datafilling/src/main/java/io/dataease/extensions/datafilling/factory/ExtDDLProviderFactory.java create mode 100644 sdk/extensions/extensions-datafilling/src/main/java/io/dataease/extensions/datafilling/provider/ExtDDLProvider.java 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