Jelajahi Sumber

fix: 流水线不存在的情况导致mybatis的null错误

370774330@qq.com 5 tahun lalu
induk
melakukan
9a04de592a

+ 8 - 4
web/src/main/java/cn/seecoder/web/service/impl/func_test/FuncFuncTestServiceImpl.java

@@ -1,17 +1,17 @@
 package cn.seecoder.web.service.impl.func_test;
 
-import cn.seecoder.web.dao.pipeline.PipelineRecordMapper;
-import cn.seecoder.web.dao.pipeline.PipelineMapper;
 import cn.seecoder.web.dao.func_test.FuncTestCaseMapper;
 import cn.seecoder.web.dao.func_test.FuncTestRecordMapper;
 import cn.seecoder.web.dao.func_test.FuncTestStepMapper;
+import cn.seecoder.web.dao.pipeline.PipelineMapper;
+import cn.seecoder.web.dao.pipeline.PipelineRecordMapper;
 import cn.seecoder.web.model.enums.FuncTestOperatorEnum;
 import cn.seecoder.web.model.enums.FuncTestStepState;
-import cn.seecoder.web.model.po.pipeline.PipelinePO;
-import cn.seecoder.web.model.po.pipeline.PipelineRecordPO;
 import cn.seecoder.web.model.po.func_test.FuncTestCasePO;
 import cn.seecoder.web.model.po.func_test.FuncTestRecordPO;
 import cn.seecoder.web.model.po.func_test.FuncTestStepPO;
+import cn.seecoder.web.model.po.pipeline.PipelinePO;
+import cn.seecoder.web.model.po.pipeline.PipelineRecordPO;
 import cn.seecoder.web.model.vo.func_test.FuncTestCaseVO;
 import cn.seecoder.web.model.vo.func_test.FuncTestRecordVO;
 import cn.seecoder.web.model.vo.func_test.FuncTestStepVO;
@@ -22,6 +22,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.sql.Timestamp;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -152,6 +153,9 @@ public class FuncFuncTestServiceImpl implements FuncTestService {
     @Override
     public List<FuncTestRecordVO> getLatestRecord(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);
         return funcTestRecordMapper.selectByPipelineHistoryId(latestRecord.getId()).stream()
                 .map(x->{