mirror of
https://github.com/dataease/dataease.git
synced 2025-02-25 03:52:59 +08:00
feat(backend):关联视图表、字段重复关联校验 测试
This commit is contained in:
parent
3e6caadf16
commit
ee3c99e177
@ -1,10 +1,13 @@
|
||||
package io.dataease.service.dataset;
|
||||
|
||||
import io.dataease.base.domain.DatasetTableUnion;
|
||||
import io.dataease.base.domain.DatasetTableUnionExample;
|
||||
import io.dataease.base.mapper.DatasetTableUnionMapper;
|
||||
import io.dataease.base.mapper.ext.ExtDatasetTableUnionMapper;
|
||||
import io.dataease.commons.utils.AuthUtils;
|
||||
import io.dataease.dto.dataset.DataSetTableUnionDTO;
|
||||
import io.dataease.i18n.Translator;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@ -28,6 +31,7 @@ public class DataSetTableUnionService {
|
||||
private ExtDatasetTableUnionMapper extDatasetTableUnionMapper;
|
||||
|
||||
public DatasetTableUnion save(DatasetTableUnion datasetTableUnion) {
|
||||
checkUnion(datasetTableUnion);
|
||||
if (StringUtils.isEmpty(datasetTableUnion.getId())) {
|
||||
datasetTableUnion.setId(UUID.randomUUID().toString());
|
||||
datasetTableUnion.setCreateBy(AuthUtils.getUser().getUsername());
|
||||
@ -71,4 +75,29 @@ public class DataSetTableUnionService {
|
||||
sourceList.sort(Comparator.comparing(DatasetTableUnion::getCreateTime));
|
||||
return sourceList;
|
||||
}
|
||||
|
||||
private void checkUnion(DatasetTableUnion datasetTableUnion) {
|
||||
DatasetTableUnionExample datasetTableUnionExample = new DatasetTableUnionExample();
|
||||
DatasetTableUnionExample.Criteria criteria = datasetTableUnionExample.createCriteria();
|
||||
if (StringUtils.isNotEmpty(datasetTableUnion.getId())) {
|
||||
criteria.andIdNotEqualTo(datasetTableUnion.getId());
|
||||
}
|
||||
criteria.andSourceTableIdEqualTo(datasetTableUnion.getSourceTableId());
|
||||
criteria.andSourceTableFieldIdEqualTo(datasetTableUnion.getSourceTableFieldId());
|
||||
criteria.andTargetTableIdEqualTo(datasetTableUnion.getTargetTableId());
|
||||
criteria.andTargetTableFieldIdEqualTo(datasetTableUnion.getTargetTableFieldId());
|
||||
List<DatasetTableUnion> sourceResult = datasetTableUnionMapper.selectByExample(datasetTableUnionExample);
|
||||
datasetTableUnionExample.clear();
|
||||
if (StringUtils.isNotEmpty(datasetTableUnion.getId())) {
|
||||
criteria.andIdNotEqualTo(datasetTableUnion.getId());
|
||||
}
|
||||
criteria.andSourceTableIdEqualTo(datasetTableUnion.getTargetTableId());
|
||||
criteria.andSourceTableFieldIdEqualTo(datasetTableUnion.getTargetTableFieldId());
|
||||
criteria.andTargetTableIdEqualTo(datasetTableUnion.getSourceTableId());
|
||||
criteria.andTargetTableFieldIdEqualTo(datasetTableUnion.getSourceTableFieldId());
|
||||
List<DatasetTableUnion> targetResult = datasetTableUnionMapper.selectByExample(datasetTableUnionExample);
|
||||
if (CollectionUtils.isNotEmpty(sourceResult) || CollectionUtils.isNotEmpty(targetResult)) {
|
||||
throw new RuntimeException(Translator.get("i18n_union_already_exists"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -235,4 +235,5 @@ i18n_cron_expression_error=Cron expression error
|
||||
i18n_same_folder_can_not_repeat=Same Folder Can Not Repeat
|
||||
i18n_default_panel=Default Panel
|
||||
i18n_panel_list=Panel List
|
||||
i18n_processing_data=Processing data now, Refresh later
|
||||
i18n_processing_data=Processing data now, Refresh later
|
||||
i18n_union_already_exists=Union relation already exists
|
@ -237,3 +237,4 @@ i18n_same_folder_can_not_repeat=相同的目录下名称不能重复
|
||||
i18n_default_panel=默认仪表盘
|
||||
i18n_panel_list=仪表盘列表
|
||||
i18n_processing_data=正在处理数据,稍后刷新
|
||||
i18n_union_already_exists=关联关系已存在
|
||||
|
@ -236,4 +236,5 @@ i18n_cron_expression_error=Cron表達式校驗錯誤
|
||||
i18n_same_folder_can_not_repeat=相同的目录下名称不能重复
|
||||
i18n_default_panel=默认仪表盘
|
||||
i18n_panel_list=仪表盘列表
|
||||
i18n_processing_data=正在處理數據,稍後刷新
|
||||
i18n_processing_data=正在處理數據,稍後刷新
|
||||
i18n_union_already_exists=關聯關系已存在
|
Loading…
Reference in New Issue
Block a user