From e93afa6b61054e77355549eebbbeed518d42c53b Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Wed, 9 Oct 2024 15:19:34 +0800 Subject: [PATCH 1/2] =?UTF-8?q?refactor(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E4=BB=AA=E8=A1=A8=E6=9D=BF=E6=97=B6=EF=BC=8C?= =?UTF-8?q?=E4=B8=8D=E4=BF=9D=E5=AD=98=E8=BF=94=E5=9B=9E=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=81=A2=E5=A4=8D=E6=9C=80=E5=90=8E=E6=9B=B4?= =?UTF-8?q?=E6=94=B9=E7=9A=84=E8=A7=86=E5=9B=BE=E4=BF=A1=E6=81=AF=20#11472?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/chart/ChartViewController.java | 7 ++++ .../io/dataease/ext/ExtChartViewMapper.java | 3 ++ .../io/dataease/ext/ExtChartViewMapper.xml | 36 +++++++++++++++++++ .../service/chart/ChartViewCacheService.java | 4 +++ core/frontend/src/api/chart/chart.js | 8 +++++ .../components/canvas/components/Toolbar.vue | 5 ++- 6 files changed, 62 insertions(+), 1 deletion(-) diff --git a/core/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java b/core/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java index 1b6066b0b4..27447cb450 100644 --- a/core/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java +++ b/core/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java @@ -165,6 +165,13 @@ public class ChartViewController { chartViewCacheService.resetView(id); } + @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANEL_LEVEL_VIEW, paramIndex = 0) + @ApiOperation("重置仪表板视图") + @PostMapping("/resetAllViewCache/{panelId}") + public void resetAllViewCache(@PathVariable String panelId) { + chartViewCacheService.resetAllPanelView(panelId); + } + @ApiOperation("校验视图Title") @PostMapping("/checkTitle") public String checkTitle(@RequestBody ChartViewCacheRequest request) { diff --git a/core/backend/src/main/java/io/dataease/ext/ExtChartViewMapper.java b/core/backend/src/main/java/io/dataease/ext/ExtChartViewMapper.java index 020d0df040..c7a94a782e 100644 --- a/core/backend/src/main/java/io/dataease/ext/ExtChartViewMapper.java +++ b/core/backend/src/main/java/io/dataease/ext/ExtChartViewMapper.java @@ -49,6 +49,9 @@ public interface ExtChartViewMapper { int updateToViewFromCache(@Param("viewId") String viewId ); + int updateToViewFromCacheBatch(@Param("panelId") String panelId ); + + void copyCache(@Param("sourceViewId") String sourceViewId,@Param("newViewId") String newViewId); void deleteNoUseView(@Param("viewIds") List viewIds,@Param("panelId") String panelId ); diff --git a/core/backend/src/main/java/io/dataease/ext/ExtChartViewMapper.xml b/core/backend/src/main/java/io/dataease/ext/ExtChartViewMapper.xml index 96fa2330e2..9f93b01952 100644 --- a/core/backend/src/main/java/io/dataease/ext/ExtChartViewMapper.xml +++ b/core/backend/src/main/java/io/dataease/ext/ExtChartViewMapper.xml @@ -611,6 +611,42 @@ where cve.id = cv.id and cv.id =#{viewId} + + UPDATE chart_view_cache cve + JOIN chart_view cv ON cve.id = cv.id + SET cv.`name` = cve.`name`, + cv.title = cve.title, + cv.scene_id = cve.scene_id, + cv.table_id = cve.table_id, + cv.`type` = cve.`type`, + cv.render = cve.render, + cv.result_count = cve.result_count, + cv.result_mode = cve.result_mode, + cv.create_by = cve.create_by, + cv.create_time = cve.create_time, + cv.update_time = cve.update_time, + cv.style_priority = cve.style_priority, + cv.chart_type = cve.chart_type, + cv.is_plugin = cve.is_plugin, + cv.x_axis = cve.x_axis, + cv.x_axis_ext = cve.x_axis_ext, + cv.y_axis = cve.y_axis, + cv.y_axis_ext = cve.y_axis_ext, + cv.ext_stack = cve.ext_stack, + cv.ext_bubble = cve.ext_bubble, + cv.custom_attr = cve.custom_attr, + cv.custom_style = cve.custom_style, + cv.custom_filter = cve.custom_filter, + cv.drill_fields = cve.drill_fields, + cv.senior = cve.senior, + cv.SNAPSHOT = cve.SNAPSHOT, + cv.data_from = cve.data_from, + cv.refresh_view_enable = cve.refresh_view_enable, + cv.refresh_unit = cve.refresh_unit, + cv.refresh_time = cve.refresh_time + WHERE cve.scene_id = cv.scene_id AND cv.scene_id = #{panelId}; + + delete from chart_view where scene_id = #{panelId} and create_time < ( unix_timestamp()- 30 ) * 1000 diff --git a/core/backend/src/main/java/io/dataease/service/chart/ChartViewCacheService.java b/core/backend/src/main/java/io/dataease/service/chart/ChartViewCacheService.java index a8d0207442..b7764bc1b3 100644 --- a/core/backend/src/main/java/io/dataease/service/chart/ChartViewCacheService.java +++ b/core/backend/src/main/java/io/dataease/service/chart/ChartViewCacheService.java @@ -28,4 +28,8 @@ public class ChartViewCacheService { extChartViewMapper.updateToViewFromCache(viewId); } + public void resetAllPanelView(String panelId){ + extChartViewMapper.updateToViewFromCacheBatch(panelId); + } + } diff --git a/core/frontend/src/api/chart/chart.js b/core/frontend/src/api/chart/chart.js index dea06f253f..c2e60b3c6d 100644 --- a/core/frontend/src/api/chart/chart.js +++ b/core/frontend/src/api/chart/chart.js @@ -128,6 +128,14 @@ export function resetViewCache(viewId, panelId) { }) } +export function resetAllViewCache(panelId) { + return request({ + url: '/chart/view/resetAllViewCache/' + panelId, + method: 'post', + loading: false + }) +} + export function checkTitle(data) { return request({ url: '/chart/view/checkTitle', diff --git a/core/frontend/src/components/canvas/components/Toolbar.vue b/core/frontend/src/components/canvas/components/Toolbar.vue index 04b5e9c580..2394a272e0 100644 --- a/core/frontend/src/components/canvas/components/Toolbar.vue +++ b/core/frontend/src/components/canvas/components/Toolbar.vue @@ -274,6 +274,7 @@ import { getPanelAllLinkageInfo, saveLinkage } from '@/api/panel/linkage' import bus from '@/utils/bus' import { queryPanelJumpInfo } from '@/api/panel/linkJump' import { inOtherPlatform } from '@/utils/index' +import {resetAllViewCache} from "@/api/chart/chart"; export default { name: 'Toolbar', @@ -576,7 +577,9 @@ export default { this.$emit('changeAidedDesign') }, closeNotSave() { - this.close() + resetAllViewCache(this.panelInfo.id).then(rep => { + this.close() + }) }, saveLinkage() { this.$store.commit('canvasChange') From 5673899ba19ee81eee2ff79296588007a29dc740 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Wed, 9 Oct 2024 17:24:42 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=BA=94=E7=94=A8=E4=BB=AA=E8=A1=A8=E6=9D=BF?= =?UTF-8?q?=E9=83=A8=E5=88=86=E6=89=93=E5=BC=80=E5=8F=AF=E8=83=BD=E6=8F=90?= =?UTF-8?q?=E7=A4=BA=E8=81=94=E5=8A=A8=E9=94=99=E8=AF=AF=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ext/ExtPanelViewLinkageMapper.xml | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/core/backend/src/main/java/io/dataease/ext/ExtPanelViewLinkageMapper.xml b/core/backend/src/main/java/io/dataease/ext/ExtPanelViewLinkageMapper.xml index 88629926ca..455dc596ab 100644 --- a/core/backend/src/main/java/io/dataease/ext/ExtPanelViewLinkageMapper.xml +++ b/core/backend/src/main/java/io/dataease/ext/ExtPanelViewLinkageMapper.xml @@ -102,17 +102,22 @@