From 218b21aae8a64708c09ef27dad6658620e7139e1 Mon Sep 17 00:00:00 2001 From: zhouyl <583641232@qq.com> Date: Thu, 26 Sep 2024 17:53:51 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E7=94=A8=E6=88=B7=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E5=A2=9E=E5=8A=A0=E8=A7=92=E8=89=B2=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/TestReportController.java | 4 +- .../common/core/domain/entity/SysUser.java | 7 + .../functional/domain/TestReport.java | 2 +- .../functional/domain/TestReportSubmit.java | 47 +++++ .../functional/domain/vo/TestReportVo.java | 69 ------- .../functional/mapper/SysDictDataMapper.java | 10 + .../mapper/TestReportSubmitMapper.java | 19 ++ .../functional/service/TestReportService.java | 4 +- .../service/impl/TestReportServiceImpl.java | 174 ++++++++---------- .../resources/mapper/system/SysUserMapper.xml | 7 +- 10 files changed, 166 insertions(+), 177 deletions(-) create mode 100644 tp-functional/src/main/java/com/inscloudtech/functional/domain/TestReportSubmit.java delete mode 100644 tp-functional/src/main/java/com/inscloudtech/functional/domain/vo/TestReportVo.java create mode 100644 tp-functional/src/main/java/com/inscloudtech/functional/mapper/SysDictDataMapper.java create mode 100644 tp-functional/src/main/java/com/inscloudtech/functional/mapper/TestReportSubmitMapper.java 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 e27a011..edbf95b 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 @@ -18,7 +18,7 @@ import com.inscloudtech.common.enums.BusinessType; import com.inscloudtech.common.helper.LoginHelper; import com.inscloudtech.common.utils.file.FileUploadUtils; import com.inscloudtech.functional.domain.TestReport; -import com.inscloudtech.functional.domain.vo.TestReportVo; +import com.inscloudtech.functional.domain.vo.TestReportSubmit; import com.inscloudtech.functional.service.TestReportService; import com.inscloudtech.system.domain.SysOss; import com.inscloudtech.system.domain.vo.SysOssVo; @@ -88,7 +88,7 @@ public class TestReportController { */ @Log(title = "测试报告管理", businessType = BusinessType.INSERT) @PostMapping(value = "/add") - public R add(@RequestBody TestReportVo vo) { + public R add(@RequestBody TestReportSubmit vo) { testReportService.add(vo); return R.ok("操作成功!"); diff --git a/tp-common/src/main/java/com/inscloudtech/common/core/domain/entity/SysUser.java b/tp-common/src/main/java/com/inscloudtech/common/core/domain/entity/SysUser.java index 5c2dfd9..0b9a242 100644 --- a/tp-common/src/main/java/com/inscloudtech/common/core/domain/entity/SysUser.java +++ b/tp-common/src/main/java/com/inscloudtech/common/core/domain/entity/SysUser.java @@ -129,6 +129,13 @@ public class SysUser extends BaseEntity { */ private String remark; + /** + * 角色名称 + */ + @TableField(exist = false) + private String roleName; + + /** * 部门对象 */ 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 70a35ec..312a697 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 @@ -48,7 +48,7 @@ public class TestReport extends BaseEntity { private Long resultOssId; /** - * 上传类型-报告/数据 + * 上传类型-报告/数据(uploadType) */ private String updateType; diff --git a/tp-functional/src/main/java/com/inscloudtech/functional/domain/TestReportSubmit.java b/tp-functional/src/main/java/com/inscloudtech/functional/domain/TestReportSubmit.java new file mode 100644 index 0000000..109ec14 --- /dev/null +++ b/tp-functional/src/main/java/com/inscloudtech/functional/domain/TestReportSubmit.java @@ -0,0 +1,47 @@ +package com.inscloudtech.functional.domain; + + +import com.baomidou.mybatisplus.annotation.SqlCondition; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.inscloudtech.common.core.domain.BaseEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + + +/** + * 测试报告管理对象 test_report + * + * @author inscloudtech + * @date 2024-09-02 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class TestReportSubmit extends BaseEntity { + + private static final long serialVersionUID=1L; + + /** + * 主键 + */ + @TableId(value = "id") + private Long id; + + private String reportOption1; + private String reportOption2; + private String reportOption3; + private String reportOption4; + private String reportOption5; + private String reportOption6; + private String reportOption7; + + private String reportOptionResult7; + private String reportOptionResult6; + private String reportOptionResult5; + private String reportOptionResult4; + private String reportOptionResult3; + private String reportOptionResult2; + private String reportOptionResult1; + +} diff --git a/tp-functional/src/main/java/com/inscloudtech/functional/domain/vo/TestReportVo.java b/tp-functional/src/main/java/com/inscloudtech/functional/domain/vo/TestReportVo.java deleted file mode 100644 index 3657d6a..0000000 --- a/tp-functional/src/main/java/com/inscloudtech/functional/domain/vo/TestReportVo.java +++ /dev/null @@ -1,69 +0,0 @@ -package com.inscloudtech.functional.domain.vo; - - -import com.baomidou.mybatisplus.annotation.SqlCondition; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import com.inscloudtech.common.core.domain.BaseEntity; -import lombok.Data; -import lombok.EqualsAndHashCode; - - -/** - * 测试报告对象 test_report - * - * @author inscloudtech - * @date 2024-09-02 - */ -@Data -public class TestReportVo { - - - /** - * 框架稳定性-jmeter-聚合报告-错误率 - * 通常,错误率低于1%可能被认为是较好的性能,错误率在1%-5%之间可能需要进一步调查和优化, - * 而错误率超过5%可能需要立即解决。重要的是要根据具体的业务场景和性能目标来评估错误率是否可接受。 - */ - private String apiErrorRate; - - /** - * cpu性能-gips - * 并且得到了每秒100,000次的性能,这可能意味着CPU在单核性能上表现良好。如果多核性能达到了每秒1,000,000次, - * 这可能表明CPU在多线程应用中具有很好的性能。 - */ - private String gips; - - /** - * cpu温度 - 然而,可以提供一些一般性的指导原则。对于台式机CPU,通常认为在空载或轻负载条件下,CPU温度保持在40°C到60°C之间是理想的。在重负载条件下,CPU温度上升至60°C到80°C可能是可以接受的,但长时间运行在高温度下可能会影响CPU的寿命和性能。 - 对于笔记本电脑CPU,由于空间限制和散热挑战,温度通常会较高。在空载或轻负载条件下,CPU温度在50°C到70°C之间可能是常见的,而在重负载条件下,温度可能会上升至70°C到90°C。一些高性能的笔记本电脑可能会采用更先进的散热技术,使得CPU在重负载下的温度保持在80°C以下。 - */ - private String temperature; - - /** - * 内存的大小对于计算机的性能有着重要影响,不同的使用场景和需求会导致对内存大小的不同要求。以下是一些关于内存大小优化的通用指南: - * - * 日常办公和多任务处理:对于大多数日常办公任务和多任务处理,8GB内存已经可以提供良好的性能。如果使用较为复杂的数据处理软件或者同时运行多个应用程序,16GB内存可能更为合适。 - * - * 图形设计和视频编辑:这类工作通常需要较大的内存来处理大量的数据和图形。32GB内存可能是一个更好的选择,以确保流畅的性能。 - * - * 科学计算和大数据分析:这些领域通常需要大量的内存来处理复杂的数据集和计算。64GB或更大的内存可能是必要的。 - * - * 游戏:现代游戏对内存的需求也在不断提高,特别是那些需要大量图形渲染和复杂场景的游戏。一般而言,16GB内存可以满足大多数游戏的需求,但一些大型游戏或高分辨率模组可能需要32GB或更多。 - * - * 服务器和虚拟化:服务器和虚拟化环境通常需要更多的内存来支持多个并发任务和虚拟机的运行。至少32GB内存是常见的起点,而高端服务器可能会有数百GB甚至更多。 - * - * 嵌入式设备和移动设备:这些设备通常有较小的内存容量,因为它们需要更小的体积和更高的能效。例如,智能手机和平板电脑可能会有4GB或8GB内存。 - * - * 总的来说,内存的大小应该根据您的具体需求和使用场景来决定。更大的内存可以提供更流畅的多任务处理能力和更好的性能,但也会增加成本和能耗。因此,优化内存大小需要在性能、成本和能效之间找到平衡。 - */ - private String memorySize; - - - private String diskReadAndWriteSpeed; - - private String netSpeed; - - private String flawCount; -} diff --git a/tp-functional/src/main/java/com/inscloudtech/functional/mapper/SysDictDataMapper.java b/tp-functional/src/main/java/com/inscloudtech/functional/mapper/SysDictDataMapper.java new file mode 100644 index 0000000..f0828de --- /dev/null +++ b/tp-functional/src/main/java/com/inscloudtech/functional/mapper/SysDictDataMapper.java @@ -0,0 +1,10 @@ +package com.inscloudtech.functional.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.inscloudtech.common.core.domain.entity.SysDictData; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface SysDictDataMapper extends BaseMapper { + +} diff --git a/tp-functional/src/main/java/com/inscloudtech/functional/mapper/TestReportSubmitMapper.java b/tp-functional/src/main/java/com/inscloudtech/functional/mapper/TestReportSubmitMapper.java new file mode 100644 index 0000000..600f9a5 --- /dev/null +++ b/tp-functional/src/main/java/com/inscloudtech/functional/mapper/TestReportSubmitMapper.java @@ -0,0 +1,19 @@ +package com.inscloudtech.functional.mapper; + + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.inscloudtech.functional.domain.TestReport; +import com.inscloudtech.functional.domain.TestReportSubmit; +import org.apache.ibatis.annotations.Mapper; + +/** + * cpu信息 + * + * @author zfcf + * @date 2024-08-28 + */ +@Mapper +public interface TestReportSubmitMapper extends BaseMapper { + +} diff --git a/tp-functional/src/main/java/com/inscloudtech/functional/service/TestReportService.java b/tp-functional/src/main/java/com/inscloudtech/functional/service/TestReportService.java index 0dd0abb..eac3d22 100644 --- a/tp-functional/src/main/java/com/inscloudtech/functional/service/TestReportService.java +++ b/tp-functional/src/main/java/com/inscloudtech/functional/service/TestReportService.java @@ -4,7 +4,7 @@ package com.inscloudtech.functional.service; import com.baomidou.mybatisplus.extension.service.IService; import com.inscloudtech.functional.domain.CpuInfo; import com.inscloudtech.functional.domain.TestReport; -import com.inscloudtech.functional.domain.vo.TestReportVo; +import com.inscloudtech.functional.domain.TestReportSubmit; import org.springframework.web.multipart.MultipartFile; @@ -17,6 +17,6 @@ public interface TestReportService extends IService { void check(String reportName); - void add(TestReportVo vo); + void add(TestReportSubmit vo); } 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 9f8f708..60a73ff 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 @@ -2,28 +2,26 @@ package com.inscloudtech.functional.service.impl; import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.inscloudtech.common.constant.CacheConstants; -import com.inscloudtech.common.constant.CacheNames; +import com.inscloudtech.common.constant.UserConstants; +import com.inscloudtech.common.core.domain.entity.SysDictData; import com.inscloudtech.common.exception.ServiceException; import com.inscloudtech.common.helper.LoginHelper; -import com.inscloudtech.common.utils.file.FileUploadUtils; -import com.inscloudtech.functional.domain.CpuInfo; +import com.inscloudtech.functional.domain.FuncCarApi; import com.inscloudtech.functional.domain.TestReport; -import com.inscloudtech.functional.domain.vo.TestReportVo; -import com.inscloudtech.functional.mapper.CpuInfoMapper; +import com.inscloudtech.functional.domain.TestReportSubmit; +import com.inscloudtech.functional.mapper.SysDictDataMapper; import com.inscloudtech.functional.mapper.TestReportMapper; -import com.inscloudtech.functional.service.CpuInfoService; import com.inscloudtech.functional.service.TestReportService; +import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; -import org.springframework.web.multipart.MultipartFile; import java.util.ArrayList; -import java.util.HashMap; +import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * @@ -31,17 +29,12 @@ import java.util.Map; * @date 2024-08-28 */ @Service +@RequiredArgsConstructor public class TestReportServiceImpl extends ServiceImpl implements TestReportService { - private final static Map REPORT_OPTION = new HashMap(); + private final SysDictDataMapper sysDictDataMapper; - String[] apiErrorRate = {"char", "varchar", "nvarchar", "varchar2"}; - - static { -// REPORT_OPTION.put() - } - @Override public void check(String reportName) { TestReport dbObj = baseMapper.selectOne(new LambdaQueryWrapper().eq(TestReport::getReportName, reportName).eq(TestReport::getCreateBy, LoginHelper.getUserId())); @@ -50,6 +43,14 @@ public class TestReportServiceImpl extends ServiceImpl dictTypeList = Arrays.asList("report_option_1", "report_option_2", "report_option_3", "report_option_4", + "report_option_4", "report_option_5", "report_option_6", "report_option_7"); /** * 框架稳定性-jmeter-聚合报告-错误率 * 通常,错误率低于1%可能被认为是较好的性能,错误率在1%-5%之间可能需要进一步调查和优化, @@ -59,13 +60,19 @@ public class TestReportServiceImpl extends ServiceImpl sysDictDataList = sysDictDataMapper.selectList( + new LambdaQueryWrapper() + .eq(SysDictData::getStatus, UserConstants.DICT_NORMAL) + .in(SysDictData::getDictType, dictTypeList) + .orderByAsc(SysDictData::getDictSort)); + + Map> groupByType = sysDictDataList.stream().collect(Collectors.groupingBy(SysDictData::getDictType)); + + getApiErrorRateResult(vo.getReportOption1()); + getCpuResultXn(vo.getReportOption2()); + getCpuResultTemperature(vo.getReportOption3()); + getMemorySizeResult(vo.getReportOption4()); + getDiskReadAndWriteSpeedResult(vo.getReportOption5()); + getNetSpeedResult(vo.getReportOption6()); + getFlawCountResult(vo.getReportOption7()); } diff --git a/tp-system/src/main/resources/mapper/system/SysUserMapper.xml b/tp-system/src/main/resources/mapper/system/SysUserMapper.xml index 82c8d86..3237545 100644 --- a/tp-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/tp-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -25,6 +25,8 @@ + + @@ -87,9 +89,12 @@