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 8d1109780b..056bc1b03a 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableFieldsService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableFieldsService.java @@ -3,11 +3,13 @@ package io.dataease.service.dataset; import io.dataease.base.domain.DatasetTableField; import io.dataease.base.domain.DatasetTableFieldExample; import io.dataease.base.mapper.DatasetTableFieldMapper; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.ArrayList; import java.util.List; import java.util.UUID; @@ -61,6 +63,16 @@ public class DataSetTableFieldsService { return datasetTableFieldMapper.selectByExample(datasetTableFieldExample); } + public List getListByIdsEach(List ids) { + List list = new ArrayList<>(); + if (CollectionUtils.isNotEmpty(ids)) { + ids.forEach(id -> { + list.add(datasetTableFieldMapper.selectByPrimaryKey(id)); + }); + } + return list; + } + public List getFieldsByTableId(String id) { DatasetTableFieldExample datasetTableFieldExample = new DatasetTableFieldExample(); datasetTableFieldExample.createCriteria().andTableIdEqualTo(id); diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java index ab18067c74..583b1aeb55 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -477,7 +477,7 @@ public class DataSetTableService { Map customInfo = new TreeMap<>(); dataTableInfoDTO.getList().forEach(ele -> { String table = DorisTableUtils.dorisName(ele.getTableId()); - List fields = dataSetTableFieldsService.getListByIds(ele.getCheckedFields()); + List fields = dataSetTableFieldsService.getListByIdsEach(ele.getCheckedFields()); String[] array = fields.stream().map(f -> table + "." + f.getDataeaseName() + " AS " + DorisTableUtils.dorisFieldName(ele.getTableId() + "_" + f.getDataeaseName())).toArray(String[]::new); customInfo.put(table, array); });