From cc4e7c785ae3a43d307d8b473416d4840bf91f5c Mon Sep 17 00:00:00 2001 From: zhouyl <583641232@qq.com> Date: Wed, 9 Oct 2024 11:41:12 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E6=B5=8B=E8=AF=95=E6=95=B0?= =?UTF-8?q?=E6=8D=AE/=E6=B5=8B=E8=AF=95app=E4=B8=8A=E4=BC=A0=EF=BC=8C?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E4=B8=8B=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/TestReportController.java | 108 ++++++++++++++---- .../common/utils/file/FileUtils.java | 5 +- .../functional/domain/TestReport.java | 57 +++++++-- .../service/impl/TestReportServiceImpl.java | 10 +- .../service/impl/SysOssServiceImpl.java | 2 +- 5 files changed, 138 insertions(+), 44 deletions(-) diff --git a/tp-admin/src/main/java/com/inscloudtech/web/controller/system/TestReportController.java b/tp-admin/src/main/java/com/inscloudtech/web/controller/system/TestReportController.java index ed1f002..67bfe94 100644 --- a/tp-admin/src/main/java/com/inscloudtech/web/controller/system/TestReportController.java +++ b/tp-admin/src/main/java/com/inscloudtech/web/controller/system/TestReportController.java @@ -6,6 +6,7 @@ package com.inscloudtech.web.controller.system; import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.stp.StpUtil; import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.inscloudtech.common.annotation.Log; @@ -32,7 +33,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; /** - * 测试报告管理 + * 测试任务管理 * * @author zfcf * @date 2024-08-28 @@ -50,27 +51,48 @@ public class TestReportController { /** - * 测试数据-分页查询 + * 测试内容/测试模型-分页查询 * @param * @param * @return */ - @GetMapping("/page" ) - public TableDataInfo page(PageQuery pageQuery, TestReport testReport) { - Page page = new Page(); - page.setSize(pageQuery.getPageSize()); - page.setCurrent(pageQuery.getPageNum()); + @GetMapping("/testDataPage" ) + public TableDataInfo testDataPage(PageQuery pageQuery, TestReport testReport) { if (!StpUtil.hasRole("admin")) { testReport.setCreateBy(LoginHelper.getUsername()); } + QueryWrapper query = Wrappers.query(testReport); + query.isNotNull("data_atlas"); + return getCommonPage(pageQuery,query); + } - Page result = testReportService.page(page, Wrappers.query(testReport)); + TableDataInfo getCommonPage(PageQuery pageQuery,QueryWrapper query){ + Page page = new Page(); + page.setSize(pageQuery.getPageSize()); + page.setCurrent(pageQuery.getPageNum()); + Page result = testReportService.page(page, query); TableDataInfo dataInfo = new TableDataInfo(); dataInfo.setTotal(result.getTotal()); dataInfo.setRows(result.getRecords()); return dataInfo; } + /** + * 测试App-分页查询 + * @param + * @param + * @return + */ + @GetMapping("/testAppPage" ) + public TableDataInfo testAppPage(PageQuery pageQuery, TestReport testReport) { + if (!StpUtil.hasRole("admin")) { + testReport.setCreateBy(LoginHelper.getUsername()); + } + QueryWrapper query = Wrappers.query(testReport); + query.isNotNull("app_name"); + return getCommonPage(pageQuery,query); + } + /** * 通过id查询测试报告 @@ -88,7 +110,7 @@ public class TestReportController { * 提交测试报告 * */ - @Log(title = "测试报告管理", businessType = BusinessType.INSERT) + @Log(title = "测试任务管理", businessType = BusinessType.INSERT) @PostMapping(value = "/add") public R add(@RequestBody TestReportSubmit vo) { return R.ok(testReportService.add(vo)); @@ -117,53 +139,89 @@ public class TestReportController { } /** - * 后台管理-上传测试报告文件 + * 后台管理-上传测试结果 * */ - @Log(title = "测试报告管理", businessType = BusinessType.INSERT) - @PostMapping(value = "/uploadReport", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) + @Log(title = "测试任务管理", businessType = BusinessType.INSERT) + @PostMapping(value = "/uploadResult", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public R upload( @RequestPart("file") MultipartFile file, - @RequestPart("id") Long id) { + @RequestPart("id") String id) { if (id == null) { - return R.fail("测试报告id不能为空!"); + return R.fail("测试任务id不能为空!"); } TestReport testReport = new TestReport(); - testReport.setId(id); + testReport.setId(Long.parseLong(id)); if(file != null ){ SysOssVo toolVo = iSysOssService.upload(file,true); - testReport.setReportPath(toolVo.getOriginalName()); - testReport.setReportOssId(toolVo.getOssId()); + testReport.setResultPath(toolVo.getOriginalName()); + testReport.setResultOssId(toolVo.getOssId()); } - testReportService.save(testReport); + testReport.setTestStatus("测试完成"); + testReportService.updateById(testReport); return R.ok("操作成功!"); } /** - * 前端用户-上传测试数据 + * 前端用户-上传测试内容/测试模型 * */ @SneakyThrows @Log(title = "测试数据管理", businessType = BusinessType.INSERT) @PostMapping(value = "/uploadTestData", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public R uploadTestData( @RequestPart("file") MultipartFile file, - @RequestPart("reportName") String reportName) { + @RequestPart("taskName") String taskName,@RequestPart("companyName") String companyName, + @RequestPart("dataAtlas") String dataAtlas,String taskDesc) { - if (StrUtil.isEmpty(reportName)) { - return R.fail("数据名称不能为空!"); + if (StrUtil.isEmpty(taskName)) { + return R.fail("测试任务名称不能为空!"); } // testReportService.check(reportName); TestReport testReport = new TestReport(); - testReport.setReportName(reportName); if(file != null ){ SysOssVo toolVo = iSysOssService.upload(file,true); - testReport.setReportPath(toolVo.getOriginalName()); - testReport.setReportOssId(toolVo.getOssId()); + testReport.setTestDataPath(toolVo.getOriginalName()); + testReport.setTestDataOssId(toolVo.getOssId()); + }else { + return R.fail("测试数据不能为空!"); + } + testReport.setTestStatus("测试中"); + testReport.setTaskName(taskName); + testReport.setCompanyName(companyName); + testReport.setDataAtlas(dataAtlas); + testReport.setTaskDesc(taskDesc); + testReportService.save(testReport); + return R.ok("操作成功!"); + } + + /** + * 前端用户-上传测试App + * + */ + @SneakyThrows + @Log(title = "测试数据管理", businessType = BusinessType.INSERT) + @PostMapping(value = "/uploadTestApp", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) + public R uploadTestApp( @RequestPart("file") MultipartFile file, + @RequestPart("taskName") String taskName,String appVersion) { + + if (StrUtil.isEmpty(taskName)) { + return R.fail("测试任务名称不能为空!"); + } + + TestReport testReport = new TestReport(); + testReport.setTaskName(taskName); + if(file != null ){ + SysOssVo toolVo = iSysOssService.upload(file,true); + testReport.setTestDataPath(toolVo.getOriginalName()); + testReport.setTestDataOssId(toolVo.getOssId()); + testReport.setAppName(toolVo.getFileName()); } + testReport.setTestStatus("测试中"); + testReport.setAppVersion(appVersion); testReportService.save(testReport); return R.ok("操作成功!"); } diff --git a/tp-common/src/main/java/com/inscloudtech/common/utils/file/FileUtils.java b/tp-common/src/main/java/com/inscloudtech/common/utils/file/FileUtils.java index 045b6d5..a36ec10 100644 --- a/tp-common/src/main/java/com/inscloudtech/common/utils/file/FileUtils.java +++ b/tp-common/src/main/java/com/inscloudtech/common/utils/file/FileUtils.java @@ -65,13 +65,14 @@ public class FileUtils extends FileUtil { return false; } - // 检查允许下载的文件规则 +/* // 检查允许下载的文件规则 if (ArrayUtils.contains(MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION, FileTypeUtils.getFileType(resource))) { return true; } // 不在允许下载的文件规则 - return false; + return false;*/ + return true; } /** diff --git a/tp-functional/src/main/java/com/inscloudtech/functional/domain/TestReport.java b/tp-functional/src/main/java/com/inscloudtech/functional/domain/TestReport.java index 7ad0246..615dae9 100644 --- a/tp-functional/src/main/java/com/inscloudtech/functional/domain/TestReport.java +++ b/tp-functional/src/main/java/com/inscloudtech/functional/domain/TestReport.java @@ -6,12 +6,14 @@ import com.inscloudtech.common.core.domain.BaseEntity; import lombok.Data; import lombok.EqualsAndHashCode; +import java.util.Date; + /** - * 测试报告管理对象 test_report + * 用户数据上传/测试报告回传对象 test_report * * @author inscloudtech - * @date 2024-09-02 + * @date 2024-10-08 */ @Data @EqualsAndHashCode(callSuper = true) @@ -26,27 +28,60 @@ public class TestReport extends BaseEntity { @TableId(value = "id") private Long id; /** - * 报告名称/测试数据名称 + * 任务名称 */ - @TableField(condition = SqlCondition.LIKE) - private String reportName; + private String taskName; /** - * 测试数据文件 + * 测试内容/测试模型 */ - private String reportPath; + private String testDataPath; /** - * 分析结果文件 + * 测试结果文件 */ private String resultPath; /** - * 报告文件下载id + *测试内容/测试模型存储id */ - private Long reportOssId; + private Long testDataOssId; /** - * 分析结果文件下载id + *测试结果存储id */ private Long resultOssId; + /** + * 任务描述 + */ + private String taskDesc; + /** + * 数据图集 + */ + private String dataAtlas; + /** + *app名称 + */ + private String appName; + /** + *公司名称 + */ + private String companyName; + /** + *app版本/终端类型 + */ + private String appVersion; + /** + * 测试时间 + */ + private Date createTime; + /** + * 上传时间 + */ + private Date updateTime; + + /** + *测试状态 + */ + private String testStatus; } + diff --git a/tp-functional/src/main/java/com/inscloudtech/functional/service/impl/TestReportServiceImpl.java b/tp-functional/src/main/java/com/inscloudtech/functional/service/impl/TestReportServiceImpl.java index ca80267..29dbe5d 100644 --- a/tp-functional/src/main/java/com/inscloudtech/functional/service/impl/TestReportServiceImpl.java +++ b/tp-functional/src/main/java/com/inscloudtech/functional/service/impl/TestReportServiceImpl.java @@ -37,11 +37,11 @@ public class TestReportServiceImpl extends ServiceImpl().eq(TestReport::getReportName, reportName) - .eq(TestReport::getCreateBy, LoginHelper.getUsername())); - if (ObjectUtil.isNotNull(dbObj)) { - throw new ServiceException("测试报告名称【"+reportName+"】已存在!"); - } +// TestReport dbObj = baseMapper.selectOne(new LambdaQueryWrapper().eq(TestReport::getReportName, reportName) +// .eq(TestReport::getCreateBy, LoginHelper.getUsername())); +// if (ObjectUtil.isNotNull(dbObj)) { +// throw new ServiceException("测试报告名称【"+reportName+"】已存在!"); +// } } diff --git a/tp-system/src/main/java/com/inscloudtech/system/service/impl/SysOssServiceImpl.java b/tp-system/src/main/java/com/inscloudtech/system/service/impl/SysOssServiceImpl.java index b7b9b1c..4c430ab 100644 --- a/tp-system/src/main/java/com/inscloudtech/system/service/impl/SysOssServiceImpl.java +++ b/tp-system/src/main/java/com/inscloudtech/system/service/impl/SysOssServiceImpl.java @@ -159,7 +159,7 @@ public class SysOssServiceImpl implements ISysOssService, OssService { @SneakyThrows public void downloadLocal(String fileName, String originalName, HttpServletResponse response,boolean isDecrypt){ if (!FileUtils.checkAllowDownload(fileName)) { - throw new RuntimeException(StrUtil.format("文件名称({})非法,不允许下载。 ", fileName)); + throw new RuntimeException(StrUtil.format("文件名称【{}】非法,不允许下载。 ", fileName)); } String filePath = ProjectConfig.getUploadPath() + fileName; FileUtils.setAttachmentResponseHeader(response, originalName);