fix(测试计划): 修复测试计划左侧树没有刷新项目的问题
--bug=1008264 --user=刘瑞斌 【测试计划】-关联其他项目的性能测试后左侧列表不显示新增其他项目列表 https://www.tapd.cn/55049933/s/1074652
This commit is contained in:
parent
13e8551257
commit
7d7f207d37
|
@ -20,6 +20,7 @@ import io.metersphere.dto.LoadTestDTO;
|
||||||
import io.metersphere.dto.ScheduleDao;
|
import io.metersphere.dto.ScheduleDao;
|
||||||
import io.metersphere.log.annotation.MsAuditLog;
|
import io.metersphere.log.annotation.MsAuditLog;
|
||||||
import io.metersphere.notice.annotation.SendNotice;
|
import io.metersphere.notice.annotation.SendNotice;
|
||||||
|
import io.metersphere.performance.dto.LoadModuleDTO;
|
||||||
import io.metersphere.performance.dto.LoadTestExportJmx;
|
import io.metersphere.performance.dto.LoadTestExportJmx;
|
||||||
import io.metersphere.performance.request.*;
|
import io.metersphere.performance.request.*;
|
||||||
import io.metersphere.performance.service.PerformanceTestService;
|
import io.metersphere.performance.service.PerformanceTestService;
|
||||||
|
@ -249,7 +250,12 @@ public class PerformanceTestController {
|
||||||
}
|
}
|
||||||
|
|
||||||
@PostMapping("test/update/follows/{testId}")
|
@PostMapping("test/update/follows/{testId}")
|
||||||
public void saveFollows(@PathVariable String testId,@RequestBody List<String> follows) {
|
public void saveFollows(@PathVariable String testId, @RequestBody List<String> follows) {
|
||||||
performanceTestService.saveFollows(testId,follows);
|
performanceTestService.saveFollows(testId, follows);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("module/list/plan/{planId}")
|
||||||
|
public List<LoadModuleDTO> getNodeByPlanId(@PathVariable String planId) {
|
||||||
|
return performanceTestService.getNodeByPlanId(planId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
package io.metersphere.performance.dto;
|
||||||
|
|
||||||
|
import io.metersphere.track.dto.TreeNodeDTO;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.Setter;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
public class LoadModuleDTO extends TreeNodeDTO<LoadModuleDTO> {
|
||||||
|
}
|
|
@ -32,6 +32,7 @@ import io.metersphere.log.vo.DetailColumn;
|
||||||
import io.metersphere.log.vo.OperatingLogDetails;
|
import io.metersphere.log.vo.OperatingLogDetails;
|
||||||
import io.metersphere.log.vo.performance.PerformanceReference;
|
import io.metersphere.log.vo.performance.PerformanceReference;
|
||||||
import io.metersphere.performance.base.GranularityData;
|
import io.metersphere.performance.base.GranularityData;
|
||||||
|
import io.metersphere.performance.dto.LoadModuleDTO;
|
||||||
import io.metersphere.performance.dto.LoadTestExportJmx;
|
import io.metersphere.performance.dto.LoadTestExportJmx;
|
||||||
import io.metersphere.performance.engine.Engine;
|
import io.metersphere.performance.engine.Engine;
|
||||||
import io.metersphere.performance.engine.EngineFactory;
|
import io.metersphere.performance.engine.EngineFactory;
|
||||||
|
@ -40,8 +41,10 @@ import io.metersphere.service.ApiPerformanceService;
|
||||||
import io.metersphere.service.FileService;
|
import io.metersphere.service.FileService;
|
||||||
import io.metersphere.service.QuotaService;
|
import io.metersphere.service.QuotaService;
|
||||||
import io.metersphere.service.ScheduleService;
|
import io.metersphere.service.ScheduleService;
|
||||||
|
import io.metersphere.track.request.testplan.LoadCaseRequest;
|
||||||
import io.metersphere.track.service.TestCaseService;
|
import io.metersphere.track.service.TestCaseService;
|
||||||
import io.metersphere.track.service.TestPlanLoadCaseService;
|
import io.metersphere.track.service.TestPlanLoadCaseService;
|
||||||
|
import io.metersphere.track.service.TestPlanProjectService;
|
||||||
import org.apache.commons.collections4.ListUtils;
|
import org.apache.commons.collections4.ListUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.ibatis.session.ExecutorType;
|
import org.apache.ibatis.session.ExecutorType;
|
||||||
|
@ -112,6 +115,10 @@ public class PerformanceTestService {
|
||||||
private TestPlanLoadCaseService testPlanLoadCaseService;
|
private TestPlanLoadCaseService testPlanLoadCaseService;
|
||||||
@Resource
|
@Resource
|
||||||
private TestPlanLoadCaseMapper testPlanLoadCaseMapper;
|
private TestPlanLoadCaseMapper testPlanLoadCaseMapper;
|
||||||
|
@Resource
|
||||||
|
private TestPlanProjectService testPlanProjectService;
|
||||||
|
@Resource
|
||||||
|
private ProjectMapper projectMapper;
|
||||||
|
|
||||||
public List<LoadTestDTO> list(QueryTestPlanRequest request) {
|
public List<LoadTestDTO> list(QueryTestPlanRequest request) {
|
||||||
request.setOrders(ServiceUtils.getDefaultSortOrder(request.getOrders()));
|
request.setOrders(ServiceUtils.getDefaultSortOrder(request.getOrders()));
|
||||||
|
@ -930,4 +937,26 @@ public class PerformanceTestService {
|
||||||
List<LoadTestFollow> follows = loadTestFollowMapper.selectByExample(example);
|
List<LoadTestFollow> follows = loadTestFollowMapper.selectByExample(example);
|
||||||
return follows.stream().map(LoadTestFollow::getFollowId).distinct().collect(Collectors.toList());
|
return follows.stream().map(LoadTestFollow::getFollowId).distinct().collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<LoadModuleDTO> getNodeByPlanId(String planId) {
|
||||||
|
List<LoadModuleDTO> list = new ArrayList<>();
|
||||||
|
List<String> projectIds = testPlanProjectService.getProjectIdsByPlanId(planId);
|
||||||
|
projectIds.forEach(id -> {
|
||||||
|
Project project = projectMapper.selectByPrimaryKey(id);
|
||||||
|
String name = project.getName();
|
||||||
|
LoadModuleDTO loadModuleDTO = new LoadModuleDTO();
|
||||||
|
loadModuleDTO.setId(id);
|
||||||
|
loadModuleDTO.setName(name);
|
||||||
|
loadModuleDTO.setLabel(name);
|
||||||
|
LoadCaseRequest request = new LoadCaseRequest();
|
||||||
|
request.setProjectId(id);
|
||||||
|
request.setTestPlanId(planId);
|
||||||
|
List<String> ids = testPlanLoadCaseService.selectTestPlanLoadCaseIds(request);
|
||||||
|
if (!CollectionUtils.isEmpty(ids)) {
|
||||||
|
list.add(loadModuleDTO);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,20 +9,20 @@
|
||||||
</template>
|
</template>
|
||||||
<template v-slot:main>
|
<template v-slot:main>
|
||||||
<test-plan-load-case-list
|
<test-plan-load-case-list
|
||||||
class="table-list"
|
class="table-list"
|
||||||
@refresh="refresh"
|
@refresh="refresh"
|
||||||
:plan-id="planId"
|
:plan-id="planId"
|
||||||
:clickType="clickType"
|
:clickType="clickType"
|
||||||
:select-project-id="selectProjectId"
|
:select-project-id="selectProjectId"
|
||||||
:select-parent-nodes="selectParentNodes"
|
:select-parent-nodes="selectParentNodes"
|
||||||
@relevanceCase="openTestCaseRelevanceDialog"
|
@relevanceCase="openTestCaseRelevanceDialog"
|
||||||
ref="testPlanLoadCaseList"/>
|
ref="testPlanLoadCaseList"/>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<test-case-load-relevance
|
<test-case-load-relevance
|
||||||
@refresh="refresh"
|
@refresh="refresh"
|
||||||
:plan-id="planId"
|
:plan-id="planId"
|
||||||
ref="testCaseLoadRelevance"/>
|
ref="testCaseLoadRelevance"/>
|
||||||
</ms-test-plan-common-component>
|
</ms-test-plan-common-component>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ export default {
|
||||||
selectParentNodes: [],
|
selectParentNodes: [],
|
||||||
selectProjectId: "",
|
selectProjectId: "",
|
||||||
treeNodes: [],
|
treeNodes: [],
|
||||||
}
|
};
|
||||||
},
|
},
|
||||||
props: [
|
props: [
|
||||||
'planId',
|
'planId',
|
||||||
|
@ -85,15 +85,13 @@ export default {
|
||||||
},
|
},
|
||||||
getNodeTreeByPlanId() {
|
getNodeTreeByPlanId() {
|
||||||
if (this.planId) {
|
if (this.planId) {
|
||||||
this.result = this.$get("/case/node/list/plan/" + this.planId, response => {
|
this.result = this.$get("/performance/module/list/plan/" + this.planId, response => {
|
||||||
this.treeNodes = response.data;
|
this.treeNodes = response.data;
|
||||||
// 性能测试与模块无关,过滤项目下模块
|
|
||||||
this.treeNodes.map(node => node.children = null);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
|
|
@ -305,6 +305,9 @@ export default {
|
||||||
if (this.selectProjectId && this.selectProjectId !== 'root') {
|
if (this.selectProjectId && this.selectProjectId !== 'root') {
|
||||||
this.condition.projectId = this.selectProjectId;
|
this.condition.projectId = this.selectProjectId;
|
||||||
}
|
}
|
||||||
|
if (this.selectProjectId === 'root') {
|
||||||
|
this.condition.projectId = null;
|
||||||
|
}
|
||||||
if (this.clickType) {
|
if (this.clickType) {
|
||||||
if (this.status == 'default') {
|
if (this.status == 'default') {
|
||||||
this.condition.status = this.clickType;
|
this.condition.status = this.clickType;
|
||||||
|
|
Loading…
Reference in New Issue