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 },