|
|
@@ -0,0 +1,50 @@
|
|
|
+package cn.seecoder.web.service.impl.auto_test;
|
|
|
+
|
|
|
+import cn.seecoder.web.dao.APITest.APITestMapper;
|
|
|
+import cn.seecoder.web.dao.pipeline.PipelineMapper;
|
|
|
+import cn.seecoder.web.dao.pipeline.PipelineRecordMapper;
|
|
|
+import cn.seecoder.web.model.po.pipeline.PipelinePO;
|
|
|
+import cn.seecoder.web.model.po.pipeline.PipelineRecordPO;
|
|
|
+import cn.seecoder.web.model.vo.APITest.APITestResultVO;
|
|
|
+import cn.seecoder.web.service.auto_test.AutoTestService;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+@Service
|
|
|
+public class AutoTestServiceImpl implements AutoTestService {
|
|
|
+
|
|
|
+ private final PipelineMapper pipelineMapper;
|
|
|
+
|
|
|
+ private final PipelineRecordMapper pipelineRecordMapper;
|
|
|
+
|
|
|
+ private final APITestMapper apiTestMapper;
|
|
|
+
|
|
|
+ public AutoTestServiceImpl(PipelineMapper pipelineMapper, PipelineRecordMapper pipelineRecordMapper, APITestMapper apiTestMapper) {
|
|
|
+ this.pipelineMapper = pipelineMapper;
|
|
|
+ this.pipelineRecordMapper = pipelineRecordMapper;
|
|
|
+ this.apiTestMapper = apiTestMapper;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List<APITestResultVO> getAutoTestResultByProjectId(Integer projectId) {
|
|
|
+ List<Integer> pipelineIds = pipelineMapper.selectByProjectId(projectId).stream().map(PipelinePO::getId).collect(Collectors.toList());
|
|
|
+ if (pipelineIds.size() == 0) {
|
|
|
+ return new ArrayList<>();
|
|
|
+ }
|
|
|
+ PipelineRecordPO latestRecord = pipelineRecordMapper.selectPipelinesLatestRecord(pipelineIds);
|
|
|
+ if (latestRecord == null) {
|
|
|
+ return new ArrayList<>();
|
|
|
+ }
|
|
|
+ return apiTestMapper.selectByPipelineRecordId(latestRecord.getId()).stream()
|
|
|
+ .map(x->{
|
|
|
+ APITestResultVO vo = new APITestResultVO();
|
|
|
+ BeanUtils.copyProperties(x, vo);
|
|
|
+ return vo;
|
|
|
+ })
|
|
|
+ .collect(Collectors.toList());
|
|
|
+ }
|
|
|
+}
|