feat: 数据源插件添加获取数据请求体参数

This commit is contained in:
zhaoqian 2023-02-15 11:50:41 +08:00
parent 427d1b2f00
commit cf2ccfd0db
3 changed files with 11 additions and 0 deletions

View File

@ -529,6 +529,9 @@ public class ChartViewService {
xAxisForRequest.addAll(xAxis);
xAxisForRequest.addAll(extStack);
datasourceRequest.setXAxis(xAxisForRequest);
List<ChartViewFieldDTO> yAxisForRequest = new ArrayList<>();
yAxisForRequest.addAll(yAxis);
datasourceRequest.setYAxis(yAxisForRequest);
data = datasourceProvider.getData(datasourceRequest);
} else if (table.getMode() == 1) {// 抽取
datasourceRequest.setDatasource(ds);
@ -1037,6 +1040,7 @@ public class ChartViewService {
}
if (StringUtils.isNotEmpty(totalPageSql) && StringUtils.equalsIgnoreCase((String) mapSize.get("tablePageMode"), "page")) {
datasourceRequest.setQuery(totalPageSql);
datasourceRequest.setTotalPageFlag(true);
java.util.List<java.lang.String[]> tmpData = datasourceProvider.getData(datasourceRequest);
totalItems = CollectionUtils.isEmpty(tmpData) ? 0 : Long.valueOf(tmpData.get(0)[0]);
totalPage = (totalItems / pageInfo.getPageSize()) + (totalItems % pageInfo.getPageSize() > 0 ? 1 : 0);
@ -1047,6 +1051,10 @@ public class ChartViewService {
xAxisForRequest.addAll(xAxis);
xAxisForRequest.addAll(extStack);
datasourceRequest.setXAxis(xAxisForRequest);
List<ChartViewFieldDTO> yAxisForRequest = new ArrayList<>();
yAxisForRequest.addAll(yAxis);
datasourceRequest.setYAxis(yAxisForRequest);
datasourceRequest.setTotalPageFlag(false);
data = datasourceProvider.getData(datasourceRequest);
if (CollectionUtils.isNotEmpty(assistFields)) {
datasourceAssistRequest.setQuery(assistSQL(datasourceRequest.getQuery(), assistFields));

View File

@ -34,6 +34,7 @@ import io.dataease.plugins.common.base.mapper.*;
import io.dataease.plugins.common.constants.DatasetType;
import io.dataease.plugins.common.constants.DatasourceTypes;
import io.dataease.plugins.common.constants.DeTypeConstants;
import io.dataease.plugins.common.dto.chart.ChartViewFieldDTO;
import io.dataease.plugins.common.dto.dataset.SqlVariableDetails;
import io.dataease.plugins.common.dto.datasource.DataSourceType;
import io.dataease.plugins.common.dto.datasource.TableField;
@ -712,6 +713,7 @@ public class DataSetTableService {
datasourceRequest.setPreviewData(true);
try {
datasourceRequest.setPageable(true);
datasourceRequest.setPermissionFields(fields);
data.addAll(datasourceProvider.getData(datasourceRequest));
} catch (Exception e) {
logger.error(e.getMessage());

View File

@ -195,6 +195,7 @@ public class DirectFieldService implements DataSetFieldService {
datasourceRequest.setQuery(qp.createQuerySQL(tableName, permissionFields, !needSort, null, customFilter, rowPermissionsTree, deSortFields));
}
LogUtil.info(datasourceRequest.getQuery());
datasourceRequest.setPermissionFields(permissionFields);
List<String[]> rows = datasourceProvider.getData(datasourceRequest);
if (!needMapping) {
List<Object> results = rows.stream().map(row -> row[0]).distinct().collect(Collectors.toList());