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 3cb705e..e27a011 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,6 +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.service.TestReportService; import com.inscloudtech.system.domain.SysOss; import com.inscloudtech.system.domain.vo.SysOssVo; @@ -79,8 +80,22 @@ public class TestReportController { return R.ok(testReportService.getById(id)); } + + + /** + * 提交测试报告 + * + */ + @Log(title = "测试报告管理", businessType = BusinessType.INSERT) + @PostMapping(value = "/add") + public R add(@RequestBody TestReportVo vo) { + testReportService.add(vo); + + return R.ok("操作成功!"); + } + /** - * 上传测试报告/文件加密 + * 上传测试报告文件 * */ @Log(title = "测试报告管理", businessType = BusinessType.INSERT) 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 531297e..5c2dfd9 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 @@ -11,6 +11,7 @@ import com.inscloudtech.common.xss.Xss; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; +import org.hibernate.validator.constraints.Length; import javax.validation.constraints.Email; import javax.validation.constraints.NotBlank; @@ -42,7 +43,7 @@ public class SysUser extends BaseEntity { private Long deptId; /** - * 用户账号 + * 用户账号/手机号码 */ @Xss(message = "用户账号不能包含脚本字符") @NotBlank(message = "用户账号不能为空") @@ -158,6 +159,11 @@ public class SysUser extends BaseEntity { @TableField(exist = false) private Long roleId; + /** + * 公司名称 + */ + private String companyName; + public SysUser(Long userId) { this.userId = userId; } diff --git a/tp-common/src/main/java/com/inscloudtech/common/core/domain/model/LoginBody.java b/tp-common/src/main/java/com/inscloudtech/common/core/domain/model/LoginBody.java index 8e911eb..24282a5 100644 --- a/tp-common/src/main/java/com/inscloudtech/common/core/domain/model/LoginBody.java +++ b/tp-common/src/main/java/com/inscloudtech/common/core/domain/model/LoginBody.java @@ -16,12 +16,28 @@ import javax.validation.constraints.NotBlank; public class LoginBody { /** - * 用户名 + * 手机号 */ @NotBlank(message = "{user.username.not.blank}") - @Length(min = UserConstants.USERNAME_MIN_LENGTH, max = UserConstants.USERNAME_MAX_LENGTH, message = "{user.username.length.valid}") + @Length(min = 11, max = 11, message = "{user.mobile.phone.number.not.valid}") private String username; + + /** + * 用户昵称 + */ + @NotBlank(message = "{user.username.not.blank}") + @Length(min = UserConstants.USERNAME_MIN_LENGTH, max = UserConstants.USERNAME_MAX_LENGTH, message = "{user.username.length.valid}") + private String nickName; + + + /** + * 公司名称 + */ + @NotBlank + @Length(min = 5, max =50, message = "{length.not.valid}") + private String companyName; + /** * 用户密码 */ 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 new file mode 100644 index 0000000..3657d6a --- /dev/null +++ b/tp-functional/src/main/java/com/inscloudtech/functional/domain/vo/TestReportVo.java @@ -0,0 +1,69 @@ +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/service/TestReportService.java b/tp-functional/src/main/java/com/inscloudtech/functional/service/TestReportService.java index f0ba616..0dd0abb 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,6 +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 org.springframework.web.multipart.MultipartFile; @@ -15,5 +16,7 @@ import org.springframework.web.multipart.MultipartFile; public interface TestReportService extends IService { void check(String reportName); + + void add(TestReportVo 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 2b42ce4..9f8f708 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 @@ -5,11 +5,14 @@ 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.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.TestReport; +import com.inscloudtech.functional.domain.vo.TestReportVo; import com.inscloudtech.functional.mapper.CpuInfoMapper; import com.inscloudtech.functional.mapper.TestReportMapper; import com.inscloudtech.functional.service.CpuInfoService; @@ -17,6 +20,11 @@ import com.inscloudtech.functional.service.TestReportService; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + /** * * @author zfcf @@ -25,6 +33,15 @@ import org.springframework.web.multipart.MultipartFile; @Service public class TestReportServiceImpl extends ServiceImpl implements TestReportService { + private final static Map REPORT_OPTION = new HashMap(); + + + 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())); @@ -33,4 +50,198 @@ public class TestReportServiceImpl extends ServiceImpl