feat(X-Pack): 新增视图插件机制

This commit is contained in:
fit2cloud-chenyw 2024-06-13 16:18:40 +08:00
parent 7d7831cef9
commit 0279ce076c
91 changed files with 409 additions and 247 deletions

View File

@ -1,12 +1,8 @@
package io.dataease.chart.manage;
import io.dataease.api.chart.dto.*;
import io.dataease.api.chart.filter.FilterTreeObj;
import io.dataease.api.chart.request.ChartDrillRequest;
import io.dataease.api.chart.request.ChartExtRequest;
import io.dataease.api.dataset.dto.SqlVariableDetails;
import io.dataease.api.chart.dto.ColumnPermissionItem;
import io.dataease.api.chart.dto.PageInfo;
import io.dataease.api.dataset.union.DatasetGroupInfoDTO;
import io.dataease.api.dataset.union.model.SQLMeta;
import io.dataease.api.permissions.auth.dto.BusiPerCheckDTO;
import io.dataease.api.permissions.dataset.dto.DataSetRowPermissionsTreeDTO;
import io.dataease.chart.constant.ChartConstants;
@ -20,13 +16,17 @@ import io.dataease.dataset.manage.PermissionManage;
import io.dataease.dataset.utils.SqlUtils;
import io.dataease.datasource.provider.CalciteProvider;
import io.dataease.datasource.request.DatasourceRequest;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.engine.constant.SQLConstants;
import io.dataease.engine.sql.SQLProvider;
import io.dataease.engine.trans.*;
import io.dataease.engine.utils.SQLUtils;
import io.dataease.engine.utils.Utils;
import io.dataease.exception.DEException;
import io.dataease.extensions.view.dto.*;
import io.dataease.extensions.view.factory.PluginsChartFactory;
import io.dataease.extensions.view.filter.FilterTreeObj;
import io.dataease.extensions.view.model.SQLMeta;
import io.dataease.extensions.view.template.PluginsChartTemplate;
import io.dataease.i18n.Translator;
import io.dataease.result.ResultCode;
import io.dataease.system.manage.CorePermissionManage;
@ -162,10 +162,33 @@ public class ChartDataManage {
}
public ChartViewDTO calcData(ChartViewDTO view, ChartExtRequest chartExtRequest, List<ChartViewFieldDTO> allFields, List<ChartViewFieldDTO> viewFields) throws Exception {
List<ChartViewFieldDTO> xAxisBase = new ArrayList<>(view.getXAxis());
List<ChartViewFieldDTO> xAxis = new ArrayList<>(view.getXAxis());
List<ChartViewFieldDTO> xAxisExt = new ArrayList<>(view.getXAxisExt());
List<ChartViewFieldDTO> xAxisBase = null;
List<ChartViewFieldDTO> xAxis = null;
List<ChartViewFieldDTO> xAxisExt = null;
List<ChartViewFieldDTO> yAxis = null;
List<ChartViewFieldDTO> extStack = null;
List<ChartViewFieldDTO> extBubble = null;
List<ChartViewFieldDTO> drill = null;
PluginsChartTemplate instance = null;
boolean skipBarRange = false;
boolean barRangeDate = false;
if (ObjectUtils.isNotEmpty(view.getIsPlugin()) && view.getIsPlugin()) {
instance = PluginsChartFactory.getInstance(view.getRender(), view.getType());
String key = view.getRender() + "_" + view.getType();
if (ObjectUtils.isEmpty(instance)) DEException.throwException(String.format("此视图插件【%s】不存在", key));
Map<String, List<ChartViewFieldDTO>> axisMap = instance.formatChartAxis(view);
xAxisBase = axisMap.get("axisMap");
xAxis = axisMap.get("xAxis");
xAxisExt = axisMap.get("xAxisExt");
yAxis = axisMap.get("yAxis");
extStack = axisMap.get("extStack");
extBubble = axisMap.get("extBubble");
drill = axisMap.get("drill");
viewFields = axisMap.get("viewFields");
} else {
xAxisBase = new ArrayList<>(view.getXAxis());
xAxis = new ArrayList<>(view.getXAxis());
xAxisExt = new ArrayList<>(view.getXAxisExt());
if (StringUtils.equalsIgnoreCase(view.getType(), "table-pivot")
|| StringUtils.containsIgnoreCase(view.getType(), "group")
|| ("antv".equalsIgnoreCase(view.getRender()) && "line".equalsIgnoreCase(view.getType()))
@ -175,7 +198,7 @@ public class ChartDataManage {
) {
xAxis.addAll(xAxisExt);
}
List<ChartViewFieldDTO> yAxis = new ArrayList<>(view.getYAxis());
yAxis = new ArrayList<>(view.getYAxis());
if (StringUtils.equalsIgnoreCase(view.getType(), "chart-mix")
|| StringUtils.equalsIgnoreCase(view.getType(), "bidirectional-bar")
|| StringUtils.equalsIgnoreCase(view.getType(), "quadrant")
@ -187,8 +210,7 @@ public class ChartDataManage {
List<ChartViewFieldDTO> sizeField = getSizeField(view);
yAxis.addAll(sizeField);
}
boolean skipBarRange = false;
boolean barRangeDate = false;
if (StringUtils.equalsIgnoreCase(view.getType(), "bar-range")) { //针对区间条形图进行处理
yAxis.clear();
if (CollectionUtils.isNotEmpty(view.getYAxis()) && CollectionUtils.isNotEmpty(view.getYAxisExt())) {
@ -217,8 +239,8 @@ public class ChartDataManage {
}
}
List<ChartViewFieldDTO> extStack = new ArrayList<>(view.getExtStack());
List<ChartViewFieldDTO> extBubble = new ArrayList<>(view.getExtBubble());
extStack = new ArrayList<>(view.getExtStack());
extBubble = new ArrayList<>(view.getExtBubble());
if (ObjectUtils.isNotEmpty(view.getExtLabel()) && enableExtData(view.getType())) {
List<ChartViewFieldDTO> extLabel = new ArrayList<>(view.getExtLabel());
yAxis.addAll(extLabel);
@ -227,8 +249,11 @@ public class ChartDataManage {
List<ChartViewFieldDTO> extTooltip = new ArrayList<>(view.getExtTooltip());
yAxis.addAll(extTooltip);
}
drill = new ArrayList<>(view.getDrillFields());
}
FilterTreeObj fieldCustomFilter = view.getCustomFilter();
List<ChartViewFieldDTO> drill = new ArrayList<>(view.getDrillFields());
// 以上是formatAxis内容
DatasetGroupInfoDTO table = datasetGroupManage.getDatasetGroupInfoDTO(view.getTableId(), null);
if (table == null) {
@ -291,6 +316,7 @@ public class ChartDataManage {
chartExtRequest.setPageSize(null);
}
if (ObjectUtils.isEmpty(instance))
switch (view.getType()) {
case "label":
xAxis = xAxis.stream().filter(item -> !desensitizationList.keySet().contains(item.getDataeaseName()) && dataeaseNames.contains(item.getDataeaseName())).collect(Collectors.toList());
@ -585,6 +611,10 @@ public class ChartDataManage {
CustomWhere2Str.customWhere2sqlObj(sqlMeta, fieldCustomFilter, transFields(allFields), crossDs, dsMap);
ExtWhere2Str.extWhere2sqlOjb(sqlMeta, extFilterList, transFields(allFields), crossDs, dsMap);
WhereTree2Str.transFilterTrees(sqlMeta, rowPermissionsTree, transFields(allFields), crossDs, dsMap);
Map<Long, String> dsTypeMap = dsMap.entrySet().stream().collect(Collectors.toMap(Map.Entry::getKey, entry -> entry.getValue().getType()));
if (ObjectUtils.isNotEmpty(instance)) {
return instance.calcResult(sqlMeta, xAxis, yAxis, transFields(allFields), crossDs, dsTypeMap);
}
if (StringUtils.equalsAnyIgnoreCase(view.getType(), "indicator", "gauge", "liquid")) {
Quota2SQLObj.quota2sqlObj(sqlMeta, yAxis, transFields(allFields), crossDs, dsMap);

View File

@ -1,10 +1,10 @@
package io.dataease.chart.manage;
import io.dataease.api.chart.filter.FilterTreeItem;
import io.dataease.api.chart.filter.FilterTreeObj;
import io.dataease.extensions.view.filter.FilterTreeItem;
import io.dataease.extensions.view.filter.FilterTreeObj;
import io.dataease.dataset.dao.auto.entity.CoreDatasetTableField;
import io.dataease.dataset.dao.auto.mapper.CoreDatasetTableFieldMapper;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import io.dataease.engine.utils.SQLUtils;
import io.dataease.utils.BeanUtils;
import jakarta.annotation.Resource;

View File

@ -4,9 +4,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.dataease.api.chart.dto.*;
import io.dataease.api.chart.filter.FilterTreeObj;
import io.dataease.extensions.view.dto.*;
import io.dataease.extensions.view.filter.FilterTreeObj;
import io.dataease.api.chart.vo.ViewSelectorVO;
import io.dataease.api.dataset.union.model.SQLObj;
import io.dataease.extensions.view.model.SQLObj;
import io.dataease.chart.dao.auto.entity.CoreChartView;
import io.dataease.chart.dao.auto.mapper.CoreChartViewMapper;
import io.dataease.chart.dao.ext.mapper.ExtChartViewMapper;
@ -14,7 +15,6 @@ import io.dataease.dataset.dao.auto.entity.CoreDatasetTableField;
import io.dataease.dataset.dao.auto.mapper.CoreDatasetTableFieldMapper;
import io.dataease.dataset.manage.PermissionManage;
import io.dataease.dataset.utils.TableUtils;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.engine.constant.ExtFieldConstant;
import io.dataease.engine.func.FunctionConstant;
import io.dataease.engine.utils.Utils;

View File

@ -2,10 +2,10 @@ package io.dataease.chart.manage;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.fasterxml.jackson.core.type.TypeReference;
import io.dataease.api.chart.dto.ChartCustomFilterItemDTO;
import io.dataease.api.chart.dto.ChartFieldCustomFilterDTO;
import io.dataease.api.chart.filter.FilterTreeItem;
import io.dataease.api.chart.filter.FilterTreeObj;
import io.dataease.extensions.view.dto.ChartCustomFilterItemDTO;
import io.dataease.extensions.view.dto.ChartFieldCustomFilterDTO;
import io.dataease.extensions.view.filter.FilterTreeItem;
import io.dataease.extensions.view.filter.FilterTreeObj;
import io.dataease.chart.dao.auto.entity.CoreChartView;
import io.dataease.chart.dao.auto.mapper.CoreChartViewMapper;
import io.dataease.utils.JsonUtil;

View File

@ -1,7 +1,7 @@
package io.dataease.chart.server;
import io.dataease.api.chart.ChartDataApi;
import io.dataease.api.chart.dto.ChartViewDTO;
import io.dataease.extensions.view.dto.ChartViewDTO;
import io.dataease.api.chart.dto.ViewDetailField;
import io.dataease.api.chart.request.ChartExcelRequest;
import io.dataease.api.chart.request.ChartExcelRequestInner;

View File

@ -1,8 +1,8 @@
package io.dataease.chart.server;
import io.dataease.api.chart.ChartViewApi;
import io.dataease.api.chart.dto.ChartViewDTO;
import io.dataease.api.chart.dto.ChartViewFieldDTO;
import io.dataease.extensions.view.dto.ChartViewDTO;
import io.dataease.extensions.view.dto.ChartViewFieldDTO;
import io.dataease.api.chart.vo.ViewSelectorVO;
import io.dataease.chart.manage.ChartViewManege;
import io.dataease.exception.DEException;

View File

@ -1,6 +1,9 @@
package io.dataease.chart.utils;
import io.dataease.api.chart.dto.*;
import io.dataease.extensions.view.dto.ChartDimensionDTO;
import io.dataease.extensions.view.dto.ChartViewDTO;
import io.dataease.extensions.view.dto.ChartViewFieldDTO;
import io.dataease.i18n.Lang;
import io.dataease.i18n.Translator;
import io.dataease.utils.IDUtils;

View File

@ -1,7 +1,7 @@
package io.dataease.commons.utils;
import com.fasterxml.jackson.core.type.TypeReference;
import io.dataease.api.dataset.dto.SqlVariableDetails;
import io.dataease.extensions.view.dto.SqlVariableDetails;
import io.dataease.api.ds.vo.DatasourceConfiguration;
import io.dataease.dataset.dto.DatasourceSchemaDTO;
import io.dataease.exception.DEException;

View File

@ -1,13 +1,13 @@
package io.dataease.dataset.manage;
import io.dataease.api.chart.dto.ChartExtFilterDTO;
import io.dataease.extensions.view.dto.ChartExtFilterDTO;
import io.dataease.api.chart.dto.ColumnPermissionItem;
import io.dataease.api.chart.dto.DeSortField;
import io.dataease.api.chart.request.ChartExtRequest;
import io.dataease.extensions.view.dto.ChartExtRequest;
import io.dataease.api.dataset.dto.*;
import io.dataease.api.dataset.union.DatasetGroupInfoDTO;
import io.dataease.api.dataset.union.DatasetTableInfoDTO;
import io.dataease.api.dataset.union.model.SQLMeta;
import io.dataease.extensions.view.model.SQLMeta;
import io.dataease.api.ds.vo.TableField;
import io.dataease.api.permissions.dataset.dto.DataSetRowPermissionsTreeDTO;
import io.dataease.auth.bo.TokenUserBO;
@ -25,7 +25,7 @@ import io.dataease.datasource.manage.EngineManage;
import io.dataease.datasource.provider.CalciteProvider;
import io.dataease.datasource.request.DatasourceRequest;
import io.dataease.datasource.utils.DatasourceUtils;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import io.dataease.engine.constant.ExtFieldConstant;
import io.dataease.engine.constant.SQLConstants;
import io.dataease.engine.constant.SqlPlaceholderConstants;
@ -34,6 +34,7 @@ import io.dataease.engine.trans.*;
import io.dataease.engine.utils.SQLUtils;
import io.dataease.engine.utils.Utils;
import io.dataease.exception.DEException;
import io.dataease.extensions.view.dto.SqlVariableDetails;
import io.dataease.i18n.Translator;
import io.dataease.utils.AuthUtils;
import io.dataease.utils.BeanUtils;

View File

@ -3,7 +3,7 @@ package io.dataease.dataset.manage;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.fasterxml.jackson.core.type.TypeReference;
import io.dataease.api.dataset.dto.DatasetTableDTO;
import io.dataease.api.dataset.dto.SqlVariableDetails;
import io.dataease.extensions.view.dto.SqlVariableDetails;
import io.dataease.api.dataset.union.DatasetGroupInfoDTO;
import io.dataease.api.dataset.union.UnionDTO;
import io.dataease.api.dataset.vo.DataSetBarVO;
@ -20,7 +20,7 @@ import io.dataease.dataset.utils.FieldUtils;
import io.dataease.dataset.utils.TableUtils;
import io.dataease.datasource.dao.auto.entity.CoreDatasource;
import io.dataease.datasource.dao.auto.mapper.CoreDatasourceMapper;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import io.dataease.engine.constant.ExtFieldConstant;
import io.dataease.exception.DEException;
import io.dataease.i18n.Translator;

View File

@ -1,11 +1,11 @@
package io.dataease.dataset.manage;
import io.dataease.api.chart.dto.ChartExtFilterDTO;
import io.dataease.api.chart.request.ChartExtRequest;
import io.dataease.extensions.view.dto.ChartExtFilterDTO;
import io.dataease.extensions.view.dto.ChartExtRequest;
import io.dataease.api.dataset.dto.DatasetTableDTO;
import io.dataease.api.dataset.dto.SqlVariableDetails;
import io.dataease.extensions.view.dto.SqlVariableDetails;
import io.dataease.api.dataset.union.*;
import io.dataease.api.dataset.union.model.SQLObj;
import io.dataease.extensions.view.model.SQLObj;
import io.dataease.api.ds.vo.DatasourceConfiguration;
import io.dataease.api.permissions.auth.dto.BusiPerCheckDTO;
import io.dataease.commons.utils.SqlparserUtils;
@ -18,7 +18,7 @@ import io.dataease.dataset.utils.TableUtils;
import io.dataease.datasource.dao.auto.entity.CoreDatasource;
import io.dataease.datasource.dao.auto.mapper.CoreDatasourceMapper;
import io.dataease.datasource.manage.EngineManage;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import io.dataease.engine.constant.ExtFieldConstant;
import io.dataease.engine.constant.SQLConstants;
import io.dataease.exception.DEException;

View File

@ -2,13 +2,13 @@ package io.dataease.dataset.manage;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.dataease.api.chart.dto.ColumnPermissionItem;
import io.dataease.api.dataset.union.model.SQLObj;
import io.dataease.extensions.view.model.SQLObj;
import io.dataease.dataset.dao.auto.entity.CoreDatasetTableField;
import io.dataease.dataset.dao.auto.mapper.CoreDatasetGroupMapper;
import io.dataease.dataset.dao.auto.mapper.CoreDatasetTableFieldMapper;
import io.dataease.dataset.utils.TableUtils;
import io.dataease.datasource.provider.CalciteProvider;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import io.dataease.engine.constant.ExtFieldConstant;
import io.dataease.engine.func.FunctionConstant;
import io.dataease.engine.utils.Utils;

View File

@ -11,7 +11,9 @@ import io.dataease.api.permissions.user.vo.UserFormVO;
import io.dataease.api.permissions.variable.dto.SysVariableValueDto;
import io.dataease.api.permissions.variable.dto.SysVariableValueItem;
import io.dataease.constant.ColumnPermissionConstants;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.DatasetRowPermissionsTreeItem;
import io.dataease.extensions.view.dto.DatasetRowPermissionsTreeObj;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import io.dataease.utils.AuthUtils;
import io.dataease.utils.JsonUtil;
import jakarta.annotation.Resource;

View File

@ -6,7 +6,7 @@ import io.dataease.api.dataset.dto.EnumValueRequest;
import io.dataease.api.dataset.dto.PreviewSqlDTO;
import io.dataease.api.dataset.union.DatasetGroupInfoDTO;
import io.dataease.dataset.manage.DatasetDataManage;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import io.dataease.utils.LogUtil;
import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.RequestMapping;

View File

@ -6,7 +6,7 @@ import io.dataease.api.dataset.engine.SQLFunctionDTO;
import io.dataease.api.dataset.engine.SQLFunctionsEnum;
import io.dataease.dataset.manage.DatasetDataManage;
import io.dataease.dataset.manage.DatasetTableFieldManage;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;

View File

@ -3,7 +3,7 @@ package io.dataease.dataset.server;
import io.dataease.api.dataset.DatasetTreeApi;
import io.dataease.api.dataset.dto.DatasetNodeDTO;
import io.dataease.api.dataset.dto.DatasetTableDTO;
import io.dataease.api.dataset.dto.SqlVariableDetails;
import io.dataease.extensions.view.dto.SqlVariableDetails;
import io.dataease.api.dataset.union.DatasetGroupInfoDTO;
import io.dataease.api.dataset.vo.DataSetBarVO;
import io.dataease.constant.LogOT;

View File

@ -1,7 +1,7 @@
package io.dataease.dataset.utils;
import com.google.common.collect.ImmutableList;
import io.dataease.api.dataset.union.model.SQLMeta;
import io.dataease.extensions.view.model.SQLMeta;
import io.dataease.api.ds.vo.DatasourceConfiguration;
import io.dataease.dataset.dto.DatasourceSchemaDTO;
import io.dataease.engine.constant.SqlPlaceholderConstants;

View File

@ -1,6 +1,6 @@
package io.dataease.dataset.utils;
import io.dataease.api.dataset.union.model.SQLObj;
import io.dataease.extensions.view.model.SQLObj;
import io.dataease.api.ds.vo.DatasourceConfiguration;
import io.dataease.dataset.dto.DatasourceSchemaDTO;
import io.dataease.utils.Md5Utils;

View File

@ -3,7 +3,6 @@ package io.dataease.datasource.dao.ext.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import io.dataease.datasource.dao.ext.po.Ctimestamp;
import io.dataease.datasource.dao.ext.po.DataSourceNodePO;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import org.apache.ibatis.annotations.*;
@Mapper

View File

@ -1,8 +1,8 @@
package io.dataease.engine.sql;
import io.dataease.api.chart.dto.ChartViewDTO;
import io.dataease.api.dataset.union.model.SQLMeta;
import io.dataease.api.dataset.union.model.SQLObj;
import io.dataease.extensions.view.dto.ChartViewDTO;
import io.dataease.extensions.view.model.SQLMeta;
import io.dataease.extensions.view.model.SQLObj;
import io.dataease.engine.constant.SQLConstants;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;

View File

@ -1,11 +1,11 @@
package io.dataease.engine.trans;
import io.dataease.api.chart.filter.FilterTreeItem;
import io.dataease.api.chart.filter.FilterTreeObj;
import io.dataease.api.dataset.union.model.SQLMeta;
import io.dataease.api.dataset.union.model.SQLObj;
import io.dataease.extensions.view.filter.FilterTreeItem;
import io.dataease.extensions.view.filter.FilterTreeObj;
import io.dataease.extensions.view.model.SQLMeta;
import io.dataease.extensions.view.model.SQLObj;
import io.dataease.dataset.dto.DatasourceSchemaDTO;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import io.dataease.engine.constant.SQLConstants;
import io.dataease.engine.constant.SqlPlaceholderConstants;
import io.dataease.engine.utils.Utils;

View File

@ -1,10 +1,10 @@
package io.dataease.engine.trans;
import io.dataease.api.chart.dto.ChartViewFieldDTO;
import io.dataease.api.dataset.union.model.SQLMeta;
import io.dataease.api.dataset.union.model.SQLObj;
import io.dataease.extensions.view.dto.ChartViewFieldDTO;
import io.dataease.extensions.view.model.SQLMeta;
import io.dataease.extensions.view.model.SQLObj;
import io.dataease.dataset.dto.DatasourceSchemaDTO;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import io.dataease.engine.constant.DeTypeConstants;
import io.dataease.engine.constant.ExtFieldConstant;
import io.dataease.engine.constant.SQLConstants;
@ -21,7 +21,8 @@ import java.util.*;
*/
public class Dimension2SQLObj {
public static void dimension2sqlObj(SQLMeta meta, List<ChartViewFieldDTO> fields, List<DatasetTableFieldDTO> originFields, boolean isCross, Map<Long, DatasourceSchemaDTO> dsMap) {
public static void dimension2sqlObj(SQLMeta meta, List<ChartViewFieldDTO> fields, List<DatasetTableFieldDTO> originFields,
boolean isCross, Map<Long, DatasourceSchemaDTO> dsMap) {
SQLObj tableObj = meta.getTable();
if (ObjectUtils.isEmpty(tableObj)) {
return;

View File

@ -1,10 +1,10 @@
package io.dataease.engine.trans;
import io.dataease.api.chart.dto.ChartExtFilterDTO;
import io.dataease.api.dataset.union.model.SQLMeta;
import io.dataease.api.dataset.union.model.SQLObj;
import io.dataease.extensions.view.dto.ChartExtFilterDTO;
import io.dataease.extensions.view.model.SQLMeta;
import io.dataease.extensions.view.model.SQLObj;
import io.dataease.dataset.dto.DatasourceSchemaDTO;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import io.dataease.engine.constant.SQLConstants;
import io.dataease.engine.constant.SqlPlaceholderConstants;
import io.dataease.engine.utils.Utils;

View File

@ -1,9 +1,9 @@
package io.dataease.engine.trans;
import io.dataease.api.dataset.union.model.SQLMeta;
import io.dataease.api.dataset.union.model.SQLObj;
import io.dataease.extensions.view.model.SQLMeta;
import io.dataease.extensions.view.model.SQLObj;
import io.dataease.dataset.dto.DatasourceSchemaDTO;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import io.dataease.engine.constant.DeTypeConstants;
import io.dataease.engine.constant.ExtFieldConstant;
import io.dataease.engine.constant.SQLConstants;

View File

@ -1,10 +1,10 @@
package io.dataease.engine.trans;
import io.dataease.api.chart.dto.DeSortField;
import io.dataease.api.dataset.union.model.SQLMeta;
import io.dataease.api.dataset.union.model.SQLObj;
import io.dataease.extensions.view.model.SQLMeta;
import io.dataease.extensions.view.model.SQLObj;
import io.dataease.dataset.dto.DatasourceSchemaDTO;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import io.dataease.engine.constant.DeTypeConstants;
import io.dataease.engine.constant.ExtFieldConstant;
import io.dataease.engine.constant.SQLConstants;

View File

@ -1,10 +1,10 @@
package io.dataease.engine.trans;
import io.dataease.api.chart.dto.ChartViewFieldDTO;
import io.dataease.api.dataset.union.model.SQLMeta;
import io.dataease.api.dataset.union.model.SQLObj;
import io.dataease.extensions.view.dto.ChartViewFieldDTO;
import io.dataease.extensions.view.model.SQLMeta;
import io.dataease.extensions.view.model.SQLObj;
import io.dataease.dataset.dto.DatasourceSchemaDTO;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import io.dataease.engine.constant.DeTypeConstants;
import io.dataease.engine.constant.ExtFieldConstant;
import io.dataease.engine.constant.SQLConstants;

View File

@ -1,7 +1,7 @@
package io.dataease.engine.trans;
import io.dataease.api.dataset.union.model.SQLMeta;
import io.dataease.api.dataset.union.model.SQLObj;
import io.dataease.extensions.view.model.SQLMeta;
import io.dataease.extensions.view.model.SQLObj;
import io.dataease.engine.constant.SQLConstants;
import io.dataease.engine.constant.SqlPlaceholderConstants;

View File

@ -1,12 +1,12 @@
package io.dataease.engine.trans;
import io.dataease.api.dataset.union.model.SQLMeta;
import io.dataease.api.dataset.union.model.SQLObj;
import io.dataease.extensions.view.model.SQLMeta;
import io.dataease.extensions.view.model.SQLObj;
import io.dataease.api.permissions.dataset.dto.DataSetRowPermissionsTreeDTO;
import io.dataease.api.permissions.dataset.dto.DatasetRowPermissionsTreeItem;
import io.dataease.api.permissions.dataset.dto.DatasetRowPermissionsTreeObj;
import io.dataease.extensions.view.dto.DatasetRowPermissionsTreeItem;
import io.dataease.extensions.view.dto.DatasetRowPermissionsTreeObj;
import io.dataease.dataset.dto.DatasourceSchemaDTO;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import io.dataease.engine.constant.ExtFieldConstant;
import io.dataease.engine.constant.SQLConstants;
import io.dataease.engine.constant.SqlPlaceholderConstants;

View File

@ -1,9 +1,9 @@
package io.dataease.engine.utils;
import io.dataease.api.dataset.union.model.SQLObj;
import io.dataease.extensions.view.model.SQLObj;
import io.dataease.api.ds.vo.DatasourceConfiguration;
import io.dataease.dataset.dto.DatasourceSchemaDTO;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import io.dataease.engine.constant.ExtFieldConstant;
import io.dataease.engine.constant.SQLConstants;
import io.dataease.engine.constant.SqlPlaceholderConstants;
@ -40,6 +40,22 @@ public class Utils {
return null;
}
public static String calcSimpleFieldRegex(String originField, SQLObj tableObj, List<DatasetTableFieldDTO> originFields,
boolean isCross, Map<Long, String> dsTypeMap) {
try {
int i = 0;
DatasourceConfiguration.DatasourceType datasourceType = null;
if (dsTypeMap != null && dsTypeMap.entrySet().iterator().hasNext()) {
Map.Entry<Long, String> next = dsTypeMap.entrySet().iterator().next();
datasourceType = DatasourceConfiguration.DatasourceType.valueOf(next.getValue());
}
return buildCalcField(originField, tableObj, originFields, i, isCross, datasourceType);
} catch (Exception e) {
DEException.throwException(Translator.get("i18n_field_circular_ref"));
}
return null;
}
public static String buildCalcField(String originField, SQLObj tableObj, List<DatasetTableFieldDTO> originFields, int i, boolean isCross, DatasourceConfiguration.DatasourceType datasourceType) throws Exception {
try {
i++;

View File

@ -2,7 +2,7 @@ package io.dataease.visualization.dao.ext.mapper;
import io.dataease.api.visualization.dto.LinkageInfoDTO;
import io.dataease.api.visualization.dto.VisualizationLinkageDTO;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import io.dataease.visualization.dao.auto.entity.VisualizationLinkage;
import io.dataease.visualization.dao.auto.entity.VisualizationLinkageField;
import org.apache.ibatis.annotations.Mapper;

View File

@ -1,10 +1,10 @@
package io.dataease.visualization.manage;
import com.fasterxml.jackson.core.type.TypeReference;
import io.dataease.api.chart.dto.ChartExtFilterDTO;
import io.dataease.api.chart.dto.ChartViewDTO;
import io.dataease.api.chart.dto.ChartViewFieldDTO;
import io.dataease.api.chart.request.ChartExtRequest;
import io.dataease.extensions.view.dto.ChartExtFilterDTO;
import io.dataease.extensions.view.dto.ChartViewDTO;
import io.dataease.extensions.view.dto.ChartViewFieldDTO;
import io.dataease.extensions.view.dto.ChartExtRequest;
import io.dataease.api.visualization.vo.DataVisualizationVO;
import io.dataease.chart.manage.ChartDataManage;
import io.dataease.chart.manage.ChartViewManege;

View File

@ -1,7 +1,7 @@
package io.dataease.visualization.manage;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.dataease.api.chart.dto.ChartViewDTO;
import io.dataease.extensions.view.dto.ChartViewDTO;
import io.dataease.exception.DEException;
import io.dataease.template.dao.auto.entity.VisualizationTemplateExtendData;
import io.dataease.template.dao.auto.mapper.VisualizationTemplateExtendDataMapper;
@ -11,8 +11,6 @@ import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
/**

View File

@ -2,7 +2,7 @@ package io.dataease.visualization.server;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.dataease.api.chart.dto.ChartViewDTO;
import io.dataease.extensions.view.dto.ChartViewDTO;
import io.dataease.api.template.dto.TemplateManageFileDTO;
import io.dataease.api.template.dto.VisualizationTemplateExtendDataDTO;
import io.dataease.api.visualization.DataVisualizationApi;

View File

@ -1,7 +1,5 @@
package io.dataease.visualization.server;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import io.dataease.api.permissions.dataset.dto.DataSetRowPermissionsTreeDTO;
import io.dataease.api.visualization.VisualizationLinkJumpApi;
import io.dataease.api.visualization.dto.VisualizationComponentDTO;
import io.dataease.api.visualization.dto.VisualizationLinkJumpDTO;
@ -11,8 +9,7 @@ import io.dataease.api.visualization.response.VisualizationLinkJumpBaseResponse;
import io.dataease.api.visualization.vo.VisualizationViewTableVO;
import io.dataease.chart.dao.auto.entity.CoreChartView;
import io.dataease.chart.dao.auto.mapper.CoreChartViewMapper;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.license.config.XpackInteract;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import io.dataease.utils.AuthUtils;
import io.dataease.utils.BeanUtils;
import io.dataease.utils.IDUtils;

View File

@ -1,6 +1,6 @@
package io.dataease.visualization.template;
import io.dataease.api.chart.dto.ChartExtFilterDTO;
import io.dataease.extensions.view.dto.ChartExtFilterDTO;
import org.apache.commons.lang3.StringUtils;
import java.util.ArrayList;

View File

@ -379,7 +379,7 @@
<result column="table_id" property="tableId"/>
<result column="type" property="type"/>
<result column="render" property="render"/>
<collection property="tableFields" ofType="io.dataease.dto.dataset.DatasetTableFieldDTO">
<collection property="tableFields" ofType="io.dataease.extensions.view.dto.DatasetTableFieldDTO">
<result column="field_id" jdbcType="VARCHAR" property="id"/>
<result column="origin_name" jdbcType="VARCHAR" property="originName"/>
<result column="field_name" jdbcType="VARCHAR" property="name"/>

View File

@ -53,7 +53,7 @@
<result column="type" jdbcType="VARCHAR" property="type"/>
<result column="dv_id" jdbcType="BIGINT" property="dvId"/>
<collection property="tableFields"
ofType="io.dataease.dto.dataset.DatasetTableFieldDTO">
ofType="io.dataease.extensions.view.dto.DatasetTableFieldDTO">
<result column="field_id" jdbcType="BIGINT" property="id"/>
<result column="origin_name" jdbcType="VARCHAR" property="originName"/>
<result column="field_name" jdbcType="VARCHAR" property="name"/>

View File

@ -2,7 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="io.dataease.visualization.dao.ext.mapper.ExtVisualizationLinkageMapper">
<resultMap id="TableFieldMap" type="io.dataease.dto.dataset.DatasetTableFieldDTO">
<resultMap id="TableFieldMap" type="io.dataease.extensions.view.dto.DatasetTableFieldDTO">
<result column="id" jdbcType="BIGINT" property="id"/>
<result column="table_id" jdbcType="BIGINT" property="datasetTableId"/>
<result column="origin_name" jdbcType="VARCHAR" property="originName"/>
@ -17,7 +17,7 @@
<result column="targetViewName" jdbcType="VARCHAR" property="targetViewName"/>
<result column="sourceViewId" jdbcType="BIGINT" property="sourceViewId"/>
<result column="linkageActive" property="linkageActive"/>
<collection property="targetViewFields" ofType="io.dataease.dto.dataset.DatasetTableFieldDTO" column="table_id"
<collection property="targetViewFields" ofType="io.dataease.extensions.view.dto.DatasetTableFieldDTO" column="table_id"
select="queryTableField">
</collection>
<collection property="linkageFields" ofType="io.dataease.api.visualization.vo.VisualizationLinkageFieldVO">

@ -1 +1 @@
Subproject commit 4e4115d9803717a06f114ef047183ab447f68470
Subproject commit c36d845145b1dd398da4451e03e28329bd3d8a82

View File

@ -1,8 +1,8 @@
package io.dataease.api.chart;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import io.dataease.api.chart.dto.ChartViewDTO;
import io.dataease.api.chart.request.ChartExcelRequest;
import io.dataease.extensions.view.dto.ChartViewDTO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse;
@ -10,7 +10,6 @@ import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.io.IOException;
import java.util.List;
/**

View File

@ -1,9 +1,9 @@
package io.dataease.api.chart;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import io.dataease.api.chart.dto.ChartViewDTO;
import io.dataease.api.chart.dto.ChartViewFieldDTO;
import io.dataease.api.chart.vo.ViewSelectorVO;
import io.dataease.extensions.view.dto.ChartViewDTO;
import io.dataease.extensions.view.dto.ChartViewFieldDTO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.GetMapping;

View File

@ -1,5 +1,6 @@
package io.dataease.api.chart.dto;
import io.dataease.extensions.view.dto.ChartDimensionDTO;
import lombok.Data;
import java.math.BigDecimal;

View File

@ -1,5 +1,6 @@
package io.dataease.api.chart.dto;
import io.dataease.extensions.view.dto.ChartDimensionDTO;
import lombok.Data;
import java.math.BigDecimal;

View File

@ -1,6 +1,6 @@
package io.dataease.api.chart.dto;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import lombok.Data;
@Data

View File

@ -1,5 +1,6 @@
package io.dataease.api.chart.dto;
import io.dataease.extensions.view.dto.ChartDimensionDTO;
import lombok.Data;
import java.util.List;

View File

@ -1,6 +1,6 @@
package io.dataease.api.chart.request;
import io.dataease.api.chart.dto.ChartViewDTO;
import io.dataease.extensions.view.dto.ChartViewDTO;
import lombok.Data;
import java.io.Serial;

View File

@ -5,7 +5,7 @@ import io.dataease.api.dataset.dto.DatasetTableDTO;
import io.dataease.api.dataset.dto.EnumValueRequest;
import io.dataease.api.dataset.dto.PreviewSqlDTO;
import io.dataease.api.dataset.union.DatasetGroupInfoDTO;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.PostMapping;

View File

@ -3,7 +3,7 @@ package io.dataease.api.dataset;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import io.dataease.api.dataset.dto.MultFieldValuesRequest;
import io.dataease.api.dataset.engine.SQLFunctionDTO;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.GetMapping;

View File

@ -3,11 +3,11 @@ package io.dataease.api.dataset;
import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import io.dataease.api.dataset.dto.DatasetNodeDTO;
import io.dataease.api.dataset.dto.DatasetTableDTO;
import io.dataease.api.dataset.dto.SqlVariableDetails;
import io.dataease.api.dataset.union.DatasetGroupInfoDTO;
import io.dataease.api.dataset.vo.DataSetBarVO;
import io.dataease.auth.DeApiPath;
import io.dataease.auth.DePermit;
import io.dataease.extensions.view.dto.SqlVariableDetails;
import io.dataease.model.BusiNodeRequest;
import io.dataease.model.BusiNodeVO;
import io.swagger.v3.oas.annotations.Operation;

View File

@ -2,7 +2,7 @@ package io.dataease.api.dataset.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import lombok.Data;
import java.io.Serializable;

View File

@ -1,6 +1,6 @@
package io.dataease.api.dataset.dto;
import io.dataease.api.chart.dto.ChartExtFilterDTO;
import io.dataease.extensions.view.dto.ChartExtFilterDTO;
import lombok.Data;
import java.util.List;

View File

@ -2,7 +2,7 @@ package io.dataease.api.dataset.union;
import io.dataease.api.chart.dto.DeSortField;
import io.dataease.api.dataset.dto.DatasetNodeDTO;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import lombok.Data;
import java.util.List;

View File

@ -1,7 +1,7 @@
package io.dataease.api.dataset.union;
import io.dataease.api.dataset.dto.DatasetTableDTO;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import lombok.Data;
import java.io.Serializable;

View File

@ -1,6 +1,6 @@
package io.dataease.api.dataset.union;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import lombok.Data;
import java.io.Serializable;

View File

@ -1,7 +1,7 @@
package io.dataease.api.dataset.union;
import io.dataease.api.dataset.dto.DatasetTableDTO;
import io.dataease.api.dataset.union.model.SQLObj;
import io.dataease.extensions.view.model.SQLObj;
import lombok.Data;
import java.io.Serializable;

View File

@ -5,8 +5,7 @@ import io.dataease.api.visualization.dto.VisualizationComponentDTO;
import io.dataease.api.visualization.dto.VisualizationLinkJumpDTO;
import io.dataease.api.visualization.request.VisualizationLinkJumpBaseRequest;
import io.dataease.api.visualization.response.VisualizationLinkJumpBaseResponse;
import io.dataease.api.visualization.vo.VisualizationViewTableVO;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.GetMapping;

View File

@ -4,7 +4,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.dataease.api.visualization.vo.VisualizationLinkageFieldVO;
import io.dataease.api.visualization.vo.VisualizationLinkageVO;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import lombok.Data;
import java.util.ArrayList;

View File

@ -1,7 +1,8 @@
package io.dataease.api.visualization.dto;
import io.dataease.api.chart.dto.ChartViewDTO;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.ChartViewDTO;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import lombok.Data;
import java.util.List;

View File

@ -2,14 +2,13 @@ package io.dataease.api.visualization.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.dataease.api.chart.dto.ChartViewDTO;
import io.dataease.api.template.dto.VisualizationTemplateExtendDataDTO;
import io.dataease.extensions.view.dto.ChartViewDTO;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Data
@ -159,7 +158,7 @@ public class DataVisualizationVO implements Serializable {
private VisualizationWatermarkVO watermarkInfo;
public DataVisualizationVO(Long id, String name, String type,Integer version, String canvasStyleData, String componentData, Map<Long, ChartViewDTO> canvasViewInfo, Map<Long, VisualizationTemplateExtendDataDTO> extendDataInfo) {
public DataVisualizationVO(Long id, String name, String type, Integer version, String canvasStyleData, String componentData, Map<Long, ChartViewDTO> canvasViewInfo, Map<Long, VisualizationTemplateExtendDataDTO> extendDataInfo) {
this.id = id;
this.name = name;
this.type = type;

View File

@ -2,7 +2,7 @@ package io.dataease.api.visualization.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import lombok.Data;
import java.util.List;

View File

@ -4,6 +4,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.dataease.api.permissions.role.vo.RoleVO;
import io.dataease.api.permissions.user.vo.UserFormVO;
import io.dataease.extensions.view.dto.DatasetRowPermissionsTreeObj;
import lombok.Getter;
import lombok.Setter;

View File

@ -124,6 +124,12 @@
</exclusions>
</dependency>
<dependency>
<groupId>io.dataease</groupId>
<artifactId>extensions-view</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>io.dataease</groupId>
<artifactId>extensions</artifactId>
<version>${dataease.version}</version>
</parent>
<artifactId>extensions-view</artifactId>
<properties>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>

View File

@ -1,4 +1,4 @@
package io.dataease.api.chart.dto;
package io.dataease.extensions.view.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

View File

@ -1,4 +1,4 @@
package io.dataease.api.chart.dto;
package io.dataease.extensions.view.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

View File

@ -1,6 +1,5 @@
package io.dataease.api.chart.request;
package io.dataease.extensions.view.dto;
import io.dataease.api.chart.dto.ChartDimensionDTO;
import lombok.Data;
import java.util.List;

View File

@ -1,7 +1,6 @@
package io.dataease.api.chart.dto;
package io.dataease.extensions.view.dto;
import io.dataease.api.dataset.dto.SqlVariableDetails;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import lombok.Data;
import java.util.List;

View File

@ -1,7 +1,6 @@
package io.dataease.api.chart.request;
package io.dataease.extensions.view.dto;
import io.dataease.api.chart.dto.ChartExtFilterDTO;
import io.dataease.api.chart.dto.PermissionProxy;
import lombok.Data;
import java.util.List;
@ -29,7 +28,7 @@ public class ChartExtRequest {
private Long user = null;
private PermissionProxy proxy;
// private PermissionProxy proxy;
private Long goPage;

View File

@ -1,4 +1,4 @@
package io.dataease.api.chart.dto;
package io.dataease.extensions.view.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

View File

@ -1,6 +1,5 @@
package io.dataease.api.chart.dto;
package io.dataease.extensions.view.dto;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import lombok.Data;
import java.util.List;

View File

@ -1,9 +1,10 @@
package io.dataease.api.chart.dto;
package io.dataease.extensions.view.dto;
import lombok.Data;
import java.util.List;
@Data
public class ChartSeniorAssistCfgDTO {
private boolean enable;

View File

@ -1,4 +1,4 @@
package io.dataease.api.chart.dto;
package io.dataease.extensions.view.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

View File

@ -1,9 +1,9 @@
package io.dataease.api.chart.dto;
package io.dataease.extensions.view.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.dataease.api.chart.filter.FilterTreeObj;
import io.dataease.extensions.view.filter.FilterTreeObj;
import lombok.Data;
import java.io.Serializable;

View File

@ -1,8 +1,7 @@
package io.dataease.api.chart.dto;
package io.dataease.extensions.view.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.dataease.api.chart.request.ChartExtRequest;
import lombok.Data;
import java.util.List;

View File

@ -1,6 +1,5 @@
package io.dataease.api.chart.dto;
package io.dataease.extensions.view.dto;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import lombok.Data;
import java.io.Serializable;

View File

@ -1,4 +1,4 @@
package io.dataease.api.chart.dto;
package io.dataease.extensions.view.dto;
import lombok.Data;

View File

@ -1,8 +1,6 @@
package io.dataease.api.chart.dto;
package io.dataease.extensions.view.dto;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;

View File

@ -1,9 +1,8 @@
package io.dataease.api.permissions.dataset.dto;
package io.dataease.extensions.view.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import lombok.Data;
import java.io.Serializable;

View File

@ -1,4 +1,4 @@
package io.dataease.dto.dataset;
package io.dataease.extensions.view.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

View File

@ -1,4 +1,4 @@
package io.dataease.api.chart.dto;
package io.dataease.extensions.view.dto;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package io.dataease.api.dataset.dto;
package io.dataease.extensions.view.dto;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

View File

@ -0,0 +1,22 @@
package io.dataease.extensions.view.factory;
import io.dataease.extensions.view.template.PluginsChartTemplate;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
public class PluginsChartFactory {
private static final Map<String, PluginsChartTemplate> templateMap = new ConcurrentHashMap<>();
public static PluginsChartTemplate getInstance(String render, String type) {
String key = render + "_" + type;
return templateMap.get(key);
}
public static void loadTemplate(String render, String type, PluginsChartTemplate template) {
String key = render + "_" + type;
if (templateMap.containsKey(key)) return;
templateMap.put(key, template);
}
}

View File

@ -1,8 +1,8 @@
package io.dataease.api.chart.filter;
package io.dataease.extensions.view.filter;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.dataease.dto.dataset.DatasetTableFieldDTO;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import lombok.Data;
import java.io.Serializable;

View File

@ -1,4 +1,4 @@
package io.dataease.api.chart.filter;
package io.dataease.extensions.view.filter;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package io.dataease.api.dataset.union.model;
package io.dataease.extensions.view.model;
import lombok.Data;

View File

@ -1,4 +1,4 @@
package io.dataease.api.dataset.union.model;
package io.dataease.extensions.view.model;
import lombok.AllArgsConstructor;
import lombok.Builder;

View File

@ -0,0 +1,40 @@
package io.dataease.extensions.view.template;
import io.dataease.extensions.view.dto.ChartViewDTO;
import io.dataease.extensions.view.dto.ChartViewFieldDTO;
import io.dataease.extensions.view.dto.DatasetTableFieldDTO;
import io.dataease.extensions.view.model.SQLMeta;
import java.util.List;
import java.util.Map;
public abstract class PluginsChartTemplate {
public abstract Map<String, List<ChartViewFieldDTO>> formatChartAxis(ChartViewDTO view);
/*public Map<String, List<ChartViewFieldDTO>> formatChartAxis(ChartViewDTO view) {
Map<String, List<ChartViewFieldDTO>> result = new HashMap<>();
List<ChartViewFieldDTO> xAxisBase = new ArrayList<>(view.getXAxis());
result.put("xAxisBase", xAxisBase);
List<ChartViewFieldDTO> xAxis = new ArrayList<>(view.getXAxis());
result.put("xAxis", xAxis);
List<ChartViewFieldDTO> xAxisExt = new ArrayList<>(view.getXAxisExt());
result.put("xAxisExt", xAxisExt);
List<ChartViewFieldDTO> yAxis = new ArrayList<>(view.getYAxis());
result.put("yAxis", yAxis);
List<ChartViewFieldDTO> extStack = new ArrayList<>(view.getExtStack());
result.put("extStack", extStack);
List<ChartViewFieldDTO> extBubble = new ArrayList<>(view.getExtBubble());
result.put("extBubble", extBubble);
List<ChartViewFieldDTO> drill = new ArrayList<>(view.getDrillFields());
result.put("drill", drill);
List<ChartViewFieldDTO> viewFields = new ArrayList<>(view.getViewFields());
result.put("viewFields", viewFields);
return result;
}*/
public abstract ChartViewDTO calcResult(SQLMeta sqlMeta, List<ChartViewFieldDTO> xaxis, List<ChartViewFieldDTO> yaxis,
List<DatasetTableFieldDTO> allFields, boolean crossDs, Map<Long, String> dsTypeMap);
}

32
sdk/extensions/pom.xml Normal file
View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>io.dataease</groupId>
<artifactId>sdk</artifactId>
<version>${dataease.version}</version>
</parent>
<packaging>pom</packaging>
<modules>
<module>extensions-view</module>
</modules>
<artifactId>extensions</artifactId>
<properties>
<maven.compiler.source>21</maven.compiler.source>
<maven.compiler.target>21</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
</dependencies>
</project>

View File

@ -16,6 +16,7 @@
<module>common</module>
<module>api</module>
<module>distributed</module>
<module>extensions</module>
</modules>
</project>