refactor: print sql to log

This commit is contained in:
junjun 2024-02-20 17:27:53 +08:00
parent 7ff0de1a3e
commit ede2b46a6d
4 changed files with 20 additions and 10 deletions

View File

@ -1064,7 +1064,6 @@ public class ChartViewService {
fieldMap.put("extBubble", extBubble); fieldMap.put("extBubble", extBubble);
fieldMap.put("yAxis", yAxis); fieldMap.put("yAxis", yAxis);
PluginViewParam pluginViewParam = buildPluginParam(fieldMap, fieldCustomFilter, extFilterList, ds, table, view, rowPermissionsTree, chartExtRequest); PluginViewParam pluginViewParam = buildPluginParam(fieldMap, fieldCustomFilter, extFilterList, ds, table, view, rowPermissionsTree, chartExtRequest);
logger.info("param1:" + gson.toJson(pluginViewParam));
String sql = pluginViewSql(pluginViewParam, view); String sql = pluginViewSql(pluginViewParam, view);
if (StringUtils.isBlank(sql)) { if (StringUtils.isBlank(sql)) {
return emptyChartViewDTO(view); return emptyChartViewDTO(view);
@ -1073,7 +1072,7 @@ public class ChartViewService {
data = datasourceProvider.getData(datasourceRequest); data = datasourceProvider.getData(datasourceRequest);
Map<String, Object> mapChart = pluginViewResult(pluginViewParam, view, data, isDrill); Map<String, Object> mapChart = pluginViewResult(pluginViewParam, view, data, isDrill);
logger.info("sql:" + sql); logger.info("plugin_sql:" + sql);
Map<String, Object> mapTableNormal = ChartDataBuild.transTableNormal(fieldMap, view, data, desensitizationList); Map<String, Object> mapTableNormal = ChartDataBuild.transTableNormal(fieldMap, view, data, desensitizationList);
return uniteViewResult(datasourceRequest.getQuery(), mapChart, mapTableNormal, view, isDrill, drillFilters, dynamicAssistFields, assistData); return uniteViewResult(datasourceRequest.getQuery(), mapChart, mapTableNormal, view, isDrill, drillFilters, dynamicAssistFields, assistData);

View File

@ -6,7 +6,6 @@ import io.dataease.commons.model.PluginViewSetImpl;
import io.dataease.commons.utils.TableUtils; import io.dataease.commons.utils.TableUtils;
import io.dataease.controller.request.chart.ChartExtRequest; import io.dataease.controller.request.chart.ChartExtRequest;
import io.dataease.dto.dataset.DataSetTableUnionDTO; import io.dataease.dto.dataset.DataSetTableUnionDTO;
import io.dataease.plugins.common.dto.dataset.DataTableInfoDTO;
import io.dataease.plugins.common.base.domain.ChartViewWithBLOBs; import io.dataease.plugins.common.base.domain.ChartViewWithBLOBs;
import io.dataease.plugins.common.base.domain.DatasetTableField; import io.dataease.plugins.common.base.domain.DatasetTableField;
import io.dataease.plugins.common.base.domain.Datasource; import io.dataease.plugins.common.base.domain.Datasource;
@ -14,17 +13,18 @@ import io.dataease.plugins.common.constants.DatasetType;
import io.dataease.plugins.common.constants.datasource.SQLConstants; import io.dataease.plugins.common.constants.datasource.SQLConstants;
import io.dataease.plugins.common.dto.chart.ChartViewFieldDTO; import io.dataease.plugins.common.dto.chart.ChartViewFieldDTO;
import io.dataease.plugins.common.dto.chart.ChartViewFieldFilterDTO; import io.dataease.plugins.common.dto.chart.ChartViewFieldFilterDTO;
import io.dataease.plugins.common.dto.dataset.DataTableInfoDTO;
import io.dataease.plugins.common.dto.sqlObj.SQLObj; import io.dataease.plugins.common.dto.sqlObj.SQLObj;
import io.dataease.plugins.common.request.chart.ChartExtFilterRequest; import io.dataease.plugins.common.request.chart.ChartExtFilterRequest;
import io.dataease.plugins.common.request.chart.filter.FilterTreeObj; import io.dataease.plugins.common.request.chart.filter.FilterTreeObj;
import io.dataease.plugins.common.request.permission.DataSetRowPermissionsTreeDTO; import io.dataease.plugins.common.request.permission.DataSetRowPermissionsTreeDTO;
import io.dataease.plugins.common.util.BeanUtils; import io.dataease.plugins.common.util.BeanUtils;
import io.dataease.plugins.common.util.ConstantsUtil; import io.dataease.plugins.common.util.ConstantsUtil;
import io.dataease.plugins.datasource.provider.ProviderFactory;
import io.dataease.plugins.datasource.query.QueryProvider; import io.dataease.plugins.datasource.query.QueryProvider;
import io.dataease.plugins.view.entity.*; import io.dataease.plugins.view.entity.*;
import io.dataease.plugins.view.entity.filter.PluginFilterTreeObj; import io.dataease.plugins.view.entity.filter.PluginFilterTreeObj;
import io.dataease.plugins.view.service.ViewPluginBaseService; import io.dataease.plugins.view.service.ViewPluginBaseService;
import io.dataease.plugins.datasource.provider.ProviderFactory;
import io.dataease.service.dataset.DataSetTableService; import io.dataease.service.dataset.DataSetTableService;
import io.dataease.service.dataset.DataSetTableUnionService; import io.dataease.service.dataset.DataSetTableUnionService;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
@ -67,18 +67,26 @@ public class ViewPluginBaseServiceImpl implements ViewPluginBaseService {
String FIELD_ALIAS_PREFIX = StringUtils.equals(pluginViewField.getTypeField(), "xAxis") ? SQLConstants.FIELD_ALIAS_X_PREFIX : SQLConstants.FIELD_ALIAS_Y_PREFIX; String FIELD_ALIAS_PREFIX = StringUtils.equals(pluginViewField.getTypeField(), "xAxis") ? SQLConstants.FIELD_ALIAS_X_PREFIX : SQLConstants.FIELD_ALIAS_Y_PREFIX;
String originField = getOriginName(dsType, pluginViewField, tableObj); String originField = getOriginName(dsType, pluginViewField, tableObj);
logger.info("originField:" + gson.toJson(originField));
PluginViewSQL field; PluginViewSQL field;
String where; String where;
String alias_fix = ConstantsUtil.constantsValue(dsType, "ALIAS_FIX"); String alias_fix = ConstantsUtil.constantsValue(dsType, "ALIAS_FIX");
logger.info("alias_fix:" + alias_fix);
String fieldAlias = String.format(alias_fix, String.format(FIELD_ALIAS_PREFIX, index)); String fieldAlias = String.format(alias_fix, String.format(FIELD_ALIAS_PREFIX, index));
field = getField(dsType, pluginViewField, originField, fieldAlias); field = getField(dsType, pluginViewField, originField, fieldAlias);
where = getWhere(dsType, pluginViewField, originField, fieldAlias); where = getWhere(dsType, pluginViewField, originField, fieldAlias);
PluginViewSQL sort = addSort(pluginViewField.getSort(), originField, fieldAlias); PluginViewSQL sort = addSort(pluginViewField.getSort(), originField, fieldAlias);
logger.info("field:" + gson.toJson(field));
logger.info("where:" + where);
logger.info("sort:" + gson.toJson(sort));
Optional.ofNullable(field).ifPresent(f -> result.setField(f)); Optional.ofNullable(field).ifPresent(f -> result.setField(f));
Optional.ofNullable(sort).ifPresent(s -> result.setSort(s)); Optional.ofNullable(sort).ifPresent(s -> result.setSort(s));
Optional.ofNullable(where).ifPresent(w -> result.setWhere(w)); Optional.ofNullable(where).ifPresent(w -> result.setWhere(w));
logger.info("result:" + gson.toJson(result));
return result; return result;
} }
@ -240,12 +248,19 @@ public class ViewPluginBaseServiceImpl implements ViewPluginBaseService {
private Object execProviderMethod(QueryProvider queryProvider, String methodName, Object... args) { private Object execProviderMethod(QueryProvider queryProvider, String methodName, Object... args) {
Method[] declaredMethods = queryProvider.getClass().getDeclaredMethods(); Method[] declaredMethods = queryProvider.getClass().getDeclaredMethods();
Method[] declaredAllMethods = queryProvider.getClass().getMethods();
for (Method method : declaredMethods) { for (Method method : declaredMethods) {
if (StringUtils.equals(method.getName(), methodName)) { if (StringUtils.equals(method.getName(), methodName)) {
method.setAccessible(true); method.setAccessible(true);
return ReflectionUtils.invokeMethod(method, queryProvider, args); return ReflectionUtils.invokeMethod(method, queryProvider, args);
} }
} }
for (Method method : declaredAllMethods) {
if (StringUtils.equals(method.getName(), methodName)) {
method.setAccessible(true);
return ReflectionUtils.invokeMethod(method, queryProvider, args);
}
}
return null; return null;
} }

View File

@ -29,6 +29,7 @@ public class ChartMixViewStatHandler implements PluginViewStatHandler {
@Override @Override
public String build(PluginViewParam pluginViewParam, ViewPluginService viewPluginService) { public String build(PluginViewParam pluginViewParam, ViewPluginService viewPluginService) {
logger.info("param:" + gson.toJson(pluginViewParam));
ViewPluginBaseService baseService = viewPluginService.getBaseService(); ViewPluginBaseService baseService = viewPluginService.getBaseService();
PluginViewSet pluginViewSet = pluginViewParam.getPluginViewSet(); PluginViewSet pluginViewSet = pluginViewParam.getPluginViewSet();
List<DataSetRowPermissionsTreeDTO> rowPermissionsTree = pluginViewParam.getRowPermissionsTree(); List<DataSetRowPermissionsTreeDTO> rowPermissionsTree = pluginViewParam.getRowPermissionsTree();
@ -42,6 +43,7 @@ public class ChartMixViewStatHandler implements PluginViewStatHandler {
PluginViewField pluginViewField = pluginViewParam.getPluginViewFields().get(i); PluginViewField pluginViewField = pluginViewParam.getPluginViewFields().get(i);
String typeKey = pluginViewField.getTypeField(); String typeKey = pluginViewField.getTypeField();
PluginSingleField pluginSingleField = baseService.buildField(dsType, pluginViewField, tableObj, i); PluginSingleField pluginSingleField = baseService.buildField(dsType, pluginViewField, tableObj, i);
logger.info("pluginSingleField:" + gson.toJson(pluginSingleField));
List<PluginSingleField> lists = fieldSQLMap.getOrDefault(typeKey, new ArrayList<>()); List<PluginSingleField> lists = fieldSQLMap.getOrDefault(typeKey, new ArrayList<>());
lists.add(pluginSingleField); lists.add(pluginSingleField);
fieldSQLMap.put(typeKey, lists); fieldSQLMap.put(typeKey, lists);

View File

@ -1,6 +1,5 @@
package io.dataease.plugins.view.official.impl; package io.dataease.plugins.view.official.impl;
import com.google.gson.Gson;
import io.dataease.plugins.common.dto.StaticResource; import io.dataease.plugins.common.dto.StaticResource;
import io.dataease.plugins.common.dto.chart.ChartFieldCompareDTO; import io.dataease.plugins.common.dto.chart.ChartFieldCompareDTO;
import io.dataease.plugins.view.entity.*; import io.dataease.plugins.view.entity.*;
@ -9,8 +8,6 @@ import io.dataease.plugins.view.service.ViewPluginService;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.io.InputStream; import java.io.InputStream;
@ -21,8 +18,6 @@ import java.util.*;
@Service @Service
public class ChartMixService extends ViewPluginService { public class ChartMixService extends ViewPluginService {
private static final Logger logger = LoggerFactory.getLogger(ViewPluginService.class);
private static final Gson gson = new Gson();
private static final String VIEW_TYPE_VALUE = "chart-mix"; private static final String VIEW_TYPE_VALUE = "chart-mix";
/* 下版这些常量移到sdk */ /* 下版这些常量移到sdk */
@ -106,7 +101,6 @@ public class ChartMixService extends ViewPluginService {
@Override @Override
public String generateSQL(PluginViewParam param) { public String generateSQL(PluginViewParam param) {
logger.info("param:" + gson.toJson(param));
List<PluginViewField> xAxis = param.getFieldsByType("xAxis"); List<PluginViewField> xAxis = param.getFieldsByType("xAxis");
List<PluginViewField> yAxis = param.getFieldsByType("yAxis"); List<PluginViewField> yAxis = param.getFieldsByType("yAxis");
/*if (yAxis == null) { /*if (yAxis == null) {