refactor(任务中心): 优化任务详情查看结果
This commit is contained in:
parent
a98f8bc20f
commit
d440688cbf
|
@ -2,10 +2,7 @@ package io.metersphere.api.controller.definition;
|
||||||
|
|
||||||
import com.github.pagehelper.Page;
|
import com.github.pagehelper.Page;
|
||||||
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageHelper;
|
||||||
import io.metersphere.api.dto.definition.ApiReportBatchRequest;
|
import io.metersphere.api.dto.definition.*;
|
||||||
import io.metersphere.api.dto.definition.ApiReportDTO;
|
|
||||||
import io.metersphere.api.dto.definition.ApiReportDetailDTO;
|
|
||||||
import io.metersphere.api.dto.definition.ApiReportPageRequest;
|
|
||||||
import io.metersphere.api.dto.report.ApiReportListDTO;
|
import io.metersphere.api.dto.report.ApiReportListDTO;
|
||||||
import io.metersphere.api.service.ApiReportShareService;
|
import io.metersphere.api.service.ApiReportShareService;
|
||||||
import io.metersphere.api.service.definition.ApiReportLogService;
|
import io.metersphere.api.service.definition.ApiReportLogService;
|
||||||
|
@ -139,7 +136,7 @@ public class ApiReportController {
|
||||||
@Operation(summary = "系统-任务中心-接口用例执行任务详情-查看")
|
@Operation(summary = "系统-任务中心-接口用例执行任务详情-查看")
|
||||||
@RequiresPermissions(value = {PermissionConstants.SYSTEM_CASE_TASK_CENTER_READ,
|
@RequiresPermissions(value = {PermissionConstants.SYSTEM_CASE_TASK_CENTER_READ,
|
||||||
PermissionConstants.ORGANIZATION_CASE_TASK_CENTER_READ, PermissionConstants.PROJECT_CASE_TASK_CENTER_READ}, logical = Logical.OR)
|
PermissionConstants.ORGANIZATION_CASE_TASK_CENTER_READ, PermissionConstants.PROJECT_CASE_TASK_CENTER_READ}, logical = Logical.OR)
|
||||||
public List<ApiReportDetailDTO> viewCaseItemReport(@PathVariable String id) {
|
public ApiTaskReportDTO viewCaseItemReport(@PathVariable String id) {
|
||||||
return apiReportService.viewCaseTaskItemReport(id);
|
return apiReportService.viewCaseTaskItemReport(id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,9 +4,11 @@ import com.github.pagehelper.Page;
|
||||||
import com.github.pagehelper.PageHelper;
|
import com.github.pagehelper.PageHelper;
|
||||||
import io.metersphere.api.dto.definition.ApiReportBatchRequest;
|
import io.metersphere.api.dto.definition.ApiReportBatchRequest;
|
||||||
import io.metersphere.api.dto.definition.ApiReportPageRequest;
|
import io.metersphere.api.dto.definition.ApiReportPageRequest;
|
||||||
|
import io.metersphere.api.dto.definition.ApiTaskReportDTO;
|
||||||
import io.metersphere.api.dto.report.ApiScenarioReportListDTO;
|
import io.metersphere.api.dto.report.ApiScenarioReportListDTO;
|
||||||
import io.metersphere.api.dto.scenario.ApiScenarioReportDTO;
|
import io.metersphere.api.dto.scenario.ApiScenarioReportDTO;
|
||||||
import io.metersphere.api.dto.scenario.ApiScenarioReportDetailDTO;
|
import io.metersphere.api.dto.scenario.ApiScenarioReportDetailDTO;
|
||||||
|
import io.metersphere.api.dto.scenario.ExecTaskDetailDTO;
|
||||||
import io.metersphere.api.service.ApiReportShareService;
|
import io.metersphere.api.service.ApiReportShareService;
|
||||||
import io.metersphere.api.service.scenario.ApiScenarioReportLogService;
|
import io.metersphere.api.service.scenario.ApiScenarioReportLogService;
|
||||||
import io.metersphere.api.service.scenario.ApiScenarioReportNoticeService;
|
import io.metersphere.api.service.scenario.ApiScenarioReportNoticeService;
|
||||||
|
@ -139,7 +141,7 @@ public class ApiScenarioReportController {
|
||||||
@Operation(summary = "系统-任务中心-场景用例执行任务详情-查看(任务步骤)")
|
@Operation(summary = "系统-任务中心-场景用例执行任务详情-查看(任务步骤)")
|
||||||
@RequiresPermissions(value = {PermissionConstants.SYSTEM_CASE_TASK_CENTER_READ,
|
@RequiresPermissions(value = {PermissionConstants.SYSTEM_CASE_TASK_CENTER_READ,
|
||||||
PermissionConstants.ORGANIZATION_CASE_TASK_CENTER_READ, PermissionConstants.PROJECT_CASE_TASK_CENTER_READ}, logical = Logical.OR)
|
PermissionConstants.ORGANIZATION_CASE_TASK_CENTER_READ, PermissionConstants.PROJECT_CASE_TASK_CENTER_READ}, logical = Logical.OR)
|
||||||
public ApiScenarioReportDTO viewScenarioItemReport(@PathVariable String id) {
|
public ExecTaskDetailDTO viewScenarioItemReport(@PathVariable String id) {
|
||||||
return apiScenarioReportService.viewScenarioItemReport(id);
|
return apiScenarioReportService.viewScenarioItemReport(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
package io.metersphere.api.dto.definition;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class ApiTaskReportDTO {
|
||||||
|
|
||||||
|
|
||||||
|
@Schema(description = "发起时间")
|
||||||
|
private Long createTime;
|
||||||
|
|
||||||
|
@Schema(description = "开始时间")
|
||||||
|
private Long startTime;
|
||||||
|
|
||||||
|
@Schema(description = "结束时间")
|
||||||
|
private Long endTime;
|
||||||
|
|
||||||
|
@Schema(description = "任务来源")
|
||||||
|
private String taskOrigin;
|
||||||
|
@Schema(description = "任务来源名称")
|
||||||
|
private String taskOriginName;
|
||||||
|
|
||||||
|
@Schema(description = "结果")
|
||||||
|
private String result;
|
||||||
|
|
||||||
|
@Schema(description = "资源池ID")
|
||||||
|
private String resourcePoolId;
|
||||||
|
@Schema(description = "资源池名称")
|
||||||
|
private String resourcePoolName;
|
||||||
|
|
||||||
|
@Schema(description = "节点")
|
||||||
|
private String resourcePoolNode;
|
||||||
|
|
||||||
|
@Schema(description = "线程ID")
|
||||||
|
private String threadId;
|
||||||
|
|
||||||
|
@Schema(description = "详细信息")
|
||||||
|
private List<ApiReportDetailDTO> apiReportDetailDTOList;
|
||||||
|
|
||||||
|
@Schema(description = "环境id")
|
||||||
|
private String environmentId;
|
||||||
|
@Schema(description = "环境名称")
|
||||||
|
private String environmentName;
|
||||||
|
}
|
|
@ -0,0 +1,32 @@
|
||||||
|
package io.metersphere.api.dto.scenario;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class ExecTaskDetailDTO extends ApiScenarioReportDTO{
|
||||||
|
@Schema(description = "发起时间")
|
||||||
|
private Long createTime;
|
||||||
|
|
||||||
|
@Schema(description = "开始时间")
|
||||||
|
private Long startTime;
|
||||||
|
|
||||||
|
@Schema(description = "结束时间")
|
||||||
|
private Long endTime;
|
||||||
|
|
||||||
|
@Schema(description = "任务来源")
|
||||||
|
private String taskOrigin;
|
||||||
|
@Schema(description = "任务来源名称")
|
||||||
|
private String taskOriginName;
|
||||||
|
|
||||||
|
|
||||||
|
@Schema(description = "结果")
|
||||||
|
private String result;
|
||||||
|
|
||||||
|
@Schema(description = "节点")
|
||||||
|
private String resourcePoolNode;
|
||||||
|
|
||||||
|
@Schema(description = "线程ID")
|
||||||
|
private String threadId;
|
||||||
|
|
||||||
|
}
|
|
@ -5,6 +5,8 @@ import io.metersphere.api.dto.definition.*;
|
||||||
import io.metersphere.api.dto.report.ApiReportListDTO;
|
import io.metersphere.api.dto.report.ApiReportListDTO;
|
||||||
import io.metersphere.api.mapper.*;
|
import io.metersphere.api.mapper.*;
|
||||||
import io.metersphere.api.utils.ApiDataUtils;
|
import io.metersphere.api.utils.ApiDataUtils;
|
||||||
|
import io.metersphere.plan.domain.TestPlan;
|
||||||
|
import io.metersphere.plan.mapper.TestPlanMapper;
|
||||||
import io.metersphere.sdk.constants.ExecStatus;
|
import io.metersphere.sdk.constants.ExecStatus;
|
||||||
import io.metersphere.sdk.domain.Environment;
|
import io.metersphere.sdk.domain.Environment;
|
||||||
import io.metersphere.sdk.domain.EnvironmentGroup;
|
import io.metersphere.sdk.domain.EnvironmentGroup;
|
||||||
|
@ -19,6 +21,7 @@ import io.metersphere.system.domain.ExecTask;
|
||||||
import io.metersphere.system.domain.ExecTaskItem;
|
import io.metersphere.system.domain.ExecTaskItem;
|
||||||
import io.metersphere.system.domain.TestResourcePool;
|
import io.metersphere.system.domain.TestResourcePool;
|
||||||
import io.metersphere.system.domain.User;
|
import io.metersphere.system.domain.User;
|
||||||
|
import io.metersphere.system.dto.taskhub.ExecTaskItemDetailDTO;
|
||||||
import io.metersphere.system.mapper.ExecTaskItemMapper;
|
import io.metersphere.system.mapper.ExecTaskItemMapper;
|
||||||
import io.metersphere.system.mapper.ExtExecTaskMapper;
|
import io.metersphere.system.mapper.ExtExecTaskMapper;
|
||||||
import io.metersphere.system.mapper.TestResourcePoolMapper;
|
import io.metersphere.system.mapper.TestResourcePoolMapper;
|
||||||
|
@ -77,6 +80,8 @@ public class ApiReportService {
|
||||||
private ExtExecTaskMapper extExecTaskMapper;
|
private ExtExecTaskMapper extExecTaskMapper;
|
||||||
@Resource
|
@Resource
|
||||||
private ExecTaskItemMapper execTaskItemMapper;
|
private ExecTaskItemMapper execTaskItemMapper;
|
||||||
|
@Resource
|
||||||
|
private TestPlanMapper testPlanMapper;
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
|
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
|
||||||
public void insertApiReport(ApiReport report) {
|
public void insertApiReport(ApiReport report) {
|
||||||
|
@ -315,7 +320,7 @@ public class ApiReportService {
|
||||||
|
|
||||||
public void batchExportLog(ApiReportBatchRequest request, String userId, String projectId) {
|
public void batchExportLog(ApiReportBatchRequest request, String userId, String projectId) {
|
||||||
List<String> ids = doSelectIds(request);
|
List<String> ids = doSelectIds(request);
|
||||||
if(CollectionUtils.isNotEmpty(ids)){
|
if (CollectionUtils.isNotEmpty(ids)) {
|
||||||
ApiReportExample example = new ApiReportExample();
|
ApiReportExample example = new ApiReportExample();
|
||||||
example.createCriteria().andIdIn(ids);
|
example.createCriteria().andIdIn(ids);
|
||||||
List<ApiReport> reports = apiReportMapper.selectByExample(example);
|
List<ApiReport> reports = apiReportMapper.selectByExample(example);
|
||||||
|
@ -323,23 +328,37 @@ public class ApiReportService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<ApiReportDetailDTO> viewCaseTaskItemReport(String id) {
|
public ApiTaskReportDTO viewCaseTaskItemReport(String id) {
|
||||||
List<ExecTask> taskList = extExecTaskMapper.selectTypeByItemId(id);
|
List<ExecTaskItemDetailDTO> taskList = extExecTaskMapper.selectTypeByItemId(id);
|
||||||
|
ApiTaskReportDTO apiTaskReportDTO = new ApiTaskReportDTO();
|
||||||
|
|
||||||
if (CollectionUtils.isNotEmpty(taskList)) {
|
if (CollectionUtils.isNotEmpty(taskList)) {
|
||||||
ExecTask task = taskList.getFirst();
|
ExecTaskItemDetailDTO task = taskList.getFirst();
|
||||||
|
//设置 顶部数据
|
||||||
|
BeanUtils.copyBean(apiTaskReportDTO, task);
|
||||||
|
//计划组处理来源
|
||||||
|
if (StringUtils.isNotBlank(apiTaskReportDTO.getTaskOrigin())) {
|
||||||
|
TestPlan testPlan = testPlanMapper.selectByPrimaryKey(apiTaskReportDTO.getTaskOrigin());
|
||||||
|
Optional.ofNullable(testPlan).ifPresent(item -> apiTaskReportDTO.setTaskOriginName(testPlan.getName()));
|
||||||
|
}
|
||||||
|
//资源池名称
|
||||||
|
if (StringUtils.isNotBlank(apiTaskReportDTO.getResourcePoolId())) {
|
||||||
|
TestResourcePool testResourcePool = testResourcePoolMapper.selectByPrimaryKey(apiTaskReportDTO.getResourcePoolId());
|
||||||
|
Optional.ofNullable(testResourcePool).ifPresent(item -> apiTaskReportDTO.setResourcePoolName(testResourcePool.getName()));
|
||||||
|
}
|
||||||
|
|
||||||
if (task.getIntegrated()) {
|
if (task.getIntegrated()) {
|
||||||
//集合报告
|
//集合报告
|
||||||
return getIntegratedItemDetail(id, task.getId());
|
apiTaskReportDTO.setApiReportDetailDTOList(getIntegratedItemDetail(id, task.getId(), apiTaskReportDTO));
|
||||||
} else {
|
} else {
|
||||||
//非集合报告
|
//非集合报告
|
||||||
return reportDetail(id);
|
apiTaskReportDTO.setApiReportDetailDTOList(reportDetail(id, apiTaskReportDTO));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return new ArrayList<>();
|
return apiTaskReportDTO;
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<ApiReportDetailDTO> getIntegratedItemDetail(String taskItemId, String taskId) {
|
private List<ApiReportDetailDTO> getIntegratedItemDetail(String taskItemId, String taskId, ApiTaskReportDTO apiTaskReportDTO) {
|
||||||
ExecTaskItem taskItem = execTaskItemMapper.selectByPrimaryKey(taskItemId);
|
ExecTaskItem taskItem = execTaskItemMapper.selectByPrimaryKey(taskItemId);
|
||||||
ApiReportRelateTaskExample example = new ApiReportRelateTaskExample();
|
ApiReportRelateTaskExample example = new ApiReportRelateTaskExample();
|
||||||
example.createCriteria().andTaskResourceIdEqualTo(taskId);
|
example.createCriteria().andTaskResourceIdEqualTo(taskId);
|
||||||
|
@ -348,10 +367,11 @@ public class ApiReportService {
|
||||||
return new ArrayList<>();
|
return new ArrayList<>();
|
||||||
}
|
}
|
||||||
String reportId = apiReportRelateTasks.getFirst().getReportId();
|
String reportId = apiReportRelateTasks.getFirst().getReportId();
|
||||||
|
setEnvironment(reportId, apiTaskReportDTO);
|
||||||
return getDetail(reportId, taskItem.getResourceId());
|
return getDetail(reportId, taskItem.getResourceId());
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<ApiReportDetailDTO> reportDetail(String id) {
|
private List<ApiReportDetailDTO> reportDetail(String id, ApiTaskReportDTO apiTaskReportDTO) {
|
||||||
List<ApiReportDetailDTO> list = new ArrayList<>();
|
List<ApiReportDetailDTO> list = new ArrayList<>();
|
||||||
ApiReportRelateTaskExample example = new ApiReportRelateTaskExample();
|
ApiReportRelateTaskExample example = new ApiReportRelateTaskExample();
|
||||||
example.createCriteria().andTaskResourceIdEqualTo(id);
|
example.createCriteria().andTaskResourceIdEqualTo(id);
|
||||||
|
@ -361,12 +381,20 @@ public class ApiReportService {
|
||||||
String reportId = apiReportRelateTasks.getFirst().getReportId();
|
String reportId = apiReportRelateTasks.getFirst().getReportId();
|
||||||
//获取步骤id
|
//获取步骤id
|
||||||
String stepId = getStepId(reportId);
|
String stepId = getStepId(reportId);
|
||||||
|
setEnvironment(reportId, apiTaskReportDTO);
|
||||||
|
|
||||||
list = getDetail(reportId, stepId);
|
list = getDetail(reportId, stepId);
|
||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void setEnvironment(String reportId, ApiTaskReportDTO apiTaskReportDTO) {
|
||||||
|
ApiReport apiReport = apiReportMapper.selectByPrimaryKey(reportId);
|
||||||
|
Environment environment = environmentMapper.selectByPrimaryKey(apiReport.getEnvironmentId());
|
||||||
|
apiTaskReportDTO.setEnvironmentId(apiReport.getEnvironmentId());
|
||||||
|
apiTaskReportDTO.setEnvironmentName(environment.getName());
|
||||||
|
}
|
||||||
|
|
||||||
private String getStepId(String reportId) {
|
private String getStepId(String reportId) {
|
||||||
ApiReportStepExample example = new ApiReportStepExample();
|
ApiReportStepExample example = new ApiReportStepExample();
|
||||||
example.createCriteria().andReportIdEqualTo(reportId);
|
example.createCriteria().andReportIdEqualTo(reportId);
|
||||||
|
|
|
@ -8,7 +8,10 @@ import io.metersphere.api.dto.report.ApiScenarioReportListDTO;
|
||||||
import io.metersphere.api.dto.scenario.ApiScenarioReportDTO;
|
import io.metersphere.api.dto.scenario.ApiScenarioReportDTO;
|
||||||
import io.metersphere.api.dto.scenario.ApiScenarioReportDetailDTO;
|
import io.metersphere.api.dto.scenario.ApiScenarioReportDetailDTO;
|
||||||
import io.metersphere.api.dto.scenario.ApiScenarioReportStepDTO;
|
import io.metersphere.api.dto.scenario.ApiScenarioReportStepDTO;
|
||||||
|
import io.metersphere.api.dto.scenario.ExecTaskDetailDTO;
|
||||||
import io.metersphere.api.mapper.*;
|
import io.metersphere.api.mapper.*;
|
||||||
|
import io.metersphere.plan.domain.TestPlan;
|
||||||
|
import io.metersphere.plan.mapper.TestPlanMapper;
|
||||||
import io.metersphere.sdk.constants.ExecStatus;
|
import io.metersphere.sdk.constants.ExecStatus;
|
||||||
import io.metersphere.sdk.constants.ResultStatus;
|
import io.metersphere.sdk.constants.ResultStatus;
|
||||||
import io.metersphere.sdk.domain.Environment;
|
import io.metersphere.sdk.domain.Environment;
|
||||||
|
@ -22,6 +25,7 @@ import io.metersphere.system.domain.ExecTask;
|
||||||
import io.metersphere.system.domain.ExecTaskItem;
|
import io.metersphere.system.domain.ExecTaskItem;
|
||||||
import io.metersphere.system.domain.TestResourcePool;
|
import io.metersphere.system.domain.TestResourcePool;
|
||||||
import io.metersphere.system.domain.User;
|
import io.metersphere.system.domain.User;
|
||||||
|
import io.metersphere.system.dto.taskhub.ExecTaskItemDetailDTO;
|
||||||
import io.metersphere.system.mapper.ExecTaskItemMapper;
|
import io.metersphere.system.mapper.ExecTaskItemMapper;
|
||||||
import io.metersphere.system.mapper.ExtExecTaskMapper;
|
import io.metersphere.system.mapper.ExtExecTaskMapper;
|
||||||
import io.metersphere.system.mapper.TestResourcePoolMapper;
|
import io.metersphere.system.mapper.TestResourcePoolMapper;
|
||||||
|
@ -81,6 +85,8 @@ public class ApiScenarioReportService {
|
||||||
private ExtExecTaskMapper extExecTaskMapper;
|
private ExtExecTaskMapper extExecTaskMapper;
|
||||||
@Resource
|
@Resource
|
||||||
private ExecTaskItemMapper execTaskItemMapper;
|
private ExecTaskItemMapper execTaskItemMapper;
|
||||||
|
@Resource
|
||||||
|
private TestPlanMapper testPlanMapper;
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
|
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRES_NEW)
|
||||||
public void insertApiScenarioReport(ApiScenarioReport report, ApiReportRelateTask taskRelation) {
|
public void insertApiScenarioReport(ApiScenarioReport report, ApiReportRelateTask taskRelation) {
|
||||||
|
@ -449,19 +455,30 @@ public class ApiScenarioReportService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public ApiScenarioReportDTO viewScenarioItemReport(String id) {
|
public ExecTaskDetailDTO viewScenarioItemReport(String id) {
|
||||||
List<ExecTask> taskList = extExecTaskMapper.selectTypeByItemId(id);
|
List<ExecTaskItemDetailDTO> taskList = extExecTaskMapper.selectTypeByItemId(id);
|
||||||
|
ExecTaskDetailDTO apiTaskReportDTO = new ExecTaskDetailDTO();
|
||||||
|
|
||||||
if (CollectionUtils.isNotEmpty(taskList)) {
|
if (CollectionUtils.isNotEmpty(taskList)) {
|
||||||
if (taskList.getFirst().getIntegrated()) {
|
ExecTaskItemDetailDTO task = taskList.getFirst();
|
||||||
|
//设置 顶部数据
|
||||||
|
BeanUtils.copyBean(apiTaskReportDTO, task);
|
||||||
|
//计划组处理来源
|
||||||
|
if (StringUtils.isNotBlank(apiTaskReportDTO.getTaskOrigin())) {
|
||||||
|
TestPlan testPlan = testPlanMapper.selectByPrimaryKey(apiTaskReportDTO.getTaskOrigin());
|
||||||
|
Optional.ofNullable(testPlan).ifPresent(item -> apiTaskReportDTO.setTaskOriginName(testPlan.getName()));
|
||||||
|
}
|
||||||
|
if (task.getIntegrated()) {
|
||||||
//场景集合报告
|
//场景集合报告
|
||||||
return getScenarioReportDetail(taskList.getFirst().getId(), id);
|
ApiScenarioReportDTO scenarioReportDetail = getScenarioReportDetail(id, task.getId());
|
||||||
|
BeanUtils.copyBean(apiTaskReportDTO, scenarioReportDetail);
|
||||||
} else {
|
} else {
|
||||||
//场景非集合报告
|
//场景非集合报告
|
||||||
return scenarioReportDetail(id);
|
ApiScenarioReportDTO scenarioReportDetail = scenarioReportDetail(id);
|
||||||
|
BeanUtils.copyBean(apiTaskReportDTO, scenarioReportDetail);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return new ApiScenarioReportDTO();
|
return apiTaskReportDTO;
|
||||||
}
|
}
|
||||||
|
|
||||||
private ApiScenarioReportDTO getScenarioReportDetail(String taskId, String taskItemId) {
|
private ApiScenarioReportDTO getScenarioReportDetail(String taskId, String taskItemId) {
|
||||||
|
|
|
@ -0,0 +1,47 @@
|
||||||
|
package io.metersphere.system.dto.taskhub;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.io.Serial;
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author wx
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class ExecTaskItemDetailDTO implements Serializable {
|
||||||
|
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@Schema(description = "id")
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
@Schema(description = "发起时间")
|
||||||
|
private Long createTime;
|
||||||
|
|
||||||
|
@Schema(description = "开始时间")
|
||||||
|
private Long startTime;
|
||||||
|
|
||||||
|
@Schema(description = "结束时间")
|
||||||
|
private Long endTime;
|
||||||
|
|
||||||
|
@Schema(description = "任务来源")
|
||||||
|
private String taskOrigin;
|
||||||
|
|
||||||
|
@Schema(description = "结果")
|
||||||
|
private String result;
|
||||||
|
|
||||||
|
@Schema(description = "资源池ID", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
|
private String resourcePoolId;
|
||||||
|
|
||||||
|
@Schema(description = "节点")
|
||||||
|
private String resourcePoolNode;
|
||||||
|
|
||||||
|
@Schema(description = "线程ID")
|
||||||
|
private String threadId;
|
||||||
|
|
||||||
|
@Schema(description = "是否集合报告")
|
||||||
|
private Boolean integrated;
|
||||||
|
}
|
|
@ -3,6 +3,7 @@ package io.metersphere.system.mapper;
|
||||||
import io.metersphere.system.domain.ExecTask;
|
import io.metersphere.system.domain.ExecTask;
|
||||||
import io.metersphere.system.dto.sdk.BasePageRequest;
|
import io.metersphere.system.dto.sdk.BasePageRequest;
|
||||||
import io.metersphere.system.dto.table.TableBatchProcessDTO;
|
import io.metersphere.system.dto.table.TableBatchProcessDTO;
|
||||||
|
import io.metersphere.system.dto.taskhub.ExecTaskItemDetailDTO;
|
||||||
import io.metersphere.system.dto.taskhub.TaskHubDTO;
|
import io.metersphere.system.dto.taskhub.TaskHubDTO;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
@ -28,5 +29,5 @@ public interface ExtExecTaskMapper {
|
||||||
*/
|
*/
|
||||||
List<String> getTaskIdsByTime(@Param("timeMills") long timeMills, @Param("projectId") String projectId);
|
List<String> getTaskIdsByTime(@Param("timeMills") long timeMills, @Param("projectId") String projectId);
|
||||||
|
|
||||||
List<ExecTask> selectTypeByItemId(@Param("itemId") String itemId);
|
List<ExecTaskItemDetailDTO> selectTypeByItemId(@Param("itemId") String itemId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -120,7 +120,16 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
<select id="selectTypeByItemId" resultType="io.metersphere.system.domain.ExecTask">
|
<select id="selectTypeByItemId" resultType="io.metersphere.system.dto.taskhub.ExecTaskItemDetailDTO">
|
||||||
select exec_task.* from exec_task inner join exec_task_item on exec_task.id = exec_task_item.task_id where exec_task_item.id = #{itemId}
|
select exec_task.id,
|
||||||
|
exec_task.integrated,
|
||||||
|
exec_task.create_time as createTime,
|
||||||
|
exec_task_item.result as result,
|
||||||
|
exec_task_item.resource_pool_id as resourcePoolId,
|
||||||
|
exec_task_item.resource_pool_node as resourcePoolNode,
|
||||||
|
exec_task_item.thread_id as threadId,
|
||||||
|
exec_task_item.start_time as startTime,
|
||||||
|
exec_task_item.end_time as endTime
|
||||||
|
from exec_task inner join exec_task_item on exec_task.id = exec_task_item.task_id where exec_task_item.id = #{itemId}
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
Loading…
Reference in New Issue