From fb533cde8338d87c0908896dbb78882f68d624b7 Mon Sep 17 00:00:00 2001 From: junjie Date: Wed, 10 Nov 2021 17:10:49 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E8=A7=86=E5=9B=BE):=E8=A7=86=E5=9B=BE?= =?UTF-8?q?=E4=BF=9D=E7=95=99=E5=AE=9E=E6=97=B6=E8=AE=A1=E7=AE=97=E4=B8=8E?= =?UTF-8?q?=E6=B8=B2=E6=9F=93=E5=8A=9F=E8=83=BD=EF=BC=8C=E4=BD=86=E4=B8=8D?= =?UTF-8?q?=E5=AE=9E=E6=97=B6=E4=BF=9D=E5=AD=98=EF=BC=8C=E6=8F=90=E4=BE=9B?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E4=B8=8E=E9=87=8D=E7=BD=AE=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/chart/ChartViewController.java | 2 +- .../service/chart/ChartViewService.java | 22 +++++++++---------- frontend/src/views/chart/view/ChartEdit.vue | 7 ++++++ 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java b/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java index 4e7924fc86..13f84cc6a3 100644 --- a/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java +++ b/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java @@ -105,6 +105,6 @@ public class ChartViewController { @ApiOperation("计算结果") @PostMapping("/calcData") public ChartViewDTO calcData(@RequestBody ChartCalRequest request) throws Exception { - return chartViewService.calcData(request.getView(), request.getRequestList(), true); + return chartViewService.calcData(request.getView(), request.getRequestList(), false); } } diff --git a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java index 92b1cc3631..2cb9a7b2d6 100644 --- a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java +++ b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java @@ -75,9 +75,14 @@ public class ChartViewService { chartView.setUpdateTime(timestamp); chartViewMapper.insertSelective(chartView); } -// Optional.ofNullable(chartView.getId()).ifPresent(id -> { -// CacheUtils.remove(JdbcConstants.VIEW_CACHE_KEY, id); -// }); + Optional.ofNullable(chartView.getId()).ifPresent(id -> { + CacheUtils.remove(JdbcConstants.VIEW_CACHE_KEY, id); + }); + try { + calcData(chartView, new ChartExtRequest(), true); + } catch (Exception e) { + + } return getOneWithPermission(chartView.getId()); } @@ -179,15 +184,10 @@ public class ChartViewService { public ChartViewDTO getData(String id, ChartExtRequest requestList) throws Exception { ChartViewWithBLOBs view = chartViewMapper.selectByPrimaryKey(id); - return calcData(view, requestList, false); + return calcData(view, requestList, true); } - public ChartViewDTO calcData(ChartViewWithBLOBs view, ChartExtRequest requestList, boolean clearCache) throws Exception { - if (clearCache) { - Optional.ofNullable(view.getId()).ifPresent(id -> { - CacheUtils.remove(JdbcConstants.VIEW_CACHE_KEY, id); - }); - } + public ChartViewDTO calcData(ChartViewWithBLOBs view, ChartExtRequest requestList, boolean cache) throws Exception { if (ObjectUtils.isEmpty(view)) { throw new RuntimeException(Translator.get("i18n_chart_delete")); } @@ -427,7 +427,7 @@ public class ChartViewService { data = (List) cache; }*/ // 仪表板有参数不实用缓存 - if (CollectionUtils.isNotEmpty(requestList.getFilter()) + if (!cache || CollectionUtils.isNotEmpty(requestList.getFilter()) || CollectionUtils.isNotEmpty(requestList.getLinkageFilters()) || CollectionUtils.isNotEmpty(requestList.getDrill())) { data = datasourceProvider.getData(datasourceRequest); diff --git a/frontend/src/views/chart/view/ChartEdit.vue b/frontend/src/views/chart/view/ChartEdit.vue index 18f2f3f5b7..c95a44df5e 100644 --- a/frontend/src/views/chart/view/ChartEdit.vue +++ b/frontend/src/views/chart/view/ChartEdit.vue @@ -1094,8 +1094,15 @@ export default { this.hasEdit = true // 将视图传入echart...组件 const view = JSON.parse(JSON.stringify(this.view)) + view.xaxis = JSON.stringify(this.view.xaxis) + view.yaxis = JSON.stringify(this.view.yaxis) + view.yaxisExt = JSON.stringify(this.view.yaxisExt) + view.extStack = JSON.stringify(this.view.extStack) + view.drillFields = JSON.stringify(this.view.drillFields) + view.extBubble = JSON.stringify(this.view.extBubble) view.customAttr = JSON.stringify(this.view.customAttr) view.customStyle = JSON.stringify(this.view.customStyle) + view.customFilter = JSON.stringify(this.view.customFilter) view.data = JSON.parse(JSON.stringify(this.data)) this.chart = view },