fix(通用功能): 修复一个版本模块修改其他版本不跟随问题
--bug=1021055--user=郭雨琦 https://www.tapd.cn/55049933/bugtrace/bugs/view/1155049933001021055
This commit is contained in:
parent
e97fb6027c
commit
a3c0ec4aca
|
@ -85,6 +85,8 @@ public interface ExtApiDefinitionMapper {
|
|||
|
||||
void addLatestVersion(String refId);
|
||||
|
||||
void updateVersionModule(@Param("refId") String refId, @Param("versionId") String versionId, @Param("moduleId") String moduleId, @Param("modulePath") String modulePath);
|
||||
|
||||
List<String> selectRefIdsForVersionChange(@Param("versionId") String versionId, @Param("projectId") String projectId);
|
||||
|
||||
String selectNameById(String testId);
|
||||
|
|
|
@ -1168,6 +1168,14 @@
|
|||
SELECT id FROM api_module WHERE project_id = #{projectId} AND protocol = #{protocol}
|
||||
)
|
||||
</update>
|
||||
|
||||
<update id="updateVersionModule">
|
||||
UPDATE api_definition
|
||||
SET module_id = #{moduleId},
|
||||
module_path = #{modulePath}
|
||||
WHERE ref_id = #{refId}
|
||||
AND version_id != #{versionId}
|
||||
</update>
|
||||
<select id="selectRefIdsForVersionChange" resultType="java.lang.String">
|
||||
SELECT DISTINCT ref_id
|
||||
FROM api_definition
|
||||
|
|
|
@ -90,6 +90,8 @@ public interface ExtApiScenarioMapper {
|
|||
|
||||
void addLatestVersion(String refId);
|
||||
|
||||
void updateVersionModule(@Param("refId") String refId, @Param("versionId") String versionId, @Param("moduleId") String moduleId, @Param("modulePath") String modulePath);
|
||||
|
||||
List<String> selectRefIdsForVersionChange(@Param("versionId") String versionId, @Param("projectId") String projectId);
|
||||
|
||||
List<ApiScenarioWithBLOBs> selectByStatusIsNotTrash();
|
||||
|
|
|
@ -856,6 +856,14 @@
|
|||
WHERE ref_id = #{refId,jdbcType=VARCHAR}
|
||||
</update>
|
||||
|
||||
<update id="updateVersionModule">
|
||||
UPDATE api_scenario
|
||||
SET api_scenario_module_id = #{moduleId},
|
||||
module_path = #{modulePath}
|
||||
WHERE ref_id = #{refId}
|
||||
AND version_id != #{versionId}
|
||||
</update>
|
||||
|
||||
<select id="selectRefIdsForVersionChange" resultType="java.lang.String">
|
||||
SELECT DISTINCT ref_id
|
||||
FROM api_scenario
|
||||
|
|
|
@ -787,7 +787,8 @@ public class ApiDefinitionService {
|
|||
if (StringUtils.equalsIgnoreCase(request.getVersionId(), defaultVersion)) {
|
||||
checkAndSetLatestVersion(result.getRefId());
|
||||
}
|
||||
|
||||
//同步修改所有版本的模块路径
|
||||
updateOtherVersionModule(result);
|
||||
// 存储附件关系
|
||||
extFileAssociationService.saveApi(test.getId(), request.getRequest(), FileAssociationTypeEnums.API.name());
|
||||
//保存自定义字段
|
||||
|
@ -796,6 +797,10 @@ public class ApiDefinitionService {
|
|||
return result;
|
||||
}
|
||||
|
||||
private void updateOtherVersionModule(ApiDefinitionWithBLOBs result) {
|
||||
extApiDefinitionMapper.updateVersionModule(result.getRefId(), result.getVersionId(), result.getModuleId(), result.getModulePath());
|
||||
}
|
||||
|
||||
private void saveExtendInfo(SaveApiDefinitionRequest request, ApiDefinitionWithBLOBs test, ApiDefinitionWithBLOBs oldApi) {
|
||||
// 创建新版是否关联备注
|
||||
if (!request.isNewVersionRemark()) {
|
||||
|
|
|
@ -829,6 +829,6 @@ public class TestPlanApiCaseService {
|
|||
ApiTestCaseExample example = new ApiTestCaseExample();
|
||||
example.createCriteria().andIdIn(apiCaseIds);
|
||||
List<ApiTestCase> apiTestCases = apiTestCaseMapper.selectByExample(example);
|
||||
return apiTestCases.stream().map(ApiTestCase::getProjectId).collect(Collectors.toList());
|
||||
return apiTestCases.stream().map(ApiTestCase::getProjectId).distinct().collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1257,6 +1257,6 @@ public class TestPlanScenarioCaseService {
|
|||
ApiScenarioExample example = new ApiScenarioExample();
|
||||
example.createCriteria().andIdIn(scenarioIds);
|
||||
List<ApiScenario> apiScenarios = apiScenarioMapper.selectByExample(example);
|
||||
return apiScenarios.stream().map(ApiScenario::getProjectId).collect(Collectors.toList());
|
||||
return apiScenarios.stream().map(ApiScenario::getProjectId).distinct().collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -413,11 +413,17 @@ public class ApiScenarioService {
|
|||
if (StringUtils.equalsIgnoreCase(request.getVersionId(), defaultVersion)) {
|
||||
checkAndSetLatestVersion(beforeScenario.getRefId());
|
||||
}
|
||||
//同步修改所有版本的模块路径
|
||||
updateOtherVersionModule(beforeScenario.getRefId(), scenario);
|
||||
// 存储附件关系
|
||||
extFileAssociationService.saveScenario(scenario.getId(), request.getScenarioDefinition());
|
||||
return scenario;
|
||||
}
|
||||
|
||||
private void updateOtherVersionModule(String refId, ApiScenarioWithBLOBs scenario) {
|
||||
extApiScenarioMapper.updateVersionModule(refId, scenario.getVersionId(), scenario.getApiScenarioModuleId(), scenario.getModulePath());
|
||||
}
|
||||
|
||||
private void checkReferenceCase(ApiScenarioWithBLOBs scenario, ApiScenarioParamDTO apiScenarioParamDto) {
|
||||
if (scenario == null || StringUtils.isEmpty(scenario.getScenarioDefinition())) {
|
||||
return;
|
||||
|
|
|
@ -150,6 +150,9 @@ public interface ExtTestCaseMapper {
|
|||
|
||||
int addLatestVersion(@Param("refId") String refId);
|
||||
|
||||
void updateVersionModule(@Param("refId") String refId, @Param("versionId") String versionId, @Param("moduleId") String moduleId, @Param("modulePath") String modulePath);
|
||||
|
||||
|
||||
List<TestCase> getMaintainerMap(@Param("request") QueryTestCaseRequest request);
|
||||
|
||||
List<TestCaseDTO> getForNodeEdit(@Param("ids") List<String> ids);
|
||||
|
|
|
@ -1266,6 +1266,14 @@
|
|||
WHERE ref_id = #{refId,jdbcType=VARCHAR}
|
||||
</update>
|
||||
|
||||
<update id="updateVersionModule">
|
||||
UPDATE test_case
|
||||
SET node_id = #{moduleId},
|
||||
node_path = #{modulePath}
|
||||
WHERE ref_id = #{refId}
|
||||
AND version_id != #{versionId}
|
||||
</update>
|
||||
|
||||
<update id="bathUpdateByCondition">
|
||||
update test_case
|
||||
<set>
|
||||
|
|
|
@ -467,9 +467,15 @@ public class TestCaseService {
|
|||
if (StringUtils.equalsIgnoreCase(testCase.getVersionId(), defaultVersion)) {
|
||||
checkAndSetLatestVersion(testCase.getRefId());
|
||||
}
|
||||
//同步修改所有版本的模块路径
|
||||
updateOtherVersionModule(testCase);
|
||||
|
||||
}
|
||||
|
||||
private void updateOtherVersionModule(EditTestCaseRequest testCase) {
|
||||
extTestCaseMapper.updateVersionModule(testCase.getRefId(), testCase.getVersionId(), testCase.getNodeId(), testCase.getNodePath());
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理其他信息的复制问题
|
||||
*
|
||||
|
|
Loading…
Reference in New Issue