diff --git a/core/core-backend/src/main/java/io/dataease/visualization/dao/ext/mapper/ExtDataVisualizationMapper.java b/core/core-backend/src/main/java/io/dataease/visualization/dao/ext/mapper/ExtDataVisualizationMapper.java index fec2813c9a..5e38d18da0 100644 --- a/core/core-backend/src/main/java/io/dataease/visualization/dao/ext/mapper/ExtDataVisualizationMapper.java +++ b/core/core-backend/src/main/java/io/dataease/visualization/dao/ext/mapper/ExtDataVisualizationMapper.java @@ -57,6 +57,8 @@ public interface ExtDataVisualizationMapper { void deleteViewsBatch(@Param("ids") Set ids,@Param("resourceTable") String resourceTable); + void deleteUselessViewsBatchSnapshot(@Param("ids") List ids,@Param("dvId") Long dvId); + UserFormVO queryInnerUserInfo(@Param("id") Long id); void snapshotDataV(@Param("dvId") Long dvId); 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 286102f013..2bd2e162ee 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 @@ -594,6 +594,8 @@ public class DataVisualizationServer implements DataVisualizationApi { visualizationInfo.setStatus(request.getStatus()); coreVisualizationManage.innerEdit(visualizationInfo); if (CommonConstants.DV_STATUS.PUBLISHED == request.getStatus()) { + List viewIds = this.getEnabledViewIds(dvId,CommonConstants.RESOURCE_TABLE.SNAPSHOT); + extDataVisualizationMapper.deleteUselessViewsBatchSnapshot(viewIds,dvId); coreVisualizationManage.removeDvCore(dvId); coreVisualizationManage.dvRestore(dvId); chartViewManege.publishThreshold(dvId, request.getActiveViewIds()); diff --git a/core/core-backend/src/main/resources/mybatis/ExtDataVisualizationMapper.xml b/core/core-backend/src/main/resources/mybatis/ExtDataVisualizationMapper.xml index f6f4d93121..56d36c3d0c 100644 --- a/core/core-backend/src/main/resources/mybatis/ExtDataVisualizationMapper.xml +++ b/core/core-backend/src/main/resources/mybatis/ExtDataVisualizationMapper.xml @@ -498,6 +498,20 @@ + + DELETE + FROM + snapshot_core_chart_view ccv + WHERE + ccv.scene_id = #{dvId} + + and ccv.id not in + + #{id} + + + + diff --git a/core/core-frontend/src/components/dashboard/DbToolbar.vue b/core/core-frontend/src/components/dashboard/DbToolbar.vue index c3a7d54639..e8c2af2b39 100644 --- a/core/core-frontend/src/components/dashboard/DbToolbar.vue +++ b/core/core-frontend/src/components/dashboard/DbToolbar.vue @@ -203,9 +203,12 @@ const publishStatusChange = status => { type: 'dashboard' }).then(() => { dvMainStore.updateDvInfoCall(status) - status - ? ElMessage.success(t('visualization.published_success')) - : ElMessage.success(t('visualization.cancel_publish_tips')) + if (status) { + ElMessage.success(t('visualization.published_success')) + snapshotStore.initSnapShot() + } else { + ElMessage.success(t('visualization.cancel_publish_tips')) + } }) } diff --git a/core/core-frontend/src/components/data-visualization/DvToolbar.vue b/core/core-frontend/src/components/data-visualization/DvToolbar.vue index 79d5b7de8c..d8b77976d4 100644 --- a/core/core-frontend/src/components/data-visualization/DvToolbar.vue +++ b/core/core-frontend/src/components/data-visualization/DvToolbar.vue @@ -331,9 +331,12 @@ const publishStatusChange = status => { type: 'dataV' }).then(() => { dvMainStore.updateDvInfoCall(status) - status - ? ElMessage.success(t('visualization.published_success')) - : ElMessage.success(t('visualization.cancel_publish_tips')) + if (status) { + ElMessage.success(t('visualization.published_success')) + snapshotStore.initSnapShot() + } else { + ElMessage.success(t('visualization.cancel_publish_tips')) + } }) }