forked from github/dataease
fix: doris模式视图插件无效
This commit is contained in:
parent
cce82f628d
commit
ab69823e8a
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user