From d146a851ab6f046ef9e0c70b2d178a5434d3cbda Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Tue, 23 Jul 2024 17:55:08 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E5=BA=94=E7=94=A8=E5=AF=BC=E5=85=A5=E8=BF=87=E6=BB=A4?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E8=87=AA=E5=8A=A8=E5=8C=B9=E9=85=8D=E5=9C=BA?= =?UTF-8?q?=E6=99=AF=E5=8C=B9=E9=85=8D=E7=BB=93=E6=9E=9C=E4=B8=8D=E5=AF=B9?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/DataVisualizationServer.java | 36 +++++++++++++++---- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java b/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java index a1312043f1..cbf1ac5107 100644 --- a/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java +++ b/core/core-backend/src/main/java/io/dataease/visualization/server/DataVisualizationServer.java @@ -2,7 +2,6 @@ package io.dataease.visualization.server; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.google.gson.Gson; import io.dataease.api.dataset.union.DatasetGroupInfoDTO; import io.dataease.api.visualization.request.VisualizationAppExportRequest; import io.dataease.api.visualization.vo.*; @@ -18,10 +17,6 @@ import io.dataease.datasource.dao.auto.entity.CoreDatasource; import io.dataease.datasource.dao.auto.mapper.CoreDatasourceMapper; import io.dataease.datasource.provider.ApiUtils; import io.dataease.datasource.provider.ExcelUtils; -import io.dataease.extensions.datasource.dto.DatasetTableDTO; -import io.dataease.extensions.datasource.dto.DatasetTableFieldDTO; -import io.dataease.extensions.datasource.dto.DatasourceDTO; -import io.dataease.extensions.datasource.dto.DatasourceRequest; import io.dataease.extensions.datasource.vo.DatasourceConfiguration; import io.dataease.extensions.view.dto.ChartViewDTO; import io.dataease.api.template.dto.TemplateManageFileDTO; @@ -39,7 +34,6 @@ import io.dataease.commons.constants.OptConstants; import io.dataease.constant.CommonConstants; import io.dataease.constant.LogOT; import io.dataease.exception.DEException; -import io.dataease.i18n.Translator; import io.dataease.license.config.XpackInteract; import io.dataease.log.DeLog; import io.dataease.model.BusiNodeRequest; @@ -52,7 +46,6 @@ import io.dataease.template.dao.auto.mapper.VisualizationTemplateMapper; import io.dataease.template.dao.ext.ExtVisualizationTemplateMapper; import io.dataease.template.manage.TemplateCenterManage; import io.dataease.utils.*; -import io.dataease.visualization.dao.auto.entity.CoreStore; import io.dataease.visualization.dao.auto.entity.DataVisualizationInfo; import io.dataease.visualization.dao.auto.entity.VisualizationWatermark; import io.dataease.visualization.dao.auto.mapper.DataVisualizationInfoMapper; @@ -323,6 +316,34 @@ public class DataVisualizationServer implements DataVisualizationApi { LogUtil.error(e); DEException.throwException(e); } + // 更换主数据内容 + AtomicReference componentDataStr = new AtomicReference<>(request.getComponentData()); + dsGroupIdMap.forEach((key,value) ->{ + componentDataStr.set(componentDataStr.get().replaceAll(key.toString(), value.toString())); + }); + dsTableIdMap.forEach((key,value) ->{ + componentDataStr.set(componentDataStr.get().replaceAll(key.toString(), value.toString())); + }); + + dsTableFieldsIdMap.forEach((key,value) ->{ + componentDataStr.set(componentDataStr.get().replaceAll(key.toString(), value.toString())); + }); + + datasourceIdMap.forEach((key,value) ->{ + componentDataStr.set(componentDataStr.get().replaceAll(key.toString(), value.toString())); + //表名映射更新 + Map appDsTableNamesMap = dsTableNamesMap.get(key); + Map systemDsTableNamesMap = dsTableNamesMap.get(value); + if(!CollectionUtils.isEmpty(appDsTableNamesMap) && !CollectionUtils.isEmpty(systemDsTableNamesMap) ){ + appDsTableNamesMap.forEach((keyName,valueName) ->{ + if(StringUtils.isNotEmpty(systemDsTableNamesMap.get(keyName))){ + componentDataStr.set(componentDataStr.get().replaceAll(key.toString(), value.toString())); + } + }); + } + + }); + } DataVisualizationInfo visualizationInfo = new DataVisualizationInfo(); BeanUtils.copyBean(visualizationInfo, request); @@ -587,6 +608,7 @@ public class DataVisualizationServer implements DataVisualizationApi { extendDataInfo.put(newViewId, extendDataDTO); templateData = templateData.replaceAll(originViewId, newViewId.toString()); if(StringUtils.isNotEmpty(appDataStr)){ + chartView.setTableId(chartView.getSourceTableId()); appDataStr = appDataStr.replaceAll(originViewId, newViewId.toString()); } canvasViewInfo.put(chartView.getId(), chartView);