Commit a103cfe1 authored by 王飞's avatar 王飞

1、实现用例矩阵查询

parent b35c1f29
......@@ -2,12 +2,18 @@ package com.ruoyi.domain.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "MatrixColumnVO", description = "用例矩阵-列")
@Data
public class MatrixColumnVO {
private Long id;
@ApiModelProperty("列名称")
private String title;
......
......@@ -2,10 +2,12 @@ package com.ruoyi.domain.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "MatrixRowVO", description = "用例矩阵-行")
@Data
public class MatrixRowVO {
......@@ -13,7 +15,4 @@ public class MatrixRowVO {
@ApiModelProperty("行名称")
private String name;
@ApiModelProperty("当前行包含的所有列")
private List<MatrixColumnVO> columns;
}
package com.ruoyi.service.impl;
import com.ruoyi.domain.TestScenario;
import com.ruoyi.domain.TestType;
import com.ruoyi.domain.TestUseCase;
import com.ruoyi.domain.vo.MatrixColumnVO;
import com.ruoyi.domain.vo.MatrixRowVO;
import com.ruoyi.service.ITestScenarioService;
import com.ruoyi.service.ITestTypeService;
import com.ruoyi.service.MatrixService;
import com.ruoyi.service.TestUseCaseService;
import com.ruoyi.web.response.MatrixResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.format.TextStyle;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Transactional
@Service
public class MatrixServiceImpl implements MatrixService {
@Autowired
private TestUseCaseService testUseCaseService;
@Autowired
private ITestScenarioService testScenarioService;
@Autowired
private ITestTypeService testTypeService;
@Override
public MatrixResponse getMatrix() {
List<TestUseCase> useCases = testUseCaseService.list();
List<TestScenario> scenarios = testScenarioService.list();
List<TestType> types = testTypeService.list();
MatrixResponse response = new MatrixResponse();
setHeader(response, types);
setRows(response, scenarios, types, useCases);
return null;
return response;
}
private void setHeader(MatrixResponse response, List<TestType> types) {
List<MatrixColumnVO> columns = new ArrayList();
for(TestType type : types) {
MatrixColumnVO column = new MatrixColumnVO(type.getId(), type.getTestType(), null);
columns.add(column);
}
response.setHeader(columns);
}
private void setRows(MatrixResponse response, List<TestScenario> scenarios, List<TestType> types, List<TestUseCase> useCases) {
List<Map<String, Object>> rows = new ArrayList();
for(TestScenario scenario : scenarios) {
Map<String, Object> row = new HashMap();
row.put("name", scenario.getTestScenario());
for(TestType type : types) {
String columnId = String.valueOf(type.getId());
String coordinates = scenario.getId() + columnId;
Long useCaseId = getUseCaseIdByCoordinates(useCases, coordinates);
row.put(columnId, useCaseId == null ? "" : String.valueOf(useCaseId));
}
rows.add(row);
}
response.setRows(rows);
}
public Long getUseCaseIdByCoordinates(List<TestUseCase> useCases, String coordinates) {
for(TestUseCase useCase : useCases) {
if(useCase.getCoordinates().equals(coordinates)) {
return useCase.getId();
}
}
return null;
}
}
......@@ -6,6 +6,7 @@ import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.List;
import java.util.Map;
@ApiModel(value = "MatrixResponse", description = "用例矩阵")
@Data
......@@ -13,6 +14,6 @@ public class MatrixResponse {
private List<MatrixColumnVO> header;
private List<MatrixRowVO> rows;
private List<Map<String, Object>> rows;
}
package com.ruoyi;
import cn.hutool.json.JSONUtil;
import com.ruoyi.service.MatrixService;
import com.ruoyi.web.response.MatrixResponse;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.ArrayList;
......@@ -8,13 +12,12 @@ import java.util.ArrayList;
@SpringBootTest
public class MatrixTest {
@Autowired
private MatrixService matrixService;
@Test
public void generateMatrixTest() {
MatrixResponse matrix = matrixService.getMatrix();
System.out.println(JSONUtil.toJsonPrettyStr(matrix));
}
}
......@@ -9,7 +9,7 @@ import org.springframework.web.socket.server.standard.ServerEndpointExporter;
*
* @author ruoyi
*/
@Configuration
//@Configuration
public class WebSocketConfig
{
@Bean
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment