diff --git a/kicc-platform/kicc-platform-api/kicc-report-api/src/main/java/com/cloud/kicc/report/api/entity/ReportSystemFile.java b/kicc-platform/kicc-platform-api/kicc-report-api/src/main/java/com/cloud/kicc/report/api/entity/ReportSystemFile.java new file mode 100644 index 00000000..5b8e6d3e --- /dev/null +++ b/kicc-platform/kicc-platform-api/kicc-report-api/src/main/java/com/cloud/kicc/report/api/entity/ReportSystemFile.java @@ -0,0 +1,34 @@ +package com.cloud.kicc.report.api.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.cloud.kicc.common.data.entity.CommonEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; + +/** + *

+ * UReport 系统文件 + *

+ * + * @Author: wangxiang4 + * @since: 2023/7/5 + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@TableName("report_file") +public class ReportSystemFile extends CommonEntity { + + private static final long serialVersionUID = 1L; + + /** 主键 */ + private String id; + + /** 文件名 */ + private String name; + + /** 文件内容 */ + private byte[] content; + +} diff --git a/kicc-platform/kicc-platform-biz/kicc-report-biz/src/main/java/com/cloud/kicc/report/endpoint/ReportEndpoint.java b/kicc-platform/kicc-platform-biz/kicc-report-biz/src/main/java/com/cloud/kicc/report/endpoint/ReportEndpoint.java index 8538f061..5f2de692 100644 --- a/kicc-platform/kicc-platform-biz/kicc-report-biz/src/main/java/com/cloud/kicc/report/endpoint/ReportEndpoint.java +++ b/kicc-platform/kicc-platform-biz/kicc-report-biz/src/main/java/com/cloud/kicc/report/endpoint/ReportEndpoint.java @@ -1,19 +1,19 @@ package com.cloud.kicc.report.endpoint; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.cloud.kicc.common.core.api.R; import com.cloud.kicc.common.core.constant.AppConstants; -import com.cloud.kicc.report.entity.ReportFileEntity; +import com.cloud.kicc.report.api.entity.ReportSystemFile; import com.cloud.kicc.report.service.IReportFileService; +import com.cloud.kicc.system.api.entity.Config; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; import java.util.Arrays; -import java.util.Map; /** *

@@ -31,31 +31,27 @@ public class ReportEndpoint { private final IReportFileService service; - /** - * 详情 - */ - @GetMapping("/detail") - public R detail(ReportFileEntity file) { - ReportFileEntity detail = service.getOne(Wrappers.lambdaQuery()); - return R.ok(detail); + private LambdaQueryWrapper getQueryWrapper(ReportSystemFile reportFile) { + return new LambdaQueryWrapper() + .like(StrUtil.isNotBlank(reportFile.getName()), ReportSystemFile::getName, reportFile.getName()) + .orderByDesc(ReportSystemFile::getCreateTime); } - /** - * 分页 - */ @GetMapping("/list") - public R> list(Page page, @RequestParam Map file) { - IPage pages = service.page(page, Wrappers.lambdaQuery()); - return R.ok(pages); + public R list(Page page, ReportSystemFile reportFile) { + IPage configPage = service.page(page, getQueryWrapper(reportFile)); + return R.ok(configPage.getRecords(), configPage.getTotal()); } - /** - * 删除 - */ - @PostMapping("/remove") - public R remove(@RequestParam String ids) { - boolean temp = service.removeByIds(Arrays.asList(StrUtil.join(",", ids))); - return R.ok(temp); + @GetMapping("/{id:\\w+}") + public R getById(@PathVariable("id") String id) { + return R.ok(service.getById(id)); + } + + @DeleteMapping("/remove/{ids:[\\w,]+}") + public R remove(@PathVariable String[] ids) { + service.removeByIds(Arrays.asList(ids)); + return R.ok(); } } diff --git a/kicc-platform/kicc-platform-biz/kicc-report-biz/src/main/java/com/cloud/kicc/report/entity/ReportFileEntity.java b/kicc-platform/kicc-platform-biz/kicc-report-biz/src/main/java/com/cloud/kicc/report/entity/ReportFileEntity.java deleted file mode 100644 index 1c1a51be..00000000 --- a/kicc-platform/kicc-platform-biz/kicc-report-biz/src/main/java/com/cloud/kicc/report/entity/ReportFileEntity.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.cloud.kicc.report.entity; - -import com.baomidou.mybatisplus.annotation.TableLogic; -import com.baomidou.mybatisplus.annotation.TableName; -import com.cloud.kicc.common.data.entity.CommonEntity; -import com.fasterxml.jackson.annotation.JsonIgnore; -import lombok.Data; - -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - *

- * UReport实体类 - *

- * - * @Author: wangxiang4 - * @since: 2023/7/5 - */ -@Data -@TableName("sys_report_file") -public class ReportFileEntity extends CommonEntity { - - private static final long serialVersionUID = 1L; - - /** - * 主键 - */ - private String id; - /** - * 文件名 - */ - private String name; - /** - * 文件内容 - */ - private byte[] content; - -} diff --git a/kicc-platform/kicc-platform-biz/kicc-report-biz/src/main/java/com/cloud/kicc/report/mapper/ReportFileMapper.java b/kicc-platform/kicc-platform-biz/kicc-report-biz/src/main/java/com/cloud/kicc/report/mapper/ReportFileMapper.java index 5e715ae3..829b08d3 100644 --- a/kicc-platform/kicc-platform-biz/kicc-report-biz/src/main/java/com/cloud/kicc/report/mapper/ReportFileMapper.java +++ b/kicc-platform/kicc-platform-biz/kicc-report-biz/src/main/java/com/cloud/kicc/report/mapper/ReportFileMapper.java @@ -1,7 +1,7 @@ package com.cloud.kicc.report.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.cloud.kicc.report.entity.ReportFileEntity; +import com.cloud.kicc.report.api.entity.ReportSystemFile; /** *

@@ -11,5 +11,5 @@ import com.cloud.kicc.report.entity.ReportFileEntity; * @Author: wangxiang4 * @since: 2023/7/5 */ -public interface ReportFileMapper extends BaseMapper { +public interface ReportFileMapper extends BaseMapper { } diff --git a/kicc-platform/kicc-platform-biz/kicc-report-biz/src/main/java/com/cloud/kicc/report/provider/DatabaseProvider.java b/kicc-platform/kicc-platform-biz/kicc-report-biz/src/main/java/com/cloud/kicc/report/provider/DatabaseProvider.java index 3b72457d..dc890d05 100644 --- a/kicc-platform/kicc-platform-biz/kicc-report-biz/src/main/java/com/cloud/kicc/report/provider/DatabaseProvider.java +++ b/kicc-platform/kicc-platform-biz/kicc-report-biz/src/main/java/com/cloud/kicc/report/provider/DatabaseProvider.java @@ -3,7 +3,7 @@ package com.cloud.kicc.report.provider; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.bstek.ureport.provider.report.ReportFile; import com.bstek.ureport.provider.report.ReportProvider; -import com.cloud.kicc.report.entity.ReportFileEntity; +import com.cloud.kicc.report.api.entity.ReportSystemFile; import com.cloud.kicc.report.props.ReportDatabaseProperties; import com.cloud.kicc.report.service.IReportFileService; import lombok.AllArgsConstructor; @@ -31,37 +31,39 @@ public class DatabaseProvider implements ReportProvider { @Override public InputStream loadReport(String file) { - ReportFileEntity reportFileEntity = service.getOne(Wrappers.lambdaQuery().eq(ReportFileEntity::getName, getFileName(file))); - byte[] content = reportFileEntity.getContent(); + ReportSystemFile reportSystemFile = service.getOne(Wrappers.lambdaQuery().eq(ReportSystemFile::getName, getFileName(file))); + byte[] content = reportSystemFile.getContent(); return new ByteArrayInputStream(content); } @Override public void deleteReport(String file) { - service.remove(Wrappers.lambdaUpdate().eq(ReportFileEntity::getName, getFileName(file))); + service.remove(Wrappers.lambdaUpdate().eq(ReportSystemFile::getName, getFileName(file))); } @Override public List getReportFiles() { - List list = service.list(); - List reportFiles = new ArrayList<>(); - list.forEach(reportFileEntity -> reportFiles.add(new ReportFile(reportFileEntity.getName(), - Date.from(reportFileEntity.getUpdateTime().toInstant(OffsetDateTime.now().getOffset()))))); + List list = service.list(); + List reportFiles= new ArrayList<>(); + list.forEach(reportSystemFile -> reportFiles.add( + new ReportFile(reportSystemFile.getName(), + Date.from(reportSystemFile.getUpdateTime().toInstant(OffsetDateTime.now().getOffset())))) + ); return reportFiles; } @Override public void saveReport(String file, String content) { String fileName = getFileName(file); - ReportFileEntity reportFileEntity = service.getOne(Wrappers.lambdaQuery().eq(ReportFileEntity::getName, fileName)); - if (reportFileEntity == null) { - reportFileEntity = new ReportFileEntity(); - reportFileEntity.setName(fileName); - reportFileEntity.setContent(content.getBytes()); + ReportSystemFile reportFile = service.getOne(Wrappers.lambdaQuery().eq(ReportSystemFile::getName, fileName)); + if (reportFile == null) { + reportFile = new ReportSystemFile(); + reportFile.setName(fileName); + reportFile.setContent(content.getBytes()); } else { - reportFileEntity.setContent(content.getBytes()); + reportFile.setContent(content.getBytes()); } - service.saveOrUpdate(reportFileEntity); + service.saveOrUpdate(reportFile); } @Override @@ -81,7 +83,6 @@ public class DatabaseProvider implements ReportProvider { /** * 获取标准格式文件名 - * * @param name 原文件名 */ private String getFileName(String name) { diff --git a/kicc-platform/kicc-platform-biz/kicc-report-biz/src/main/java/com/cloud/kicc/report/service/IReportFileService.java b/kicc-platform/kicc-platform-biz/kicc-report-biz/src/main/java/com/cloud/kicc/report/service/IReportFileService.java index d56317bf..d43ba69b 100644 --- a/kicc-platform/kicc-platform-biz/kicc-report-biz/src/main/java/com/cloud/kicc/report/service/IReportFileService.java +++ b/kicc-platform/kicc-platform-biz/kicc-report-biz/src/main/java/com/cloud/kicc/report/service/IReportFileService.java @@ -1,7 +1,7 @@ package com.cloud.kicc.report.service; import com.baomidou.mybatisplus.extension.service.IService; -import com.cloud.kicc.report.entity.ReportFileEntity; +import com.cloud.kicc.report.api.entity.ReportSystemFile; /** *

@@ -11,5 +11,5 @@ import com.cloud.kicc.report.entity.ReportFileEntity; * @Author: wangxiang4 * @since: 2023/7/5 */ -public interface IReportFileService extends IService { +public interface IReportFileService extends IService { } diff --git a/kicc-platform/kicc-platform-biz/kicc-report-biz/src/main/java/com/cloud/kicc/report/service/impl/ReportFileServiceImpl.java b/kicc-platform/kicc-platform-biz/kicc-report-biz/src/main/java/com/cloud/kicc/report/service/impl/ReportFileServiceImpl.java index 0c8f768a..c44dfb13 100644 --- a/kicc-platform/kicc-platform-biz/kicc-report-biz/src/main/java/com/cloud/kicc/report/service/impl/ReportFileServiceImpl.java +++ b/kicc-platform/kicc-platform-biz/kicc-report-biz/src/main/java/com/cloud/kicc/report/service/impl/ReportFileServiceImpl.java @@ -1,7 +1,7 @@ package com.cloud.kicc.report.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.cloud.kicc.report.entity.ReportFileEntity; +import com.cloud.kicc.report.api.entity.ReportSystemFile; import com.cloud.kicc.report.mapper.ReportFileMapper; import com.cloud.kicc.report.service.IReportFileService; import org.springframework.stereotype.Service; @@ -15,5 +15,5 @@ import org.springframework.stereotype.Service; * @since: 2023/7/5 */ @Service -public class ReportFileServiceImpl extends ServiceImpl implements IReportFileService { +public class ReportFileServiceImpl extends ServiceImpl implements IReportFileService { }