From 1d6708a42e837cdb1d457db3ee3b2e7f4c1c35f8 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Thu, 3 Apr 2025 00:45:23 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E9=98=88=E5=80=BC=E5=91=8A?= =?UTF-8?q?=E8=AD=A6=E6=94=AF=E6=8C=81=E5=8F=91=E5=B8=83=E8=8D=89=E7=A8=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/ext/mapper/ExtChartViewMapper.java | 26 +----------- .../chart/manage/ChartDataManage.java | 9 ++-- .../chart/manage/ChartViewManege.java | 42 +++++++++++++++---- .../manage/ChartViewThresholdManage.java | 6 +-- .../chart/server/ChartViewServer.java | 11 ++--- .../manage/CoreVisualizationManage.java | 18 +++++++- .../server/DataVisualizationServer.java | 1 + .../resources/mybatis/ExtCoreChartMapper.xml | 33 +++++++++++++++ .../src/components/dashboard/DbToolbar.vue | 10 ++++- .../data-visualization/DvToolbar.vue | 10 ++++- .../editor/editor-senior/Senior.vue | 1 + .../views/data-visualization/PreviewHead.vue | 6 ++- .../src/views/share/share/ShareVisualHead.vue | 4 +- de-xpack | 2 +- .../io/dataease/api/chart/ChartViewApi.java | 8 ++-- .../chart/request/ThresholdCheckRequest.java | 2 + .../dataease/api/threshold/ThresholdApi.java | 12 +++--- .../api/threshold/dto/ThresholdCreator.java | 3 ++ .../threshold/dto/ThresholdGridRequest.java | 3 ++ .../dto/ThresholdInstanceRequest.java | 1 + .../dto/ThresholdPreviewRequest.java | 3 ++ .../threshold/dto/ThresholdSwitchRequest.java | 3 ++ .../request/DataVisualizationBaseRequest.java | 4 ++ 23 files changed, 156 insertions(+), 62 deletions(-) diff --git a/core/core-backend/src/main/java/io/dataease/chart/dao/ext/mapper/ExtChartViewMapper.java b/core/core-backend/src/main/java/io/dataease/chart/dao/ext/mapper/ExtChartViewMapper.java index 8f605af2ba..401b8bca6c 100644 --- a/core/core-backend/src/main/java/io/dataease/chart/dao/ext/mapper/ExtChartViewMapper.java +++ b/core/core-backend/src/main/java/io/dataease/chart/dao/ext/mapper/ExtChartViewMapper.java @@ -17,31 +17,7 @@ public interface ExtChartViewMapper { """) List queryViewOption(@Param("resourceId") Long resourceId); - @Select(""" - select - ccv.id as chart_id, - ccv.title as chart_name, - ccv.type as chart_type, - ccv.table_id, - dvi.id as resource_id, - dvi.name as resource_name, - dvi.type as resource_type, - ccv.x_axis, - ccv.x_axis_ext, - ccv.y_axis, - ccv.y_axis_ext, - ccv.ext_stack, - ccv.ext_bubble, - ccv.ext_label, - ccv.ext_tooltip, - ccv.flow_map_start_name, - ccv.flow_map_end_name, - ccv.ext_color - from core_chart_view ccv - left join data_visualization_info dvi on dvi.id = ccv.scene_id - where ccv.id = #{id} - """) - ChartBasePO queryChart(@Param("id") Long id); + ChartBasePO queryChart(@Param("id") Long id, @Param("resourceTable")String resourceTable); List selectListCustom(@Param("sceneId") Long sceneId, @Param("resourceTable") String resourceTable); diff --git a/core/core-backend/src/main/java/io/dataease/chart/manage/ChartDataManage.java b/core/core-backend/src/main/java/io/dataease/chart/manage/ChartDataManage.java index dd422cb0de..c7b9cf3b2b 100644 --- a/core/core-backend/src/main/java/io/dataease/chart/manage/ChartDataManage.java +++ b/core/core-backend/src/main/java/io/dataease/chart/manage/ChartDataManage.java @@ -227,7 +227,7 @@ public class ChartDataManage { FilterTreeObj customLinkageFilter = null; // 联动条件 if (ObjectUtils.isNotEmpty(chartExtRequest.getLinkageFilters())) { - for(ChartExtFilterDTO linkageFilter: chartExtRequest.getLinkageFilters()) { + for (ChartExtFilterDTO linkageFilter : chartExtRequest.getLinkageFilters()) { if (3 == linkageFilter.getFilterType()) { customLinkageFilter = linkageFilter.getCustomFilter(); } else { @@ -813,9 +813,10 @@ public class ChartDataManage { disuseChartIdList.add(chartViewDTO.getId()); } }); - if (CollectionUtils.isNotEmpty(disuseChartIdList)) { - chartViewManege.disuse(disuseChartIdList); - } + // 阈值告警处理 统一在发布时处理 +// if (CollectionUtils.isNotEmpty(disuseChartIdList)) { +// chartViewManege.disuse(disuseChartIdList); +// } } } diff --git a/core/core-backend/src/main/java/io/dataease/chart/manage/ChartViewManege.java b/core/core-backend/src/main/java/io/dataease/chart/manage/ChartViewManege.java index 6ddf42dc57..27157bf287 100644 --- a/core/core-backend/src/main/java/io/dataease/chart/manage/ChartViewManege.java +++ b/core/core-backend/src/main/java/io/dataease/chart/manage/ChartViewManege.java @@ -10,6 +10,7 @@ import io.dataease.chart.dao.auto.entity.CoreChartView; import io.dataease.chart.dao.auto.mapper.CoreChartViewMapper; import io.dataease.chart.dao.ext.entity.ChartBasePO; import io.dataease.chart.dao.ext.mapper.ExtChartViewMapper; +import io.dataease.constant.CommonConstants; import io.dataease.dataset.dao.auto.entity.CoreDatasetTableField; import io.dataease.dataset.dao.auto.mapper.CoreDatasetTableFieldMapper; import io.dataease.dataset.manage.DatasetTableFieldManage; @@ -114,6 +115,21 @@ public class ChartViewManege { public void disuse(List chartIdList) { } + //镜像操作发布 + @XpackInteract(value = "chartViewManage") + public void publishThreshold(Long resourceId, List chartIdList) { + } + + //镜像操作删除 + @XpackInteract(value = "chartViewManage") + public void removeThreshold(Long resourceId, String resourceTable) { + + } + + //镜像操作恢复 + public void restoreThreshold(Long resourceId, String resourceTable) { + } + @Transactional public void deleteBySceneId(Long sceneId, List chartIds) { QueryWrapper wrapper = new QueryWrapper<>(); @@ -122,10 +138,20 @@ public class ChartViewManege { coreChartViewMapper.delete(wrapper); } - public ChartViewDTO getDetails(Long id) { - CoreChartView coreChartView = coreChartViewMapper.selectById(id); - if (ObjectUtils.isEmpty(coreChartView)) { - return null; + public ChartViewDTO getDetails(Long id, String resourceTable) { + CoreChartView coreChartView = null; + if (CommonConstants.RESOURCE_TABLE.SNAPSHOT.equals(resourceTable)) { + SnapshotCoreChartView snapshotCoreChartView = snapshotCoreChartViewMapper.selectById(id); + if (ObjectUtils.isEmpty(snapshotCoreChartView)) { + return null; + } + coreChartView = new CoreChartView(); + BeanUtils.copyBean(coreChartView, snapshotCoreChartView); + } else { + coreChartView = coreChartViewMapper.selectById(id); + if (ObjectUtils.isEmpty(coreChartView)) { + return null; + } } ChartViewDTO dto = transRecord2DTO(coreChartView); return dto; @@ -201,8 +227,8 @@ public class ChartViewManege { }).collect(Collectors.toList()); } - public ChartViewDTO getChart(Long id) throws Exception { - ChartViewDTO details = getDetails(id); + public ChartViewDTO getChart(Long id, String resourceTable) throws Exception { + ChartViewDTO details = getDetails(id, resourceTable); if (details == null) { return null; } @@ -314,8 +340,8 @@ public class ChartViewManege { coreDatasetTableFieldMapper.delete(queryWrapper); } - public ChartBaseVO chartBaseInfo(Long id) { - ChartBasePO po = extChartViewMapper.queryChart(id); + public ChartBaseVO chartBaseInfo(Long id, String resourceTable) { + ChartBasePO po = extChartViewMapper.queryChart(id, resourceTable); if (ObjectUtils.isEmpty(po)) return null; ChartBaseVO vo = BeanUtils.copyBean(new ChartBaseVO(), po); TypeReference> tokenType = new TypeReference<>() { diff --git a/core/core-backend/src/main/java/io/dataease/chart/manage/ChartViewThresholdManage.java b/core/core-backend/src/main/java/io/dataease/chart/manage/ChartViewThresholdManage.java index 0c35a4e408..e9379142d9 100644 --- a/core/core-backend/src/main/java/io/dataease/chart/manage/ChartViewThresholdManage.java +++ b/core/core-backend/src/main/java/io/dataease/chart/manage/ChartViewThresholdManage.java @@ -34,8 +34,8 @@ public class ChartViewThresholdManage { @Resource private ChartViewManege chartViewManege; - public String convertThresholdRules(Long chartId, String thresholdRules) { - ChartViewDTO details = chartViewManege.getDetails(chartId); + public String convertThresholdRules(Long chartId, String thresholdRules, String resourceTable) { + ChartViewDTO details = chartViewManege.getDetails(chartId, resourceTable); return convertThresholdRules(details, thresholdRules); } @@ -251,7 +251,7 @@ public class ChartViewThresholdManage { String thresholdRules = request.getThresholdRules(); Long chartId = request.getChartId(); try { - ChartViewDTO chart = chartViewManege.getChart(chartId); + ChartViewDTO chart = chartViewManege.getChart(chartId, request.getResourceTable()); Map data = null; if (ObjectUtils.isEmpty(chart) || MapUtils.isEmpty(data = chart.getData())) { return new ThresholdCheckVO(false, null, "查询图表异常!", null); diff --git a/core/core-backend/src/main/java/io/dataease/chart/server/ChartViewServer.java b/core/core-backend/src/main/java/io/dataease/chart/server/ChartViewServer.java index 12f06f4794..d8839037e1 100644 --- a/core/core-backend/src/main/java/io/dataease/chart/server/ChartViewServer.java +++ b/core/core-backend/src/main/java/io/dataease/chart/server/ChartViewServer.java @@ -2,6 +2,7 @@ package io.dataease.chart.server; import io.dataease.api.chart.ChartViewApi; import io.dataease.api.chart.vo.ChartBaseVO; +import io.dataease.constant.CommonConstants; import io.dataease.extensions.view.dto.ChartViewDTO; import io.dataease.extensions.view.dto.ChartViewFieldDTO; import io.dataease.api.chart.vo.ViewSelectorVO; @@ -27,7 +28,7 @@ public class ChartViewServer implements ChartViewApi { @Override public ChartViewDTO getData(Long id) throws Exception { try { - return chartViewManege.getChart(id); + return chartViewManege.getChart(id, CommonConstants.RESOURCE_TABLE.CORE); } catch (Exception e) { DEException.throwException(ResultCode.DATA_IS_WRONG.code(), e.getMessage()); } @@ -50,8 +51,8 @@ public class ChartViewServer implements ChartViewApi { } @Override - public ChartViewDTO getDetail(Long id) { - return chartViewManege.getDetails(id); + public ChartViewDTO getDetail(Long id, String resourceTable) { + return chartViewManege.getDetails(id, resourceTable); } @Override @@ -75,7 +76,7 @@ public class ChartViewServer implements ChartViewApi { } @Override - public ChartBaseVO chartBaseInfo(Long id) { - return chartViewManege.chartBaseInfo(id); + public ChartBaseVO chartBaseInfo(Long id,String resourceTable) { + return chartViewManege.chartBaseInfo(id,resourceTable); } } diff --git a/core/core-backend/src/main/java/io/dataease/visualization/manage/CoreVisualizationManage.java b/core/core-backend/src/main/java/io/dataease/visualization/manage/CoreVisualizationManage.java index d79268a744..26a6ca4b88 100644 --- a/core/core-backend/src/main/java/io/dataease/visualization/manage/CoreVisualizationManage.java +++ b/core/core-backend/src/main/java/io/dataease/visualization/manage/CoreVisualizationManage.java @@ -7,6 +7,7 @@ import io.dataease.api.visualization.request.DataVisualizationBaseRequest; import io.dataease.api.visualization.request.VisualizationWorkbranchQueryRequest; import io.dataease.api.visualization.vo.VisualizationResourceVO; import io.dataease.chart.dao.ext.mapper.ExtChartViewMapper; +import io.dataease.chart.manage.ChartViewManege; import io.dataease.commons.constants.DataVisualizationConstants; import io.dataease.commons.constants.OptConstants; import io.dataease.constant.BusiResourceEnum; @@ -25,6 +26,7 @@ import io.dataease.visualization.dao.ext.mapper.*; import io.dataease.visualization.dao.ext.po.VisualizationNodePO; import io.dataease.visualization.dao.ext.po.VisualizationResourcePO; import io.dataease.visualization.dto.VisualizationNodeBO; +import io.dataease.xpack.base.threshold.manage.ThresholdManage; import jakarta.annotation.Resource; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; @@ -66,6 +68,9 @@ public class CoreVisualizationManage { @Resource private ExtChartViewMapper extCoreChartMapper; + @Resource + private ChartViewManege chartViewManege; + @XpackInteract(value = "visualizationResourceTree", replace = true, invalid = true) public List tree(BusiNodeRequest request) { List nodes = new ArrayList<>(); @@ -266,6 +271,9 @@ public class CoreVisualizationManage { outerParamsMapper.deleteOuterParamsTargetWithVisualizationIdSnapshot(dvId.toString()); outerParamsMapper.deleteOuterParamsInfoWithVisualizationIdSnapshot(dvId.toString()); outerParamsMapper.deleteOuterParamsWithVisualizationIdSnapshot(dvId.toString()); + //xpack 阈值告警 + chartViewManege.removeThreshold(dvId,CommonConstants.RESOURCE_TABLE.SNAPSHOT); + } } @Transactional @@ -284,13 +292,17 @@ public class CoreVisualizationManage { outerParamsMapper.deleteOuterParamsTargetWithVisualizationId(dvId.toString()); outerParamsMapper.deleteOuterParamsInfoWithVisualizationId(dvId.toString()); outerParamsMapper.deleteOuterParamsWithVisualizationId(dvId.toString()); + //xpack 阈值告警 + chartViewManege.removeThreshold(dvId,CommonConstants.RESOURCE_TABLE.CORE); } } @Transactional public void dvSnapshotRecover(Long dvId){ // 清理历史数据 - this.removeSnapshot(dvId); + CoreVisualizationManage proxy = CommonBeanFactory.proxy(this.getClass()); + assert proxy != null; + proxy.removeSnapshot(dvId); // 导入新数据 extDataVisualizationMapper.snapshotDataV(dvId); extDataVisualizationMapper.snapshotViews(dvId); @@ -302,6 +314,8 @@ public class CoreVisualizationManage { extDataVisualizationMapper.snapshotOuterParamsTargetViewInfo(dvId); extDataVisualizationMapper.snapshotOuterParamsInfo(dvId); extDataVisualizationMapper.snapshotOuterParams(dvId); + //xpack 阈值告警 + chartViewManege.restoreThreshold(dvId,CommonConstants.RESOURCE_TABLE.SNAPSHOT); } @Transactional public void dvRestore(Long dvId){ @@ -315,6 +329,8 @@ public class CoreVisualizationManage { extDataVisualizationMapper.restoreOuterParamsTargetViewInfo(dvId); extDataVisualizationMapper.restoreOuterParamsInfo(dvId); extDataVisualizationMapper.restoreOuterParams(dvId); + //xpack 阈值告警 + chartViewManege.restoreThreshold(dvId,CommonConstants.RESOURCE_TABLE.CORE); } } 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 8a1adff22a..19a297b1be 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 @@ -538,6 +538,7 @@ public class DataVisualizationServer implements DataVisualizationApi { if(CommonConstants.DV_STATUS.PUBLISHED == request.getStatus()){ coreVisualizationManage.removeDvCore(dvId); coreVisualizationManage.dvRestore(dvId); + chartViewManege.publishThreshold(dvId,request.getActiveViewIds()); } } diff --git a/core/core-backend/src/main/resources/mybatis/ExtCoreChartMapper.xml b/core/core-backend/src/main/resources/mybatis/ExtCoreChartMapper.xml index 8af7c17415..c0a3e3e95d 100644 --- a/core/core-backend/src/main/resources/mybatis/ExtCoreChartMapper.xml +++ b/core/core-backend/src/main/resources/mybatis/ExtCoreChartMapper.xml @@ -1,6 +1,39 @@ + +