fix(用例管理): 修复取消关联时用例的评审状态没有对应改变问题
--bug=1035848 --user=郭雨琦 https://www.tapd.cn/55049933/bugtrace/bugs/view/1155049933001035848
This commit is contained in:
parent
bbc897a280
commit
4062a01c3a
|
@ -113,11 +113,40 @@ public class CaseReviewCaseProvider implements BaseCaseProvider {
|
||||||
deleteCaseReviewFunctionalCaseUser(paramMap);
|
deleteCaseReviewFunctionalCaseUser(paramMap);
|
||||||
//将评审历史状态置为true
|
//将评审历史状态置为true
|
||||||
extCaseReviewHistoryMapper.updateDelete(caseIdList, reviewId, true);
|
extCaseReviewHistoryMapper.updateDelete(caseIdList, reviewId, true);
|
||||||
|
//检查更新用例的评审状态。如果用例没有任何评审关联,就置为未评审, 否则置为更新建时间最晚的那个
|
||||||
|
updateCaseStatus(caseIdList);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LogUtils.error(CaseEvent.Event.DISASSOCIATE + "事件更新失败", e.getMessage());
|
LogUtils.error(CaseEvent.Event.DISASSOCIATE + "事件更新失败", e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void updateCaseStatus(List<String> caseIdList) {
|
||||||
|
CaseReviewFunctionalCaseExample caseReviewFunctionalCaseExample = new CaseReviewFunctionalCaseExample();
|
||||||
|
caseReviewFunctionalCaseExample.createCriteria().andCaseIdIn(caseIdList);
|
||||||
|
caseReviewFunctionalCaseExample.setOrderByClause("update_time DESC");
|
||||||
|
List<CaseReviewFunctionalCase> otherReviewFunctionalCases = caseReviewFunctionalCaseMapper.selectByExample(caseReviewFunctionalCaseExample);
|
||||||
|
SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH);
|
||||||
|
FunctionalCaseMapper mapper = sqlSession.getMapper(FunctionalCaseMapper.class);
|
||||||
|
if (CollectionUtils.isEmpty(otherReviewFunctionalCases)) {
|
||||||
|
for (String id : caseIdList) {
|
||||||
|
FunctionalCase functionalCase = new FunctionalCase();
|
||||||
|
functionalCase.setId(id);
|
||||||
|
functionalCase.setReviewStatus(FunctionalCaseReviewStatus.UN_REVIEWED.toString());
|
||||||
|
mapper.updateByPrimaryKeySelective(functionalCase);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Map<String, List<CaseReviewFunctionalCase>> collect = otherReviewFunctionalCases.stream().collect(Collectors.groupingBy(CaseReviewFunctionalCase::getCaseId));
|
||||||
|
collect.forEach((caseId,caseList)->{
|
||||||
|
FunctionalCase functionalCase = new FunctionalCase();
|
||||||
|
functionalCase.setId(caseId);
|
||||||
|
functionalCase.setReviewStatus(caseList.get(0).getStatus());
|
||||||
|
mapper.updateByPrimaryKeySelective(functionalCase);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
sqlSession.flushStatements();
|
||||||
|
SqlSessionUtils.closeSqlSession(sqlSession, sqlSessionFactory);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 3.功能用例的删除/批量删除重新计算用例评审的通过率和用例数
|
* 3.功能用例的删除/批量删除重新计算用例评审的通过率和用例数
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue