feat(X-Pack): 定时报告增加水印设置

This commit is contained in:
fit2cloud-chenyw 2024-09-12 18:03:38 +08:00
parent e194486176
commit 5a3052fdaf
8 changed files with 124 additions and 94 deletions

View File

@ -3,8 +3,22 @@ package io.dataease.visualization.server;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.dataease.api.dataset.union.DatasetGroupInfoDTO;
import io.dataease.api.template.dto.TemplateManageFileDTO;
import io.dataease.api.template.dto.VisualizationTemplateExtendDataDTO;
import io.dataease.api.visualization.DataVisualizationApi;
import io.dataease.api.visualization.dto.VisualizationViewTableDTO;
import io.dataease.api.visualization.request.DataVisualizationBaseRequest;
import io.dataease.api.visualization.request.VisualizationAppExportRequest;
import io.dataease.api.visualization.request.VisualizationWorkbranchQueryRequest;
import io.dataease.api.visualization.vo.*;
import io.dataease.chart.dao.auto.entity.CoreChartView;
import io.dataease.chart.dao.auto.mapper.CoreChartViewMapper;
import io.dataease.chart.manage.ChartDataManage;
import io.dataease.chart.manage.ChartViewManege;
import io.dataease.commons.constants.DataVisualizationConstants;
import io.dataease.commons.constants.OptConstants;
import io.dataease.constant.CommonConstants;
import io.dataease.constant.LogOT;
import io.dataease.dataset.dao.auto.entity.CoreDatasetGroup;
import io.dataease.dataset.dao.auto.entity.CoreDatasetTable;
import io.dataease.dataset.dao.auto.entity.CoreDatasetTableField;
@ -17,23 +31,9 @@ import io.dataease.datasource.dao.auto.entity.CoreDatasource;
import io.dataease.datasource.dao.auto.mapper.CoreDatasourceMapper;
import io.dataease.datasource.provider.ApiUtils;
import io.dataease.datasource.provider.ExcelUtils;
import io.dataease.exception.DEException;
import io.dataease.extensions.datasource.vo.DatasourceConfiguration;
import io.dataease.extensions.view.dto.ChartViewDTO;
import io.dataease.api.template.dto.TemplateManageFileDTO;
import io.dataease.api.template.dto.VisualizationTemplateExtendDataDTO;
import io.dataease.api.visualization.DataVisualizationApi;
import io.dataease.api.visualization.dto.VisualizationViewTableDTO;
import io.dataease.api.visualization.request.DataVisualizationBaseRequest;
import io.dataease.api.visualization.request.VisualizationWorkbranchQueryRequest;
import io.dataease.chart.dao.auto.entity.CoreChartView;
import io.dataease.chart.dao.auto.mapper.CoreChartViewMapper;
import io.dataease.chart.manage.ChartDataManage;
import io.dataease.chart.manage.ChartViewManege;
import io.dataease.commons.constants.DataVisualizationConstants;
import io.dataease.commons.constants.OptConstants;
import io.dataease.constant.CommonConstants;
import io.dataease.constant.LogOT;
import io.dataease.exception.DEException;
import io.dataease.license.config.XpackInteract;
import io.dataease.log.DeLog;
import io.dataease.model.BusiNodeRequest;
@ -165,7 +165,17 @@ public class DataVisualizationServer implements DataVisualizationApi {
result.setReportFilterInfo(reportFilterInfo);
}
}
if (ObjectUtils.isNotEmpty(request.getShowWatermark()) && !request.getShowWatermark()) {
VisualizationWatermarkVO watermarkInfo = result.getWatermarkInfo();
String settingContent = null;
if (ObjectUtils.isNotEmpty(watermarkInfo) && StringUtils.isNotBlank(settingContent = watermarkInfo.getSettingContent())) {
Map map = JsonUtil.parse(settingContent, Map.class);
map.put("enable", false);
settingContent = JsonUtil.toJSONString(map).toString();
watermarkInfo.setSettingContent(settingContent);
result.setWatermarkInfo(watermarkInfo);
}
}
return result;
} else {
DEException.throwException("资源不存在或已经被删除...");

View File

@ -2,4 +2,9 @@ ALTER TABLE `visualization_outer_params_info`
ADD COLUMN `required` tinyint(1) DEFAULT 0 COMMENT '是否必填',
ADD COLUMN `default_value` longtext NULL COMMENT '默认值 JSON格式',
ADD COLUMN `enabled_default` tinyint(1) NULL DEFAULT 0 COMMENT '是否启用默认值';
update visualization_outer_params_info set required =0;
update visualization_outer_params_info
set required =0;
ALTER TABLE `xpack_report_info`
ADD COLUMN `show_watermark` tinyint(1) NOT NULL DEFAULT 0 COMMENT '显示水印' AFTER `rid`;

View File

@ -273,7 +273,16 @@ export function initCanvasDataPrepare(dvId, busiFlag, callBack) {
let attachInfo = { source: 'main' }
if (dvMainStore.canvasAttachInfo && !!dvMainStore.canvasAttachInfo.taskId) {
attachInfo = { source: 'report', taskId: dvMainStore.canvasAttachInfo.taskId }
const showWatermarkExist =
dvMainStore.canvasAttachInfo.hasOwnProperty('showWatermark') &&
typeof dvMainStore.canvasAttachInfo.showWatermark !== 'undefined' &&
dvMainStore.canvasAttachInfo.showWatermark !== null
if (showWatermarkExist) {
const enable = dvMainStore.canvasAttachInfo.showWatermark === 'true'
attachInfo['showWatermark'] = enable
}
}
method(dvId, busiFlagCustom, attachInfo).then(res => {
const canvasInfo = res.data
const watermarkInfo = {

View File

@ -162,9 +162,9 @@ onMounted(async () => {
})
await new Promise(r => (p = r))
const dvId = embeddedStore.dvId || router.currentRoute.value.query.dvId
const { dvType, callBackFlag, taskId } = router.currentRoute.value.query
const { dvType, callBackFlag, taskId, showWatermark } = router.currentRoute.value.query
if (!!taskId) {
dvMainStore.setCanvasAttachInfo({ taskId: taskId })
dvMainStore.setCanvasAttachInfo({ taskId, showWatermark })
}
if (dvId) {
loadCanvasDataAsync(dvId, dvType)

@ -1 +1 @@
Subproject commit 6e7f7bb108cebaf4b8ae284a91ba87cafb33a6fa
Subproject commit d883d74073867950a4347dc50b417c3093298e60

View File

@ -25,6 +25,8 @@ public class ReportCreator implements Serializable {
@JsonSerialize(using = ToStringSerializer.class)
private Long rid;
private Boolean showWatermark;
private Integer format;
private List<Long> viewIdList;

View File

@ -27,6 +27,8 @@ public class ReportInfoVO implements Serializable {
@JsonSerialize(using = ToStringSerializer.class)
private Long rid;
private Boolean showWatermark;
private Integer format;
private List<String> viewIdList;

View File

@ -42,6 +42,8 @@ public class DataVisualizationBaseRequest extends DataVisualizationVO {
@JsonSerialize(using = ToStringSerializer.class)
private Long taskId;
private Boolean showWatermark;
@JsonSerialize(using = ToStringSerializer.class)
// 数据集分组PID
private Long datasetFolderPid;