提交 ab69823e authored 作者: fit2cloud-chenyw's avatar fit2cloud-chenyw

fix: doris模式视图插件无效

上级 cce82f62
......@@ -1078,6 +1078,9 @@ public class DorisQueryProvider extends QueryProvider {
return CollectionUtils.isNotEmpty(list) ? "(" + String.join(" " + getLogic(y.getLogic()) + " ", strList) + ")" : null;
}
private String reflectFieldName(DatasetTableField field) {
return field.getDataeaseName();
}
private String calcFieldRegex(String originField, SQLObj tableObj) {
originField = originField.replaceAll("[\\t\\n\\r]]", "");
// 正则提取[xxx]
......
......@@ -836,6 +836,10 @@ public class MysqlQueryProvider extends QueryProvider {
return CollectionUtils.isNotEmpty(res) ? "(" + String.join(" AND ", res) + ")" : null;
}
private String reflectFieldName(DatasetTableField field) {
return field.getDataeaseName();
}
public String transExtFilterList(SQLObj tableObj, List<ChartExtFilterRequest> requestList) {
if (CollectionUtils.isEmpty(requestList)) {
return null;
......
......@@ -2,6 +2,7 @@ package io.dataease.service.chart;
import cn.hutool.core.util.ReflectUtil;
import com.google.gson.Gson;
import io.dataease.base.domain.DatasetTableField;
import io.dataease.base.domain.Datasource;
import io.dataease.controller.request.chart.ChartExtFilterRequest;
import io.dataease.dto.chart.ChartFieldCustomFilterDTO;
......@@ -132,12 +133,13 @@ public class ViewPluginBaseServiceImpl implements ViewPluginBaseService {
private String getOriginName(String dsType, PluginViewField pluginViewField, PluginViewSQL tableObj) {
String keyword_fix = ConstantsUtil.constantsValue(dsType, "KEYWORD_FIX");
String originField;
String reflectField = reflectFieldName(dsType, pluginViewField);
if (ObjectUtils.isNotEmpty(pluginViewField.getExtField()) && pluginViewField.getExtField() == 2) {
originField = calcFieldRegex(dsType,pluginViewField.getOriginName(), tableObj);
} else if (ObjectUtils.isNotEmpty(pluginViewField.getExtField()) && pluginViewField.getExtField() == 1) {
originField = String.format(keyword_fix, tableObj.getTableAlias(), pluginViewField.getOriginName());
originField = String.format(keyword_fix, tableObj.getTableAlias(), StringUtils.isNotBlank(reflectField) ? reflectField : pluginViewField.getOriginName());
} else {
originField = String.format(keyword_fix, tableObj.getTableAlias(), pluginViewField.getOriginName());
originField = String.format(keyword_fix, tableObj.getTableAlias(), StringUtils.isNotBlank(reflectField) ? reflectField : pluginViewField.getOriginName());
}
return originField;
}
......@@ -153,6 +155,17 @@ public class ViewPluginBaseServiceImpl implements ViewPluginBaseService {
return null;
}
private String reflectFieldName(String dsType, PluginViewField pluginViewField ) {
QueryProvider queryProvider = ProviderFactory.getQueryProvider(dsType);
String methodName = "reflectFieldName";
DatasetTableField field = BeanUtils.copyBean(new DatasetTableField(), pluginViewField);;
Object o ;
if ((o = execProviderMethod(queryProvider, methodName, field)) != null) {
return (String)o;
}
return null;
}
private PluginViewSQL getField(String dsType, PluginViewField field, String originField, String fieldAlias) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论