From d3dc8090c7a6e12279403d6006164f23f44d115d Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Thu, 18 Jul 2024 09:54:57 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=BC=96=E8=AF=91?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/DataVisualizationServer.java | 18 +++++++++--------- .../request/DataVisualizationBaseRequest.java | 2 -- .../visualization/vo/DataVisualizationVO.java | 13 +++++++++---- 3 files changed, 18 insertions(+), 15 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 1400bfdd28..e508e2c3cc 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 @@ -401,7 +401,7 @@ public class DataVisualizationServer implements DataVisualizationApi { String templateData = null; String dynamicData = null; String staticResource = null; - String appData = null; + String appDataStr = null; String name = null; String dvType = null; Integer version = null; @@ -414,7 +414,7 @@ public class DataVisualizationServer implements DataVisualizationApi { name = visualizationTemplate.getName(); dvType = visualizationTemplate.getDvType(); version = visualizationTemplate.getVersion(); - appData = visualizationTemplate.getAppData(); + appDataStr = visualizationTemplate.getAppData(); // 模板市场记录 coreOptRecentManage.saveOpt(request.getTemplateId(), OptConstants.OPT_RESOURCE_TYPE.TEMPLATE, OptConstants.OPT_TYPE.NEW); VisualizationTemplate visualizationTemplateUpdate = new VisualizationTemplate(); @@ -426,7 +426,6 @@ public class DataVisualizationServer implements DataVisualizationApi { templateData = request.getComponentData(); dynamicData = request.getDynamicData(); staticResource = request.getStaticResource(); - appData = request.getAppData(); name = request.getName(); dvType = request.getType(); } else if (DataVisualizationConstants.NEW_PANEL_FROM.NEW_MARKET_TEMPLATE.equals(newFrom)) { @@ -441,7 +440,7 @@ public class DataVisualizationServer implements DataVisualizationApi { name = templateFileInfo.getName(); dvType = templateFileInfo.getDvType(); version = templateFileInfo.getVersion(); - appData = templateFileInfo.getAppData(); + appDataStr = templateFileInfo.getAppData(); // 模板市场记录 coreOptRecentManage.saveOpt(request.getResourceName(), OptConstants.OPT_RESOURCE_TYPE.TEMPLATE, OptConstants.OPT_TYPE.NEW); } @@ -475,10 +474,11 @@ public class DataVisualizationServer implements DataVisualizationApi { VisualizationTemplateExtendDataDTO extendDataDTO = new VisualizationTemplateExtendDataDTO(newDvId, newViewId, originViewData); extendDataInfo.put(newViewId, extendDataDTO); templateData = templateData.replaceAll(originViewId, newViewId.toString()); - if(appData != null){ - Map appDataFormat = JsonUtil.parse(appData,Map.class); - String sourceDvId = (String) appDataFormat.get("id"); - appData = appData.replaceAll(originViewId, newViewId.toString()).replaceAll(sourceDvId, newDvId.toString()); + if(StringUtils.isNotEmpty(appDataStr)){ + VisualizationExport2AppVO appDataFormat = JsonUtil.parse(appDataStr,VisualizationExport2AppVO.class); + Map dvInfo = JsonUtil.parse(appDataFormat.getVisualizationInfo(),Map.class); + String sourceDvId = (String) dvInfo.get("id"); + appDataStr = appDataStr.replaceAll(originViewId, newViewId.toString()).replaceAll(sourceDvId, newDvId.toString()); } canvasViewInfo.put(chartView.getId(), chartView); //插入模板数据 此处预先插入减少数据交互量 @@ -489,7 +489,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,appData, canvasViewInfo, null); + return new DataVisualizationVO(newDvId, name, dvType, version, templateStyle, templateData,appDataStr, canvasViewInfo, null); } @Override diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/visualization/request/DataVisualizationBaseRequest.java b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/request/DataVisualizationBaseRequest.java index c034c1adb5..04f61e5bf6 100644 --- a/sdk/api/api-base/src/main/java/io/dataease/api/visualization/request/DataVisualizationBaseRequest.java +++ b/sdk/api/api-base/src/main/java/io/dataease/api/visualization/request/DataVisualizationBaseRequest.java @@ -42,8 +42,6 @@ public class DataVisualizationBaseRequest extends DataVisualizationVO { @JsonSerialize(using = ToStringSerializer.class) private Long taskId; - private VisualizationExport2AppVO appData; - @JsonSerialize(using = ToStringSerializer.class) // 数据集分组PID private Long datasetFolderPid; 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 08f690a608..3cfb865b0e 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 @@ -2,10 +2,13 @@ package io.dataease.api.visualization.vo; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.google.gson.Gson; import io.dataease.api.template.dto.VisualizationTemplateExtendDataDTO; import io.dataease.extensions.view.dto.ChartViewDTO; +import io.dataease.utils.JsonUtil; import lombok.Data; import lombok.NoArgsConstructor; +import org.apache.commons.lang3.StringUtils; import java.io.Serializable; import java.util.HashMap; @@ -156,7 +159,7 @@ public class DataVisualizationVO implements Serializable { /** * 定时报告自定义过滤数据 */ - private Map reportFilterInfo = new HashMap<>(); + private Map reportFilterInfo = new HashMap<>(); /** * 水印信息 @@ -171,10 +174,10 @@ public class DataVisualizationVO implements Serializable { /** * 应用信息 */ - private String appData; + private VisualizationExport2AppVO appData; - public DataVisualizationVO(Long id, String name, String type, Integer version, String canvasStyleData, String componentData,String appData, Map canvasViewInfo, Map extendDataInfo) { + public DataVisualizationVO(Long id, String name, String type, Integer version, String canvasStyleData, String componentData,String appDataStr, Map canvasViewInfo, Map extendDataInfo) { this.id = id; this.name = name; this.type = type; @@ -182,7 +185,9 @@ public class DataVisualizationVO implements Serializable { this.componentData = componentData; this.canvasViewInfo = canvasViewInfo; this.extendDataInfo = extendDataInfo; - this.appData = appData; + if(StringUtils.isNotEmpty(appDataStr)){ + this.appData= JsonUtil.parse(appDataStr,VisualizationExport2AppVO.class); + } this.version = version; } }