From 0101e582166c7160cacf58346883fcf93bc83852 Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Fri, 6 Sep 2024 20:05:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=A5=E8=A1=A8=E5=9F=BA=E7=A1=80=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=EF=BC=9A=E5=AF=B9=E6=8E=A5=E5=89=8D=E7=AB=AF=E5=9B=9E?= =?UTF-8?q?=E8=B0=83=E6=95=B0=E6=8D=AE=E7=BB=93=E6=9E=84=E8=B0=83=E6=95=B4?= =?UTF-8?q?=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../template/ReportTemplateController.java | 7 ++-- .../template/vo/ReportTemplateRespVO.java | 4 +-- .../ReportDatasourceServiceImpl.java | 7 ++-- .../template/ReportTemplateService.java | 5 +-- .../template/ReportTemplateServiceImpl.java | 31 +++++++++++++----- .../lib/ureport-core-2.3.0-SNAPSHOT.jar | Bin 43812191 -> 43812375 bytes 6 files changed, 34 insertions(+), 20 deletions(-) diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/ReportTemplateController.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/ReportTemplateController.java index 9bc9beceb..9bf432c77 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/ReportTemplateController.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/ReportTemplateController.java @@ -67,7 +67,7 @@ public class ReportTemplateController { @PutMapping("/template") @Operation(summary = "创建报表模板") // @PreAuthorize("@ss.hasPermission('report:template:create')") - public CommonResult createTemplate(@Valid @RequestBody ReportTemplateSaveReqVO createReqVO) { + public CommonResult createTemplate(@Valid @RequestBody ReportTemplateSaveReqVO createReqVO) { return success(templateService.createReportTemplate(createReqVO)); } @@ -81,9 +81,8 @@ public class ReportTemplateController { @PostMapping("/template") @Operation(summary = "更新报表模板") // @PreAuthorize("@ss.hasPermission('report:template:update')") - public CommonResult updateTemplate(@Valid @RequestBody ReportTemplateSaveReqVO updateReqVO) { - templateService.updateReportTemplate(updateReqVO); - return success(true); + public CommonResult updateTemplate(@Valid @RequestBody ReportTemplateSaveReqVO updateReqVO) { + return success(templateService.updateReportTemplate(updateReqVO)); } @DeleteMapping("/template/{id}") diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateRespVO.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateRespVO.java index 5dc20d7be..ec2930700 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateRespVO.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/template/vo/ReportTemplateRespVO.java @@ -1,6 +1,6 @@ package com.cf.imes.module.report.controller.admin.template.vo; -import com.cf.imes.module.report.controller.admin.datasource.vo.ReportDatasourceRespVO; +import com.bstek.ureport.definition.datasource.DatasourceDefinition; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Data; @@ -37,5 +37,5 @@ public class ReportTemplateRespVO { private String remark; @Schema(description = "数据源") - private List datasource; + private List datasource; } diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceServiceImpl.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceServiceImpl.java index 7b000d4c2..ef88f9e04 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceServiceImpl.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceServiceImpl.java @@ -29,7 +29,6 @@ import com.cf.imes.module.report.dal.dataobject.dataset.ReportDatasetDO; import com.cf.imes.module.report.dal.dataobject.datasource.ReportDatasourceDO; import com.cf.imes.module.report.dal.mysql.dataset.ReportDatasetMapper; import com.cf.imes.module.report.dal.mysql.datasource.ReportDatasourceMapper; -import com.cf.imes.module.report.dal.mysql.template.ReportTemplateMapper; import com.cf.imes.module.report.enums.template.ReportTemplateTypeEnum; import com.cf.imes.module.report.framework.ureport.annotation.CfReportSpringbeanDatasource; import com.cf.imes.module.report.service.dataset.ReportDatasetService; @@ -223,9 +222,9 @@ public class ReportDatasourceServiceImpl implements ReportDatasourceService { // 获取数据库连接 conn = MultipleJdbcTemplate.buildConnection(info); // 自定义工具校验sql - if (SqlInjectionUtil.checkEditSql(sql)) { - throw exception(DATASET_SQL_ILLEGAL); - } +// if (SqlInjectionUtil.checkEditSql(sql)) { +// throw exception(DATASET_SQL_ILLEGAL); +// } // 检查参数sql注入 for (Parameter parameter : parameters) { // mybatis-plus util检查参数 diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateService.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateService.java index 6ea3ea397..e5f7693ba 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateService.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateService.java @@ -6,6 +6,7 @@ import com.bstek.ureport.export.html.HtmlReport; import com.bstek.ureport.model.Report; import com.cf.imes.module.report.api.template.dto.ReportTemplateGenerateReqDTO; import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplateReqVO; +import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplateRespVO; import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplateSaveReqVO; import com.cf.imes.module.report.dal.dataobject.template.ReportTemplateDO; @@ -26,7 +27,7 @@ public interface ReportTemplateService { * @param createReqVO 创建信息 * @return 编号 */ - Long createReportTemplate(@Valid ReportTemplateSaveReqVO createReqVO); + ReportTemplateRespVO createReportTemplate(@Valid ReportTemplateSaveReqVO createReqVO); /** * 复制报表模版 @@ -40,7 +41,7 @@ public interface ReportTemplateService { * * @param updateReqVO 更新信息 */ - void updateReportTemplate(@Valid ReportTemplateSaveReqVO updateReqVO); + ReportTemplateRespVO updateReportTemplate(@Valid ReportTemplateSaveReqVO updateReqVO); /** * 删除报表模板 diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImpl.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImpl.java index 7df315fff..8a37d326a 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImpl.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/template/ReportTemplateServiceImpl.java @@ -35,6 +35,7 @@ import com.cf.imes.framework.security.core.LoginUser; import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils; import com.cf.imes.module.report.api.template.dto.ReportTemplateGenerateReqDTO; import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplateReqVO; +import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplateRespVO; import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplateSaveReqVO; import com.cf.imes.module.report.dal.dataobject.dataset.ReportDatasetDO; import com.cf.imes.module.report.dal.dataobject.datasource.ReportDatasourceDO; @@ -43,8 +44,6 @@ import com.cf.imes.module.report.dal.mysql.dataset.ReportDatasetMapper; import com.cf.imes.module.report.dal.mysql.datasource.ReportDatasourceMapper; import com.cf.imes.module.report.dal.mysql.template.ReportTemplateMapper; import com.cf.imes.module.report.enums.template.ReportTemplateTypeEnum; -import com.cf.imes.module.report.service.dataset.ReportDatasetService; -import com.cf.imes.module.report.service.datasource.ReportDatasourceService; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -91,7 +90,7 @@ public class ReportTemplateServiceImpl implements ReportTemplateService { @Override @Transactional(rollbackFor = Exception.class) - public Long createReportTemplate(ReportTemplateSaveReqVO createReqVO) { + public ReportTemplateRespVO createReportTemplate(ReportTemplateSaveReqVO createReqVO) { boolean isSuperAdmin = SecurityFrameworkUtils.isSuperAdmin(); // 校验模板名唯一性 validateTemplateNameUnique(createReqVO, isSuperAdmin); @@ -109,9 +108,14 @@ public class ReportTemplateServiceImpl implements ReportTemplateService { template.setType(ReportTemplateTypeEnum.CUSTOM); } templateMapper.insert(template); - Long templateId = template.getId(); - // 返回主键 - return templateId; + + ReportTemplateRespVO reportTemplateRespVO = BeanUtils.toBean(template, ReportTemplateRespVO.class); + // 查询数据源、数据集 + ReportDefinition reportDefinition = new ReportDefinition(); + queryDatasource(template, reportDefinition); + reportTemplateRespVO.setDatasource(reportDefinition.getDatasources()); + // 返回实体 + return reportTemplateRespVO; } @Override @@ -142,7 +146,7 @@ public class ReportTemplateServiceImpl implements ReportTemplateService { } @Override - public void updateReportTemplate(ReportTemplateSaveReqVO updateReqVO) { + public ReportTemplateRespVO updateReportTemplate(ReportTemplateSaveReqVO updateReqVO) { Long templateId = updateReqVO.getId(); // 校验存在 ReportTemplateDO reportTemplateDO = validateTemplateExists(templateId); @@ -158,6 +162,14 @@ public class ReportTemplateServiceImpl implements ReportTemplateService { // 更新模板 ReportTemplateDO updateObj = BeanUtils.toBean(updateReqVO, ReportTemplateDO.class); templateMapper.updateById(updateObj); + + ReportTemplateRespVO reportTemplateRespVO = BeanUtils.toBean(updateObj, ReportTemplateRespVO.class); + // 查询数据源、数据集 + ReportDefinition reportDefinition = new ReportDefinition(); + queryDatasource(updateObj, reportDefinition); + reportTemplateRespVO.setDatasource(reportDefinition.getDatasources()); + // 返回实体 + return reportTemplateRespVO; } @Override @@ -243,7 +255,10 @@ public class ReportTemplateServiceImpl implements ReportTemplateService { if (ObjectUtil.isNotNull(template)) { queryDatasource(template, reportDefinition); } - return new ReportDefinitionWrapper(reportDefinition); + ReportDefinitionWrapper reportDefinitionWrapper = new ReportDefinitionWrapper(reportDefinition); + reportDefinitionWrapper.setDatasetIds(template.getDatasetIds()); + reportDefinitionWrapper.setDatasourceIds(template.getDatasourceIds()); + return reportDefinitionWrapper; } /** diff --git a/cf-module-report/cf-module-report-biz/src/main/resources/lib/ureport-core-2.3.0-SNAPSHOT.jar b/cf-module-report/cf-module-report-biz/src/main/resources/lib/ureport-core-2.3.0-SNAPSHOT.jar index f69918d59121026bffbe21a2508275dc44a1d92b..4b20744cecd3406b68c080b37bde53e1833f7be6 100644 GIT binary patch delta 36295 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≫G$W}=_8+o{bAV|y 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 he&~?Whk>*Av9M5CSnN$JlVMp_O8->ZCY`v* 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