Browse Source

用户提交测试报告

master
zhouyl 12 months ago
parent
commit
91d152a30f
  1. 7
      tp-admin/src/main/java/com/inscloudtech/web/controller/system/TestReportController.java
  2. 6
      tp-admin/src/main/resources/application-dev.yml
  3. 2
      tp-functional/src/main/java/com/inscloudtech/functional/mapper/DictDataMapper.java
  4. 2
      tp-functional/src/main/java/com/inscloudtech/functional/service/TestReportService.java
  5. 77
      tp-functional/src/main/java/com/inscloudtech/functional/service/impl/TestReportServiceImpl.java

7
tp-admin/src/main/java/com/inscloudtech/web/controller/system/TestReportController.java

@ -11,14 +11,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.inscloudtech.common.annotation.Log;
import com.inscloudtech.common.core.domain.PageQuery;
import com.inscloudtech.common.core.domain.R;
import com.inscloudtech.common.core.domain.model.LoginUser;
import com.inscloudtech.common.core.page.TableDataInfo;
import com.inscloudtech.common.encrypt.annotation.ApiEncrypt;
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.TestReportSubmit;
import com.inscloudtech.functional.domain.TestReportSubmit;
import com.inscloudtech.functional.service.TestReportService;
import com.inscloudtech.system.domain.SysOss;
import com.inscloudtech.system.domain.vo.SysOssVo;
@ -89,9 +87,8 @@ public class TestReportController {
@Log(title = "测试报告管理", businessType = BusinessType.INSERT)
@PostMapping(value = "/add")
public R add(@RequestBody TestReportSubmit vo) {
testReportService.add(vo);
return R.ok("操作成功!");
return R.ok(testReportService.add(vo));
}
/**

6
tp-admin/src/main/resources/application-dev.yml

@ -17,7 +17,7 @@ spring:
driverClassName: com.mysql.cj.jdbc.Driver
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
url: jdbc:mysql://ly:3306/test_platform?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
url: jdbc:mysql://localhost:3306/test_platform?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
username: root
password: 123456
# 从库数据源
@ -48,13 +48,13 @@ spring:
spring:
redis:
# 地址
host: ly
host: localhost
# 端口,默认为6379
port: 6379
# 数据库索引
database: 4
# 密码(如没有密码请注释掉)
password: 123456
# password: 123456
# 连接超时时间
timeout: 10s
# 是否开启ssl

2
tp-functional/src/main/java/com/inscloudtech/functional/mapper/SysDictDataMapper.java → tp-functional/src/main/java/com/inscloudtech/functional/mapper/DictDataMapper.java

@ -5,6 +5,6 @@ import com.inscloudtech.common.core.domain.entity.SysDictData;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface SysDictDataMapper extends BaseMapper<SysDictData> {
public interface DictDataMapper extends BaseMapper<SysDictData> {
}

2
tp-functional/src/main/java/com/inscloudtech/functional/service/TestReportService.java

@ -17,6 +17,6 @@ public interface TestReportService extends IService<TestReport> {
void check(String reportName);
void add(TestReportSubmit vo);
TestReportSubmit add(TestReportSubmit vo);
}

77
tp-functional/src/main/java/com/inscloudtech/functional/service/impl/TestReportServiceImpl.java

@ -11,16 +11,14 @@ import com.inscloudtech.common.helper.LoginHelper;
import com.inscloudtech.functional.domain.FuncCarApi;
import com.inscloudtech.functional.domain.TestReport;
import com.inscloudtech.functional.domain.TestReportSubmit;
import com.inscloudtech.functional.mapper.SysDictDataMapper;
import com.inscloudtech.functional.mapper.DictDataMapper;
import com.inscloudtech.functional.mapper.TestReportMapper;
import com.inscloudtech.functional.mapper.TestReportSubmitMapper;
import com.inscloudtech.functional.service.TestReportService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
/**
@ -32,7 +30,9 @@ import java.util.stream.Collectors;
@RequiredArgsConstructor
public class TestReportServiceImpl extends ServiceImpl<TestReportMapper, TestReport> implements TestReportService {
private final SysDictDataMapper sysDictDataMapper;
private final DictDataMapper dictDataMapper;
private final TestReportSubmitMapper testReportSubmitMapper;
@Override
@ -192,25 +192,68 @@ public class TestReportServiceImpl extends ServiceImpl<TestReportMapper, TestRep
}
@Override
public void add(TestReportSubmit vo) {
public TestReportSubmit add(TestReportSubmit vo) {
TestReportSubmit add = new TestReportSubmit();
add.setReportOptionResult1(getApiErrorRateResult(vo.getReportOption1()));
add.setReportOptionResult2(getCpuResultXn(vo.getReportOption2()));
add.setReportOptionResult3(getCpuResultTemperature(vo.getReportOption3()));
add.setReportOptionResult4(getMemorySizeResult(vo.getReportOption4()));
add.setReportOptionResult5(getDiskReadAndWriteSpeedResult(vo.getReportOption5()));
add.setReportOptionResult6(getNetSpeedResult(vo.getReportOption6()));
add.setReportOptionResult7(getFlawCountResult(vo.getReportOption7()));
List<SysDictData> sysDictDataList = sysDictDataMapper.selectList(
setReportOptionLabel(add,vo);
testReportSubmitMapper.insert(add);
return add;
}
void setReportOptionLabel(TestReportSubmit add,TestReportSubmit vo ){
List<SysDictData> sysDictDataList = dictDataMapper.selectList(
new LambdaQueryWrapper<SysDictData>()
.eq(SysDictData::getStatus, UserConstants.DICT_NORMAL)
.in(SysDictData::getDictType, dictTypeList)
.orderByAsc(SysDictData::getDictSort));
Map<String, List<SysDictData>> groupByType = sysDictDataList.stream().collect(Collectors.groupingBy(SysDictData::getDictType));
for (String option : groupByType.keySet()) {
List<SysDictData> report_option_1 = groupByType.get("report_option_1");
Optional<SysDictData> first = report_option_1.stream().filter(item -> item.getDictValue().equals(vo.getReportOption1())).findFirst();
if (!first.isPresent()) {
continue;
getApiErrorRateResult(vo.getReportOption1());
getCpuResultXn(vo.getReportOption2());
getCpuResultTemperature(vo.getReportOption3());
getMemorySizeResult(vo.getReportOption4());
getDiskReadAndWriteSpeedResult(vo.getReportOption5());
getNetSpeedResult(vo.getReportOption6());
getFlawCountResult(vo.getReportOption7());
// 使用找到的对象
}
SysDictData item = first.get();
String reportOptionLabel = item.getDictLabel();
switch (option){
case "report_option_1":
add.setReportOption1(reportOptionLabel);
break;
case "report_option_2":
add.setReportOption2(reportOptionLabel);
break;
case "report_option_3":
add.setReportOption3(reportOptionLabel);
break;
case "report_option_4":
add.setReportOption4(reportOptionLabel);
break;
case "report_option_5":
add.setReportOption5(reportOptionLabel);
break;
case "report_option_6":
add.setReportOption6(reportOptionLabel);
break;
case "report_option_7":
add.setReportOption7(reportOptionLabel);
break;
}
}
}

Loading…
Cancel
Save