报表基础模块controller基于swagger调试参数调整

This commit is contained in:
gaoqr
2024-07-08 18:45:38 +08:00
parent c87ba884b1
commit 1916331591
15 changed files with 64 additions and 20 deletions
@@ -61,7 +61,7 @@ public class ReportDatasetController {
@GetMapping("/dataset/{id}") @GetMapping("/dataset/{id}")
@Operation(summary = "获得报表数据集") @Operation(summary = "获得报表数据集")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "id", description = "编号", required = true, example = "1")
@PreAuthorize("@ss.hasPermission('report:dataset:query')") @PreAuthorize("@ss.hasPermission('report:dataset:query')")
public CommonResult<ReportDatasetRespVO> getDataset(@PathVariable("id") Long id) { public CommonResult<ReportDatasetRespVO> getDataset(@PathVariable("id") Long id) {
ReportDatasetDO dataset = datasetService.getDataset(id); ReportDatasetDO dataset = datasetService.getDataset(id);
@@ -71,7 +71,9 @@ public class ReportDatasetController {
@GetMapping("/datasets") @GetMapping("/datasets")
@Operation(summary = "获取数据源下的报表数据集列表") @Operation(summary = "获取数据源下的报表数据集列表")
@PreAuthorize("@ss.hasPermission('report:dataset:query')") @PreAuthorize("@ss.hasPermission('report:dataset:query')")
public CommonResult<List<ReportDatasetRespVO>> getDatasetPage(@Valid ReportDatasetReqVO pageReqVO) { public CommonResult<List<ReportDatasetRespVO>> getDatasetPage(@RequestParam(value = "datasourceId") Long datasourceId,
return success(BeanUtils.toBean(datasetService.getDatasetList(pageReqVO), ReportDatasetRespVO.class)); @RequestParam(value = "name", required = false) String name) {
ReportDatasetReqVO reqVO = new ReportDatasetReqVO(name, datasourceId);
return success(BeanUtils.toBean(datasetService.getDatasetList(reqVO), ReportDatasetRespVO.class));
} }
} }
@@ -71,7 +71,10 @@ public class ReportDatasourceController {
@GetMapping("/datasources") @GetMapping("/datasources")
@Operation(summary = "获取报表模板下的报表数据源") @Operation(summary = "获取报表模板下的报表数据源")
@PreAuthorize("@ss.hasPermission('report:datasource:query')") @PreAuthorize("@ss.hasPermission('report:datasource:query')")
public CommonResult<List<ReportDatasourceRespVO>> getDatasourcePage(@Valid ReportDatasourceReqVO pageReqVO) { public CommonResult<List<ReportDatasourceRespVO>> getDatasourcePage(@RequestParam(value = "reportId") Long reportId,
return success(BeanUtils.toBean(datasourceService.getTemplateDatasourceList(pageReqVO), ReportDatasourceRespVO.class)); @RequestParam(value = "name", required = false) String name,
@RequestParam(value = "type", required = false) Integer type) {
ReportDatasourceReqVO reqVO = new ReportDatasourceReqVO(reportId, name, type);
return success(BeanUtils.toBean(datasourceService.getTemplateDatasourceList(reqVO), ReportDatasourceRespVO.class));
} }
} }
@@ -16,7 +16,6 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.security.PermitAll;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.List; import java.util.List;
@@ -40,7 +39,6 @@ public class ReportTemplateController {
@PutMapping("/template") @PutMapping("/template")
@Operation(summary = "创建报表模板信息") @Operation(summary = "创建报表模板信息")
@PreAuthorize("@ss.hasPermission('report:template:create')") @PreAuthorize("@ss.hasPermission('report:template:create')")
@PermitAll
public CommonResult<Long> createTemplate(@Valid @RequestBody ReportTemplateSaveReqVO createReqVO) { public CommonResult<Long> createTemplate(@Valid @RequestBody ReportTemplateSaveReqVO createReqVO) {
OrganContextHolder.setOrganId(1L); OrganContextHolder.setOrganId(1L);
return success(templateService.createReportTemplate(createReqVO)); return success(templateService.createReportTemplate(createReqVO));
@@ -75,8 +73,9 @@ public class ReportTemplateController {
@GetMapping("/templates") @GetMapping("/templates")
@Operation(summary = "获得报表模板信息列表") @Operation(summary = "获得报表模板信息列表")
@PreAuthorize("@ss.hasPermission('report:template:query')") @PreAuthorize("@ss.hasPermission('report:template:query')")
@PermitAll public CommonResult<List<ReportTemplateRespVO>> getTemplatePage(@RequestParam(value = "name", required = false) String name,
public CommonResult<List<ReportTemplateRespVO>> getTemplatePage(@Valid ReportTemplateReqVO pageReqVO) { @RequestParam(value = "type", required = false) Integer type) {
return success(BeanUtils.toBean(templateService.getReportTemplateList(pageReqVO), ReportTemplateRespVO.class)); ReportTemplateReqVO reqVO = new ReportTemplateReqVO(name, type);
return success(BeanUtils.toBean(templateService.getReportTemplateList(reqVO), ReportTemplateRespVO.class));
} }
} }
@@ -1,7 +1,9 @@
package com.cf.imes.module.report.controller.admin.template.vo; package com.cf.imes.module.report.controller.admin.template.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString; import lombok.ToString;
/** /**
@@ -11,6 +13,8 @@ import lombok.ToString;
@Schema(description = "管理后台 - 报表数据集 Request VO") @Schema(description = "管理后台 - 报表数据集 Request VO")
@Data @Data
@ToString(callSuper = true) @ToString(callSuper = true)
@AllArgsConstructor
@NoArgsConstructor
public class ReportDatasetReqVO { public class ReportDatasetReqVO {
@Schema(description = "数据集名称", example = "测试数据集") @Schema(description = "数据集名称", example = "测试数据集")
private String name; private String name;
@@ -1,7 +1,9 @@
package com.cf.imes.module.report.controller.admin.template.vo; package com.cf.imes.module.report.controller.admin.template.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
@@ -12,6 +14,8 @@ import java.util.List;
*/ */
@Schema(description = "管理后台 - 报表数据集 Response VO") @Schema(description = "管理后台 - 报表数据集 Response VO")
@Data @Data
@AllArgsConstructor
@NoArgsConstructor
public class ReportDatasetRespVO { public class ReportDatasetRespVO {
@Schema(description = "数据集id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @Schema(description = "数据集id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
private Long id; private Long id;
@@ -1,8 +1,10 @@
package com.cf.imes.module.report.controller.admin.template.vo; package com.cf.imes.module.report.controller.admin.template.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.util.List; import java.util.List;
@@ -14,6 +16,8 @@ import java.util.List;
@Schema(description = "管理后台 - 报表数据集新增/修改 Request VO") @Schema(description = "管理后台 - 报表数据集新增/修改 Request VO")
@Data @Data
@Builder @Builder
@AllArgsConstructor
@NoArgsConstructor
public class ReportDatasetSaveReqVO { public class ReportDatasetSaveReqVO {
@Schema(description = "数据集id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @Schema(description = "数据集id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
private Long id; private Long id;
@@ -1,7 +1,9 @@
package com.cf.imes.module.report.controller.admin.template.vo; package com.cf.imes.module.report.controller.admin.template.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString; import lombok.ToString;
/** /**
@@ -11,6 +13,8 @@ import lombok.ToString;
@Schema(description = "管理后台 - 报表数据源 Request VO") @Schema(description = "管理后台 - 报表数据源 Request VO")
@Data @Data
@ToString(callSuper = true) @ToString(callSuper = true)
@AllArgsConstructor
@NoArgsConstructor
public class ReportDatasourceReqVO { public class ReportDatasourceReqVO {
@Schema(description = "模板id", example = "1", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "模板id", example = "1", requiredMode = Schema.RequiredMode.REQUIRED)
private Long reportId; private Long reportId;
@@ -1,7 +1,9 @@
package com.cf.imes.module.report.controller.admin.template.vo; package com.cf.imes.module.report.controller.admin.template.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@@ -11,6 +13,8 @@ import java.time.LocalDateTime;
*/ */
@Schema(description = "管理后台 - 报表数据源 Response VO") @Schema(description = "管理后台 - 报表数据源 Response VO")
@Data @Data
@AllArgsConstructor
@NoArgsConstructor
public class ReportDatasourceRespVO { public class ReportDatasourceRespVO {
@Schema(description = "数据源id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @Schema(description = "数据源id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@@ -1,8 +1,10 @@
package com.cf.imes.module.report.controller.admin.template.vo; package com.cf.imes.module.report.controller.admin.template.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
@@ -13,8 +15,10 @@ import javax.validation.constraints.NotNull;
@Schema(description = "管理后台 - 报表数据源新增/修改 Request VO") @Schema(description = "管理后台 - 报表数据源新增/修改 Request VO")
@Data @Data
@Builder @Builder
@AllArgsConstructor
@NoArgsConstructor
public class ReportDatasourceSaveReqVO { public class ReportDatasourceSaveReqVO {
@Schema(description = "数据源id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @Schema(description = "数据源id", example = "1")
private Long id; private Long id;
@Schema(description = "模板id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @Schema(description = "模板id", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@@ -1,7 +1,9 @@
package com.cf.imes.module.report.controller.admin.template.vo; package com.cf.imes.module.report.controller.admin.template.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString; import lombok.ToString;
/** /**
@@ -11,6 +13,8 @@ import lombok.ToString;
@Schema(description = "管理后台 - 报表模板信息列表 Request VO") @Schema(description = "管理后台 - 报表模板信息列表 Request VO")
@Data @Data
@ToString(callSuper = true) @ToString(callSuper = true)
@AllArgsConstructor
@NoArgsConstructor
public class ReportTemplateReqVO { public class ReportTemplateReqVO {
@Schema(description = "模板名称", example = "生产单模板") @Schema(description = "模板名称", example = "生产单模板")
private String name; private String name;
@@ -1,7 +1,9 @@
package com.cf.imes.module.report.controller.admin.template.vo; package com.cf.imes.module.report.controller.admin.template.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@@ -11,8 +13,10 @@ import java.time.LocalDateTime;
*/ */
@Schema(description = "管理后台 - 报表模板信息 Response VO") @Schema(description = "管理后台 - 报表模板信息 Response VO")
@Data @Data
@AllArgsConstructor
@NoArgsConstructor
public class ReportTemplateRespVO { public class ReportTemplateRespVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "15176") @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
private Long id; private Long id;
@Schema(description = "模板名称", example = "生产单模板") @Schema(description = "模板名称", example = "生产单模板")
@@ -21,7 +25,7 @@ public class ReportTemplateRespVO {
@Schema(description = "报表模板") @Schema(description = "报表模板")
private String template; private String template;
@Schema(description = "模板类型,0内置、1自定义", example = "2") @Schema(description = "模板类型,0内置、1自定义", example = "0")
private Long type; private Long type;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@@ -1,8 +1,12 @@
package com.cf.imes.module.report.controller.admin.template.vo; package com.cf.imes.module.report.controller.admin.template.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/** /**
* @author Gqr * @author Gqr
@@ -11,9 +15,11 @@ import lombok.Data;
@Schema(description = "管理后台 - 报表模板信息新增/修改 Request VO") @Schema(description = "管理后台 - 报表模板信息新增/修改 Request VO")
@Data @Data
@Builder @Builder
public class ReportTemplateSaveReqVO { @AllArgsConstructor
@NoArgsConstructor
public class ReportTemplateSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @Schema(description = "主键", example = "1")
private Long id; private Long id;
@Schema(description = "模板名称", example = "生产单模板") @Schema(description = "模板名称", example = "生产单模板")
@@ -67,7 +67,7 @@ public class ReportDatasetServiceImpl implements ReportDatasetService {
@Override @Override
public List<ReportDatasetDO> getDatasetList(ReportDatasetReqVO reqVO) { public List<ReportDatasetDO> getDatasetList(ReportDatasetReqVO reqVO) {
return datasetMapper.selectList(new LambdaQueryWrapperX<ReportDatasetDO>() return datasetMapper.selectList(new LambdaQueryWrapperX<ReportDatasetDO>()
.eq(ReportDatasetDO::getDatasourceId, reqVO.getDatasourceId()) .eqIfPresent(ReportDatasetDO::getDatasourceId, reqVO.getDatasourceId())
.likeIfPresent(ReportDatasetDO::getName, reqVO.getName()) .likeIfPresent(ReportDatasetDO::getName, reqVO.getName())
.orderByDesc(ReportDatasetDO::getCreateTime)); .orderByDesc(ReportDatasetDO::getCreateTime));
} }
@@ -72,9 +72,9 @@ public class ReportDatasourceServiceImpl implements ReportDatasourceService {
@Override @Override
public List<ReportDatasourceDO> getTemplateDatasourceList(ReportDatasourceReqVO reqVO) { public List<ReportDatasourceDO> getTemplateDatasourceList(ReportDatasourceReqVO reqVO) {
return datasourceMapper.selectList(new LambdaQueryWrapperX<ReportDatasourceDO>() return datasourceMapper.selectList(new LambdaQueryWrapperX<ReportDatasourceDO>()
.eq(ReportDatasourceDO::getReportId, reqVO.getReportId()) .eqIfPresent(ReportDatasourceDO::getReportId, reqVO.getReportId())
.likeIfPresent(ReportDatasourceDO::getName, reqVO.getName()) .likeIfPresent(ReportDatasourceDO::getName, reqVO.getName())
.eq(ReportDatasourceDO::getType, reqVO.getType()) .eqIfPresent(ReportDatasourceDO::getType, reqVO.getType())
.orderByDesc(ReportDatasourceDO::getCreateTime)); .orderByDesc(ReportDatasourceDO::getCreateTime));
} }
} }
@@ -1,5 +1,6 @@
package com.cf.imes.module.report.service.template; package com.cf.imes.module.report.service.template;
import cn.hutool.core.util.URLUtil;
import com.cf.imes.framework.common.util.object.BeanUtils; import com.cf.imes.framework.common.util.object.BeanUtils;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplateReqVO; import com.cf.imes.module.report.controller.admin.template.vo.ReportTemplateReqVO;
@@ -30,9 +31,10 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
@Override @Override
public Long createReportTemplate(ReportTemplateSaveReqVO createReqVO) { public Long createReportTemplate(ReportTemplateSaveReqVO createReqVO) {
String templateContent = createReqVO.getTemplate(); String templateContent = URLUtil.decode(createReqVO.getTemplate());
if(StringUtils.isNotEmpty(templateContent)) { if(StringUtils.isNotEmpty(templateContent)) {
// todo template压缩待完善 // todo template压缩待完善
createReqVO.setTemplate(templateContent);
} }
// 插入 // 插入
ReportTemplateDO template = BeanUtils.toBean(createReqVO, ReportTemplateDO.class); ReportTemplateDO template = BeanUtils.toBean(createReqVO, ReportTemplateDO.class);
@@ -82,7 +84,7 @@ public class ReportTemplateServiceImpl implements ReportTemplateService {
public List<ReportTemplateDO> getReportTemplateList(ReportTemplateReqVO reqVO) { public List<ReportTemplateDO> getReportTemplateList(ReportTemplateReqVO reqVO) {
return templateMapper.selectList(new LambdaQueryWrapperX<ReportTemplateDO>() return templateMapper.selectList(new LambdaQueryWrapperX<ReportTemplateDO>()
.likeIfPresent(ReportTemplateDO::getName, reqVO.getName()) .likeIfPresent(ReportTemplateDO::getName, reqVO.getName())
.eq(ReportTemplateDO::getType, reqVO.getType()) .eqIfPresent(ReportTemplateDO::getType, reqVO.getType())
.orderByDesc(ReportTemplateDO::getCreateTime)); .orderByDesc(ReportTemplateDO::getCreateTime));
} }
} }