From aaab6d588cd9159334ac1beab00b51b30f9f8884 Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Fri, 30 Aug 2024 12:10:18 +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=9A1=E3=80=81ureport=E5=AF=B9=E8=B1=A1=E6=96=B0?= =?UTF-8?q?=E5=A2=9Eid=E5=B1=9E=E6=80=A7=E6=98=A0=E5=B0=84=EF=BC=9B2?= =?UTF-8?q?=E3=80=81=E6=96=B0=E5=A2=9Espringbean=E8=BF=94=E5=9B=9E?= =?UTF-8?q?=E5=AF=B9=E8=B1=A1=E6=8E=A5=E5=8F=A3=EF=BC=9B3=E3=80=81?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86=E3=80=81?= =?UTF-8?q?=E5=85=A5=E5=8F=82=E8=A7=84=E8=8C=83=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../report/enums/ErrorCodeConstants.java | 2 + .../dataset/ReportDatasetController.java | 4 +- .../ReportDatasourceController.java | 16 +++- .../template/ReportTemplateController.java | 9 +- .../bean/MockSpringBeanDatasourceResult.java | 16 ++++ .../datasource/ReportDatasourceService.java | 8 +- .../ReportDatasourceServiceImpl.java | 79 +++++++++++++----- .../lib/ureport-core-2.3.0-SNAPSHOT.jar | Bin 904164 -> 904700 bytes 8 files changed, 103 insertions(+), 31 deletions(-) create mode 100644 cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/framework/ureport/bean/MockSpringBeanDatasourceResult.java diff --git a/cf-module-report/cf-module-report-api/src/main/java/com/cf/imes/module/report/enums/ErrorCodeConstants.java b/cf-module-report/cf-module-report-api/src/main/java/com/cf/imes/module/report/enums/ErrorCodeConstants.java index deef36ac7..8e9d6de5f 100644 --- a/cf-module-report/cf-module-report-api/src/main/java/com/cf/imes/module/report/enums/ErrorCodeConstants.java +++ b/cf-module-report/cf-module-report-api/src/main/java/com/cf/imes/module/report/enums/ErrorCodeConstants.java @@ -17,6 +17,8 @@ public final class ErrorCodeConstants { // ========== UREPORT datasource模块 1-003-002-000 ========== public static final ErrorCode DATASOURCE_NOT_EXISTS = new ErrorCode(1_003_002_001, "报表数据源不存在"); public static final ErrorCode DATASOURCE_CONNECT_FAIL = new ErrorCode(1_003_002_002, "报表数据源连接失败"); + public static final ErrorCode DATASOURCE_SPRINGBEAN_GET_FAIL = new ErrorCode(1_003_002_003, "无法获取springbean【{}】"); + public static final ErrorCode DATASOURCE_SPRINGBEAN_METHODS_GET_FAIL = new ErrorCode(1_003_002_004, "获取springbean方法列表失败,请检查】"); // ========== UREPORT dataset模块 1-003-003-000 ========== diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/ReportDatasetController.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/ReportDatasetController.java index d0e31458e..6b882d43a 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/ReportDatasetController.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/dataset/ReportDatasetController.java @@ -52,7 +52,7 @@ public class ReportDatasetController { @DeleteMapping("/dataset/{id}") @Operation(summary = "删除报表数据集") - @Parameter(name = "id", description = "编号", required = true) + @Parameter(name = "id", description = "数据集id", required = true) // @PreAuthorize("@ss.hasPermission('report:dataset:delete')") public CommonResult deleteDataset(@PathVariable("id") Long id) { datasetService.deleteDataset(id); @@ -61,7 +61,7 @@ public class ReportDatasetController { @GetMapping("/dataset/{id}") @Operation(summary = "获得报表数据集") - @Parameter(name = "id", description = "编号", required = true, example = "1") + @Parameter(name = "id", description = "数据集id", required = true, example = "1") // @PreAuthorize("@ss.hasPermission('report:dataset:query')") public CommonResult getDataset(@PathVariable("id") Long id) { ReportDatasetDO dataset = datasetService.getDataset(id); diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/ReportDatasourceController.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/ReportDatasourceController.java index c9f73d2da..a2124531d 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/ReportDatasourceController.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/controller/admin/datasource/ReportDatasourceController.java @@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.Valid; +import javax.validation.constraints.NotEmpty; import java.util.List; import java.util.Map; @@ -69,7 +70,7 @@ public class ReportDatasourceController { @DeleteMapping("/datasource/{id}") @Operation(summary = "删除报表数据源") - @Parameter(name = "id", description = "编号", required = true, example = "1") + @Parameter(name = "id", description = "数据源id", required = true, example = "1") // @PreAuthorize("@ss.hasPermission('report:datasource:delete')") public CommonResult deleteDatasource(@PathVariable("id") Long id) { datasourceService.deleteDatasource(id); @@ -78,7 +79,7 @@ public class ReportDatasourceController { @GetMapping("/datasource/{id}") @Operation(summary = "获取报表数据源") - @Parameter(name = "id", description = "编号", required = true, example = "1") + @Parameter(name = "id", description = "数据源id", required = true, example = "1") // @PreAuthorize("@ss.hasPermission('report:datasource:query')") public CommonResult getDatasource(@PathVariable("id") Long id) { ReportDatasourceDO datasource = datasourceService.getDatasource(id); @@ -88,6 +89,7 @@ public class ReportDatasourceController { @GetMapping("/{templateId}/datasources") @Operation(summary = "获取报表模板下的报表数据源") // @PreAuthorize("@ss.hasPermission('report:datasource:query')") + @Parameter(name = "templateId", description = "模版id", required = true) public CommonResult> getDatasourcePage(@PathVariable(value = "templateId") Long templateId) { return success(BeanUtils.toBean(datasourceService.getTemplateDatasourceList(ReportDatasourceReqVO.builder().templateId(templateId).build()), ReportDatasourceRespVO.class)); } @@ -99,10 +101,18 @@ public class ReportDatasourceController { return success(datasourceService.getBeanDatasourceList()); } + @GetMapping("/springbean/result/clazz") + @Operation(summary = "获取springbean数据源返回对象") + @Parameter(name = "clazz", description = "返回对象类路径全名不能为空", required = true) + public List springbeanFieldList(@RequestParam(value = "clazz") @NotEmpty(message = "类路径全名不能为空") String clazz) { + return datasourceService.getSpringBeanResultFieldList(clazz); + } + @GetMapping("/datasource/bean/methods") @Operation(summary = "获取springbean数据源方法类表") // @PreAuthorize("@ss.hasPermission('report:datasource:query')") - public CommonResult> getBeanDatasourceList(@RequestParam(value = "beanId") String beanId) { + @Parameter(name = "beanId", description = "springbeanId", required = true) + public CommonResult> getBeanDatasourceList(@RequestParam(value = "beanId") @NotEmpty(message = "beanId不能为空") String beanId) { return success(datasourceService.loadBeanMethods(beanId)); } 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 0d9bee876..2311a4ef7 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 @@ -39,6 +39,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; +import javax.validation.constraints.NotEmpty; import java.io.OutputStream; import java.util.HashMap; @@ -79,7 +80,7 @@ public class ReportTemplateController { @DeleteMapping("/template/{id}") @Operation(summary = "删除报表模板信息") - @Parameter(name = "id", description = "编号", required = true) + @Parameter(name = "id", description = "模板id", required = true) // @PreAuthorize("@ss.hasPermission('report:template:delete')") public CommonResult deleteReportTemplate(@PathVariable("id") Long id) { templateService.deleteReportTemplate(id); @@ -88,7 +89,7 @@ public class ReportTemplateController { @GetMapping("/template/{id}") @Operation(summary = "获取报表模板信息") - @Parameter(name = "id", description = "编号", required = true, example = "1") + @Parameter(name = "id", description = "模板id", required = true, example = "1") // @PreAuthorize("@ss.hasPermission('report:template:query')") public CommonResult getReportTemplate(@PathVariable("id") Long id) { return success(templateService.getReportTemplateDefinition(id)); @@ -141,7 +142,7 @@ public class ReportTemplateController { @GetMapping("/scriptValidation") @Operation(summary = "校验表达式") @Parameter(name = "content", description = "表达式", required = true) - public List scriptValidation(@Param("content") String content) { + public List scriptValidation(@Param("content") @NotEmpty(message = "表达式不能为空") String content) { content = StringUtils.decode(content); ANTLRInputStream antlrInputStream = new ANTLRInputStream(content); ReportParserLexer lexer = new ReportParserLexer(antlrInputStream); @@ -163,7 +164,7 @@ public class ReportTemplateController { @GetMapping("/parseDataSet") @Operation(summary = "解析表达式中的数据集") @Parameter(name = "expr", description = "表达式", required = true) - public Map parseDatasetName(@Param("expr") String expr) { + public Map parseDatasetName(@Param("expr") @NotEmpty(message = "表达式不能为空") String expr) { ANTLRInputStream antlrInputStream = new ANTLRInputStream(expr); ReportParserLexer lexer = new ReportParserLexer(antlrInputStream); CommonTokenStream tokenStream = new CommonTokenStream(lexer); diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/framework/ureport/bean/MockSpringBeanDatasourceResult.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/framework/ureport/bean/MockSpringBeanDatasourceResult.java new file mode 100644 index 000000000..ab7334c59 --- /dev/null +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/framework/ureport/bean/MockSpringBeanDatasourceResult.java @@ -0,0 +1,16 @@ +package com.cf.imes.module.report.framework.ureport.bean; + +import lombok.Data; +import org.springframework.stereotype.Component; + +/** + * @author Gqr + * @since 2024/8/30 11:21 + */ +@Component +@Data +public class MockSpringBeanDatasourceResult { + private String key; + + private String value; +} diff --git a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceService.java b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceService.java index a87036e9b..e459a74a3 100644 --- a/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceService.java +++ b/cf-module-report/cf-module-report-biz/src/main/java/com/cf/imes/module/report/service/datasource/ReportDatasourceService.java @@ -78,5 +78,11 @@ public interface ReportDatasourceService { */ List getTableFields(PreviewParams previewParams); - + /** + * 获取数据源 + * + * @param clazz + * @return + */ + List getSpringBeanResultFieldList(String clazz); } 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 41c87841c..4f3dbeb49 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 @@ -1,9 +1,11 @@ package com.cf.imes.module.report.service.datasource; import cn.hutool.core.annotation.AnnotationUtil; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.toolkit.sql.SqlInjectionUtils; +import com.bstek.common.exception.ReportDesignException; import com.bstek.common.utils.MultipleJdbcTemplate; import com.bstek.datasource.bean.DataSourceInfo; import com.bstek.datasource.bean.PreviewParams; @@ -12,6 +14,7 @@ import com.bstek.ureport.definition.dataset.Parameter; import com.bstek.ureport.definition.dataset.SqlDatasetDefinition; import com.bstek.ureport.utils.ProcedureUtils; import com.cf.imes.framework.common.exception.ServiceException; +import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil; import com.cf.imes.framework.common.util.object.BeanUtils; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.module.report.controller.admin.dataset.vo.ReportDatasetReqVO; @@ -27,6 +30,7 @@ import com.cf.imes.module.report.service.dataset.ReportDatasetService; import com.cf.imes.module.report.util.SqlInjectionUtil; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.jdbc.core.ResultSetExtractor; import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; @@ -37,6 +41,7 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import javax.sql.DataSource; +import java.beans.PropertyDescriptor; import java.lang.reflect.Method; import java.sql.Connection; import java.sql.ResultSetMetaData; @@ -51,6 +56,8 @@ import static com.cf.imes.module.report.enums.ErrorCodeConstants.DATASET_SQL_ILL import static com.cf.imes.module.report.enums.ErrorCodeConstants.DATASET_SQL_INJECTION_RISK; import static com.cf.imes.module.report.enums.ErrorCodeConstants.DATASET_SQL_REQUIRED; import static com.cf.imes.module.report.enums.ErrorCodeConstants.DATASOURCE_NOT_EXISTS; +import static com.cf.imes.module.report.enums.ErrorCodeConstants.DATASOURCE_SPRINGBEAN_GET_FAIL; +import static com.cf.imes.module.report.enums.ErrorCodeConstants.DATASOURCE_SPRINGBEAN_METHODS_GET_FAIL; /** * 报表数据源 Service 实现类 @@ -156,29 +163,39 @@ public class ReportDatasourceServiceImpl implements ReportDatasourceService { @Override public List loadBeanMethods(String beanId) { - Object obj = applicationContext.getBean(beanId); - Class clazz = obj.getClass(); - Method[] methods = clazz.getMethods(); + Object obj; List result = new ArrayList(); - // ureport的springbean方法必须满足(String dsName, String datasetName, Map parameters) - for (Method method : methods) { - Class[] types = method.getParameterTypes(); - if (types.length != 3) { - continue; + try { + obj = applicationContext.getBean(beanId); + Class clazz = obj.getClass(); + Method[] methods = clazz.getMethods(); + + // ureport的springbean方法必须满足(String dsName, String datasetName, Map parameters) + for (Method method : methods) { + Class[] types = method.getParameterTypes(); + if (types.length != 3) { + continue; + } + Class typeClass1 = types[0]; + Class typeClass2 = types[1]; + Class typeClass3 = types[2]; + if (!String.class.isAssignableFrom(typeClass1)) { + continue; + } + if (!String.class.isAssignableFrom(typeClass2)) { + continue; + } + if (!Map.class.isAssignableFrom(typeClass3)) { + continue; + } + result.add(method.getName()); } - Class typeClass1 = types[0]; - Class typeClass2 = types[1]; - Class typeClass3 = types[2]; - if (!String.class.isAssignableFrom(typeClass1)) { - continue; - } - if (!String.class.isAssignableFrom(typeClass2)) { - continue; - } - if (!Map.class.isAssignableFrom(typeClass3)) { - continue; - } - result.add(method.getName()); + } catch (BeansException e) { + log.error("[ReportDatasourceService][loadBeanMethods]获取bean失败", e); + throw ServiceExceptionUtil.exception(DATASOURCE_SPRINGBEAN_GET_FAIL, beanId); + } catch (Exception e) { + log.error("[ReportDatasourceService][loadBeanMethods]方法列表获取异常", e); + throw ServiceExceptionUtil.exception(DATASOURCE_SPRINGBEAN_METHODS_GET_FAIL); } return result; } @@ -241,6 +258,26 @@ public class ReportDatasourceServiceImpl implements ReportDatasourceService { } } + @Override + public List getSpringBeanResultFieldList(String clazz) { + List result = new ArrayList(); + try { + Class targetClass = Class.forName(clazz); + PropertyDescriptor[] propertyDescriptors = BeanUtil.getPropertyDescriptors(targetClass); + for (PropertyDescriptor pd : propertyDescriptors) { + String name = pd.getName(); + if ("class".equals(name)) { + continue; + } + result.add(new Field(name)); + } + return result; + + } catch (Exception ex) { + throw new ReportDesignException(ex); + } + } + /** * 查询数据源下的数据集 * 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 ce94db844d365974151b1272f76f8aa338465bcf..dd9c515b3cced1090b0ebb4d65f60de11b855b19 100644 GIT binary patch delta 40022 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 R2Rd_Eu#~#pfYDv&{{V9+S!MtL delta 39256 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