报表基础模块:对接前端回调数据结构调整;

This commit is contained in:
gaoqr
2024-09-06 20:05:42 +08:00
parent c9e78f74ae
commit 0101e58216
6 changed files with 34 additions and 20 deletions
@@ -67,7 +67,7 @@ public class ReportTemplateController {
@PutMapping("/template")
@Operation(summary = "创建报表模板")
// @PreAuthorize("@ss.hasPermission('report:template:create')")
public CommonResult<Long> createTemplate(@Valid @RequestBody ReportTemplateSaveReqVO createReqVO) {
public CommonResult<ReportTemplateRespVO> 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<Boolean> updateTemplate(@Valid @RequestBody ReportTemplateSaveReqVO updateReqVO) {
templateService.updateReportTemplate(updateReqVO);
return success(true);
public CommonResult<ReportTemplateRespVO> updateTemplate(@Valid @RequestBody ReportTemplateSaveReqVO updateReqVO) {
return success(templateService.updateReportTemplate(updateReqVO));
}
@DeleteMapping("/template/{id}")
@@ -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<ReportDatasourceRespVO> datasource;
private List<DatasourceDefinition> datasource;
}
@@ -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检查参数
@@ -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);
/**
* 删除报表模板
@@ -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;
}
/**