diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableFieldsService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableFieldsService.java index 7e768f3a0e..5eddd4eb2e 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableFieldsService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableFieldsService.java @@ -3,7 +3,9 @@ package io.dataease.service.dataset; import io.dataease.base.domain.DatasetTableField; import io.dataease.base.domain.DatasetTableFieldExample; import io.dataease.base.mapper.DatasetTableFieldMapper; +import io.dataease.commons.exception.DEException; import io.dataease.commons.utils.DorisTableUtils; +import io.dataease.i18n.Translator; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; @@ -30,6 +32,12 @@ public class DataSetTableFieldsService { } public DatasetTableField save(DatasetTableField datasetTableField) { + DatasetTableFieldExample datasetTableFieldExample = new DatasetTableFieldExample(); + datasetTableFieldExample.createCriteria().andNameEqualTo(datasetTableField.getName()).andTableIdEqualTo(datasetTableField.getTableId()); + List datasetTableFields = datasetTableFieldMapper.selectByExample(datasetTableFieldExample); + if (CollectionUtils.isNotEmpty(datasetTableFields)) { + DEException.throwException(Translator.get("i18n_field_name_repeat")); + } if (StringUtils.isEmpty(datasetTableField.getId())) { datasetTableField.setId(UUID.randomUUID().toString()); // 若dataeasename为空,则用MD5(id)作为dataeasename diff --git a/backend/src/main/resources/i18n/messages_en_US.properties b/backend/src/main/resources/i18n/messages_en_US.properties index bf8b774aba..a05de81cb2 100644 --- a/backend/src/main/resources/i18n/messages_en_US.properties +++ b/backend/src/main/resources/i18n/messages_en_US.properties @@ -297,4 +297,5 @@ i18n_invalid_ds=Invalid Datasource 任务管理=Task Manager 数据同步=Data Sync 定时报告=Regular report -i18n_rp_exist=Row permission of the same type already exists \ No newline at end of file +i18n_rp_exist=Row permission of the same type already exists +i18n_field_name_repeat=Field name can't repeat diff --git a/backend/src/main/resources/i18n/messages_zh_CN.properties b/backend/src/main/resources/i18n/messages_zh_CN.properties index 643108af35..701e45def7 100644 --- a/backend/src/main/resources/i18n/messages_zh_CN.properties +++ b/backend/src/main/resources/i18n/messages_zh_CN.properties @@ -296,4 +296,5 @@ i18n_invalid_ds=无效数据源 任务管理=任务管理 数据同步=数据同步 定时报告=定时报告 -i18n_rp_exist=已有同类型的行权限存在 \ No newline at end of file +i18n_rp_exist=已有同类型的行权限存在 +i18n_field_name_repeat=字段名不能重复 diff --git a/backend/src/main/resources/i18n/messages_zh_TW.properties b/backend/src/main/resources/i18n/messages_zh_TW.properties index ace5c7bf60..cb4a7a916d 100644 --- a/backend/src/main/resources/i18n/messages_zh_TW.properties +++ b/backend/src/main/resources/i18n/messages_zh_TW.properties @@ -299,4 +299,5 @@ i18n_invalid_ds=無效數據源 任务管理=任務管理 数据同步=數據同步 定时报告=定時報告 -i18n_rp_exist=已有同類型餓行權限存在 \ No newline at end of file +i18n_rp_exist=已有同類型餓行權限存在 +i18n_field_name_repeat=字段名不能重復