Unverified 提交 e03af70e authored 作者: fit2cloud-chenyw's avatar fit2cloud-chenyw 提交者: GitHub

Merge pull request #1977 from dataease/pr@dev@fix_doris_view_plugins

fix: 抽取模式插件视图不可用
......@@ -784,6 +784,7 @@ public class ChartViewService {
PluginViewParam pluginViewParam = new PluginViewParam();
PluginViewSet pluginViewSet = BeanUtils.copyBean(new PluginViewSet(), table);
pluginViewSet.setDsType(ds.getType());
pluginViewSet.setTabelId(table.getId());
PluginViewLimit pluginViewLimit = BeanUtils.copyBean(new PluginViewLimit(), view);
......
......@@ -93,29 +93,35 @@ public class ViewPluginBaseServiceImpl implements ViewPluginBaseService {
public PluginViewSQL getTableObj(PluginViewSet pluginViewSet) {
String tableName = null;
DataTableInfoDTO dataTableInfoDTO = new Gson().fromJson(pluginViewSet.getInfo(), DataTableInfoDTO.class);
switch (pluginViewSet.getType()) {
case "db":
tableName = dataTableInfoDTO.getTable();
break;
case "sql":
tableName = dataTableInfoDTO.getSql();
break;
case "custom":
List<DataSetTableUnionDTO> list = dataSetTableUnionService.listByTableId(dataTableInfoDTO.getList().get(0).getTableId());
Datasource ds = new Datasource();
ds.setType(pluginViewSet.getDsType());
tableName = dataSetTableService.getCustomSQLDatasource(dataTableInfoDTO, list, ds);
break;
case "union":
Datasource datasource = new Datasource();
datasource.setType(pluginViewSet.getDsType());
Map<String, Object> sqlMap = dataSetTableService.getUnionSQLDatasource(dataTableInfoDTO, datasource);
tableName = (String) sqlMap.get("sql");
break;
default:
break;
}
if (ObjectUtils.isNotEmpty(pluginViewSet.getMode()) && 1 == pluginViewSet.getMode()) {
tableName = "ds_" + pluginViewSet.getTabelId().replaceAll("-", "_");
}else {
switch (pluginViewSet.getType()) {
case "db":
tableName = dataTableInfoDTO.getTable();
break;
case "sql":
tableName = dataTableInfoDTO.getSql();
break;
case "custom":
List<DataSetTableUnionDTO> list = dataSetTableUnionService.listByTableId(dataTableInfoDTO.getList().get(0).getTableId());
Datasource ds = new Datasource();
ds.setType(pluginViewSet.getDsType());
tableName = dataSetTableService.getCustomSQLDatasource(dataTableInfoDTO, list, ds);
break;
case "union":
Datasource datasource = new Datasource();
datasource.setType(pluginViewSet.getDsType());
Map<String, Object> sqlMap = dataSetTableService.getUnionSQLDatasource(dataTableInfoDTO, datasource);
tableName = (String) sqlMap.get("sql");
break;
default:
tableName = dataTableInfoDTO.getTable();
break;
}
}
String keyword = ConstantsUtil.constantsValue(pluginViewSet.getDsType(), "KEYWORD_TABLE");
String tabelName = (tableName.startsWith("(") && tableName.endsWith(")")) ? tableName : String.format(keyword, tableName);
String tabelAlias = String.format(TABLE_ALIAS_PREFIX, 0);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论