Commit cf46538a authored by 盖献康's avatar 盖献康

车型试验 - 执行试验方案 - 返回

parent 9587d7ba
package com.ruoyi.service.impl; package com.ruoyi.service.impl;
import cn.hutool.core.collection.CollUtil;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.ruoyi.common.constant.HttpStatus; import com.ruoyi.common.constant.HttpStatus;
import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.domain.ModelTestTask; import com.ruoyi.domain.ModelTestTask;
import com.ruoyi.mapper.ModelTestTaskMapper; import com.ruoyi.mapper.ModelTestTaskMapper;
import com.ruoyi.service.StrategyModelTestTask; import com.ruoyi.service.StrategyModelTestTask;
import com.ruoyi.service.TestUseCaseService;
import com.ruoyi.web.response.ModelTestResponse; import com.ruoyi.web.response.ModelTestResponse;
import lombok.Data;
import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContext;
...@@ -14,7 +18,9 @@ import org.springframework.stereotype.Service; ...@@ -14,7 +18,9 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Date; import java.util.Date;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.concurrent.atomic.AtomicReference;
@Service @Service
@Transactional @Transactional
...@@ -32,6 +38,11 @@ public class StrategyModelTestTaskPending implements StrategyModelTestTask, Init ...@@ -32,6 +38,11 @@ public class StrategyModelTestTaskPending implements StrategyModelTestTask, Init
@Autowired @Autowired
private StrategyModelTestTaskNew strategyModelTestTaskNew; private StrategyModelTestTaskNew strategyModelTestTaskNew;
@Autowired
private TestUseCaseService testUseCaseService;
private static String url = "https://10.12.48.78:8090/DescribeProjectTestResult";
@Override @Override
public ModelTestResponse doView(ModelTestTask modelTestTask) { public ModelTestResponse doView(ModelTestTask modelTestTask) {
ModelTestResponse response = strategyModelTestTaskNew.getTestScheme(modelTestTask); ModelTestResponse response = strategyModelTestTaskNew.getTestScheme(modelTestTask);
...@@ -45,13 +56,32 @@ public class StrategyModelTestTaskPending implements StrategyModelTestTask, Init ...@@ -45,13 +56,32 @@ public class StrategyModelTestTaskPending implements StrategyModelTestTask, Init
@Override @Override
public void doConfirmTest(ModelTestTask modelTestTask) { public void doConfirmTest(ModelTestTask modelTestTask) {
// 进行中的任务, 点击确认后, 状态改为待签字 // 查看当前任务-用例完成情况
HashMap<String, Object> map = new HashMap<>();
map.put("id", modelTestTask.getTestSchemeId());
map.put("verbose", "BASIC");
JSONObject jsonObject = testUseCaseService.callThirdPartyInterface(url, map);
Integer sumCount = (Integer) jsonObject.get("case_count");
AtomicReference<Integer> currentCount = new AtomicReference<>(0);
List<CaseStatistics> caseStatisticsList = jsonObject.getList("case_statistics", CaseStatistics.class);
if (CollUtil.isNotEmpty(caseStatisticsList)) {
caseStatisticsList.forEach(obj -> {
if (CaseStatistics.CASE_STATUS_FAILED.equals(obj.status) || CaseStatistics.CASE_STATUS_PASSED.equals(obj.status)) {
currentCount.updateAndGet(v -> v + obj.getCount());
}
});
}
Integer integer = currentCount.get();
System.out.println(integer);
// 进行中的任务, 点击返回后, 判断当前用例完成程度, 用例都完成后状态改为待签字
if (sumCount.equals(currentCount.get())) {
modelTestTaskMapper.update(new ModelTestTask(), modelTestTaskMapper.update(new ModelTestTask(),
new LambdaUpdateWrapper<ModelTestTask>() new LambdaUpdateWrapper<ModelTestTask>()
.set(ModelTestTask::getTaskEndTime, new Date()) .set(ModelTestTask::getTaskEndTime, new Date())
.set(ModelTestTask::getTaskStatus, ModelTestTask.TASK_STATUS_SIGNED) .set(ModelTestTask::getTaskStatus, ModelTestTask.TASK_STATUS_SIGNED)
.eq(ModelTestTask::getId, modelTestTask.getId())); .eq(ModelTestTask::getId, modelTestTask.getId()));
} }
}
@Override @Override
public void doSubmitTest(ModelTestTask modelTestTask, List<String> imagesUrl) { public void doSubmitTest(ModelTestTask modelTestTask, List<String> imagesUrl) {
...@@ -62,4 +92,32 @@ public class StrategyModelTestTaskPending implements StrategyModelTestTask, Init ...@@ -62,4 +92,32 @@ public class StrategyModelTestTaskPending implements StrategyModelTestTask, Init
public void afterPropertiesSet() throws Exception { public void afterPropertiesSet() throws Exception {
strategyModelTestTaskContext.putResource(ModelTestTask.TASK_STATUS_PENDING, applicationContext.getBean(this.getClass())); strategyModelTestTaskContext.putResource(ModelTestTask.TASK_STATUS_PENDING, applicationContext.getBean(this.getClass()));
} }
/**
* 接参DTO
*/
@Data
public class CaseStatistics {
/**
* 通过
*/
private static final String CASE_STATUS_PASSED = "PASSED";
/**
* 失败
*/
private static final String CASE_STATUS_FAILED = "FAILED";
/**
* 数量
*/
private Integer count;
/**
* 状态
*/
private String status;
}
} }
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