From efaab7ff40bdd88577522fc906c9b5703f4dd2c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=98=89=E8=B1=AA?= <42510293+ziyujiahao@users.noreply.github.com> Date: Mon, 16 Mar 2026 15:07:01 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BC=98=E5=8C=96=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E6=A8=A1=E6=9D=BF=E8=81=94=E5=8A=A8=20(#18090)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../visualization/server/DataVisualizationServer.java | 8 ++++++-- .../api/visualization/vo/DataVisualizationVO.java | 4 ++-- .../api/visualization/vo/VisualizationExport2AppVO.java | 3 +++ 3 files changed, 11 insertions(+), 4 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 94d325471c..d904e5b99e 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 @@ -577,7 +577,7 @@ public class DataVisualizationServer implements DataVisualizationApi { viewInfo.setTableId(viewInfo.getSourceTableId()); } }); - + Map viewIdMap = appData.getViewIdMap(); // visualization_linkage appData.getLinkages().forEach(visualizationLinkageVO -> { Long oldId = visualizationLinkageVO.getId(); @@ -586,6 +586,7 @@ public class DataVisualizationServer implements DataVisualizationApi { BeanUtils.copyBean(visualizationLinkage, visualizationLinkageVO); visualizationLinkage.setDvId(newDvId); visualizationLinkage.setId(newId); + visualizationLinkage.setSourceViewId(viewIdMap.get(visualizationLinkage.getSourceViewId())); linkageIdMap.put(oldId, newId); }); @@ -610,6 +611,7 @@ public class DataVisualizationServer implements DataVisualizationApi { BeanUtils.copyBean(visualizationLinkJump, visualizationLinkJumpVO); visualizationLinkJump.setId(newId); visualizationLinkJump.setSourceDvId(newDvId); + visualizationLinkJump.setSourceViewId(viewIdMap.get(visualizationLinkJump.getSourceViewId())); linkJumpIdMap.put(oldId, newId); }); @@ -934,6 +936,7 @@ public class DataVisualizationServer implements DataVisualizationApi { try { Long newDvId = IDUtils.snowID(); String newFrom = request.getNewFrom(); + Map viewIdsMap = new HashMap<>(); String templateStyle = null; String templateData = null; String dynamicData = null; @@ -1027,6 +1030,7 @@ public class DataVisualizationServer implements DataVisualizationApi { VisualizationTemplateExtendDataDTO extendDataDTO = new VisualizationTemplateExtendDataDTO(newDvId, newViewId, originViewData); extendDataInfo.put(newViewId, extendDataDTO); templateData = templateData.replaceAll(originViewId, newViewId.toString()); + viewIdsMap.put(Long.valueOf(originViewId),newViewId); if (StringUtils.isNotEmpty(appDataStr)) { chartView.setTableId(chartView.getSourceTableId()); appDataStr = appDataStr.replaceAll(originViewId, newViewId.toString()); @@ -1040,7 +1044,7 @@ public class DataVisualizationServer implements DataVisualizationApi { request.setCanvasStyleData(templateStyle); //Store static resource into the server staticResourceServer.saveFilesToServe(staticResource); - return new DataVisualizationVO(newDvId, name, dvType, version, templateStyle, templateData, appDataStr, canvasViewInfo, null); + return new DataVisualizationVO(newDvId, name, dvType, version, templateStyle, templateData, appDataStr, canvasViewInfo, null,viewIdsMap); } catch (Exception e) { e.printStackTrace(); DEException.throwException("解析错误"); diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/DataVisualizationVO.java b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/DataVisualizationVO.java index e05a3c9bdb..99b8e5ba44 100644 --- a/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/DataVisualizationVO.java +++ b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/DataVisualizationVO.java @@ -188,8 +188,7 @@ public class DataVisualizationVO implements Serializable { */ private VisualizationExport2AppVO appData; - - public DataVisualizationVO(Long id, String name, String type, Integer version, String canvasStyleData, String componentData,String appDataStr, Map canvasViewInfo, Map extendDataInfo) { + public DataVisualizationVO(Long id, String name, String type, Integer version, String canvasStyleData, String componentData,String appDataStr, Map canvasViewInfo, Map extendDataInfo,Map viewIdMap) { this.id = id; this.name = name; this.type = type; @@ -199,6 +198,7 @@ public class DataVisualizationVO implements Serializable { this.extendDataInfo = extendDataInfo; if(StringUtils.isNotEmpty(appDataStr)){ this.appData= JsonUtil.parseObject(appDataStr,VisualizationExport2AppVO.class); + this.appData.viewIdMap = viewIdMap; } this.version = version; } diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/VisualizationExport2AppVO.java b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/VisualizationExport2AppVO.java index 7a3f64a8f4..153644aa4a 100644 --- a/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/VisualizationExport2AppVO.java +++ b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/vo/VisualizationExport2AppVO.java @@ -4,6 +4,7 @@ import lombok.Data; import java.util.ArrayList; import java.util.List; +import java.util.Map; @Data public class VisualizationExport2AppVO { @@ -38,6 +39,8 @@ public class VisualizationExport2AppVO { List linkageFields; + Map viewIdMap; + public VisualizationExport2AppVO() { }