fix(用例管理): 修复脑图删除用例日志未成功的问题
This commit is contained in:
parent
fdbdb44364
commit
f8052dc622
|
@ -18,6 +18,9 @@ public class FunctionalMinderUpdateDTO implements Serializable {
|
||||||
@Schema(description = "新增日志")
|
@Schema(description = "新增日志")
|
||||||
private List<LogDTO> addLogDTOS;
|
private List<LogDTO> addLogDTOS;
|
||||||
|
|
||||||
|
@Schema(description = "删除日志")
|
||||||
|
private List<LogDTO> deleteLogDTOS;
|
||||||
|
|
||||||
@Schema(description = "更新日志")
|
@Schema(description = "更新日志")
|
||||||
private List<LogDTO> updateLogDTOS;
|
private List<LogDTO> updateLogDTOS;
|
||||||
|
|
||||||
|
@ -30,8 +33,9 @@ public class FunctionalMinderUpdateDTO implements Serializable {
|
||||||
@Schema(description = "资源Id与相邻点的Map")
|
@Schema(description = "资源Id与相邻点的Map")
|
||||||
private Map<String, String> sourceIdAndTargetIdsMap;
|
private Map<String, String> sourceIdAndTargetIdsMap;
|
||||||
|
|
||||||
public FunctionalMinderUpdateDTO(List<LogDTO> addLogDTOS, List<LogDTO> updateLogDTOS, List<FunctionalCaseDTO> noticeList, List<FunctionalCaseDTO> updateNoticeList) {
|
public FunctionalMinderUpdateDTO(List<LogDTO> addLogDTOS,List<LogDTO> deleteLogDTOS, List<LogDTO> updateLogDTOS, List<FunctionalCaseDTO> noticeList, List<FunctionalCaseDTO> updateNoticeList) {
|
||||||
this.addLogDTOS = addLogDTOS;
|
this.addLogDTOS = addLogDTOS;
|
||||||
|
this.deleteLogDTOS = deleteLogDTOS;
|
||||||
this.updateLogDTOS = updateLogDTOS;
|
this.updateLogDTOS = updateLogDTOS;
|
||||||
this.noticeList = noticeList;
|
this.noticeList = noticeList;
|
||||||
this.updateNoticeList = updateNoticeList;
|
this.updateNoticeList = updateNoticeList;
|
||||||
|
|
|
@ -289,17 +289,19 @@ public class FunctionalCaseMinderService {
|
||||||
public void editFunctionalCaseBatch(FunctionalCaseMinderEditRequest request, String userId) {
|
public void editFunctionalCaseBatch(FunctionalCaseMinderEditRequest request, String userId) {
|
||||||
//处理删除的模块和用例和空白节点
|
//处理删除的模块和用例和空白节点
|
||||||
User user = userMapper.selectByPrimaryKey(userId);
|
User user = userMapper.selectByPrimaryKey(userId);
|
||||||
deleteResource(request, user);
|
FunctionalMinderUpdateDTO functionalMinderUpdateDTO = new FunctionalMinderUpdateDTO(new ArrayList<>(), new ArrayList<>(), new ArrayList<>(), new ArrayList<>(), new ArrayList<>());
|
||||||
|
deleteResource(request, user, functionalMinderUpdateDTO);
|
||||||
SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH);
|
SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH);
|
||||||
FunctionalCaseModuleMapper moduleMapper = sqlSession.getMapper(FunctionalCaseModuleMapper.class);
|
FunctionalCaseModuleMapper moduleMapper = sqlSession.getMapper(FunctionalCaseModuleMapper.class);
|
||||||
MindAdditionalNodeMapper additionalNodeMapper = sqlSession.getMapper(MindAdditionalNodeMapper.class);
|
MindAdditionalNodeMapper additionalNodeMapper = sqlSession.getMapper(MindAdditionalNodeMapper.class);
|
||||||
FunctionalMinderUpdateDTO functionalMinderUpdateDTO = new FunctionalMinderUpdateDTO(new ArrayList<>(), new ArrayList<>(), new ArrayList<>(), new ArrayList<>());
|
|
||||||
|
|
||||||
//处理模块
|
//处理模块
|
||||||
Map<String, String> sourceIdAndInsertModuleIdMap = dealModule(request, userId, moduleMapper, functionalMinderUpdateDTO);
|
Map<String, String> sourceIdAndInsertModuleIdMap = dealModule(request, userId, moduleMapper, functionalMinderUpdateDTO);
|
||||||
List<String> needToTurnModuleIds = sourceIdAndInsertModuleIdMap.keySet().stream().distinct().toList();
|
List<String> needToTurnModuleIds = sourceIdAndInsertModuleIdMap.keySet().stream().distinct().toList();
|
||||||
//删除用例
|
//删除用例
|
||||||
if (CollectionUtils.isNotEmpty(needToTurnModuleIds)) {
|
if (CollectionUtils.isNotEmpty(needToTurnModuleIds)) {
|
||||||
|
List<LogDTO> logDTOS = deleteLog(needToTurnModuleIds, userId);
|
||||||
|
functionalMinderUpdateDTO.getDeleteLogDTOS().addAll(logDTOS);
|
||||||
functionalCaseTrashService.deleteByIds(request.getProjectId(), needToTurnModuleIds, userId);
|
functionalCaseTrashService.deleteByIds(request.getProjectId(), needToTurnModuleIds, userId);
|
||||||
functionalCaseNoticeService.batchSendNotice(request.getProjectId(), needToTurnModuleIds, user, NoticeConstants.Event.DELETE);
|
functionalCaseNoticeService.batchSendNotice(request.getProjectId(), needToTurnModuleIds, user, NoticeConstants.Event.DELETE);
|
||||||
}
|
}
|
||||||
|
@ -514,6 +516,29 @@ public class FunctionalCaseMinderService {
|
||||||
dealLogAndNotice(request, userId, functionalMinderUpdateDTO);
|
dealLogAndNotice(request, userId, functionalMinderUpdateDTO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private List<LogDTO> deleteLog(List<String> needToTurnModuleIds, String userId) {
|
||||||
|
List<LogDTO> dtoList = new ArrayList<>();
|
||||||
|
if (CollectionUtils.isNotEmpty(needToTurnModuleIds)) {
|
||||||
|
List<FunctionalCase> functionalCases = extFunctionalCaseMapper.getLogInfo(needToTurnModuleIds, false);
|
||||||
|
functionalCases.forEach(functionalCase -> {
|
||||||
|
LogDTO dto = new LogDTO(
|
||||||
|
functionalCase.getProjectId(),
|
||||||
|
null,
|
||||||
|
functionalCase.getId(),
|
||||||
|
userId,
|
||||||
|
OperationLogType.DELETE.name(),
|
||||||
|
OperationLogModule.FUNCTIONAL_CASE,
|
||||||
|
functionalCase.getName());
|
||||||
|
|
||||||
|
dto.setPath("/functional/mind/case/edit");
|
||||||
|
dto.setMethod(HttpMethodConstants.POST.name());
|
||||||
|
dto.setOriginalValue(JSON.toJSONBytes(functionalCase));
|
||||||
|
dtoList.add(dto);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return dtoList;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param moveMode 移动方式 前后
|
* @param moveMode 移动方式 前后
|
||||||
* @param targetId 要移动到的目标元素标识
|
* @param targetId 要移动到的目标元素标识
|
||||||
|
@ -599,8 +624,12 @@ public class FunctionalCaseMinderService {
|
||||||
for (LogDTO updateLogDTO : functionalMinderUpdateDTO.getUpdateLogDTOS()) {
|
for (LogDTO updateLogDTO : functionalMinderUpdateDTO.getUpdateLogDTOS()) {
|
||||||
updateLogDTO.setOrganizationId(project.getOrganizationId());
|
updateLogDTO.setOrganizationId(project.getOrganizationId());
|
||||||
}
|
}
|
||||||
|
for (LogDTO updateLogDTO : functionalMinderUpdateDTO.getDeleteLogDTOS()) {
|
||||||
|
updateLogDTO.setOrganizationId(project.getOrganizationId());
|
||||||
|
}
|
||||||
operationLogService.batchAdd(functionalMinderUpdateDTO.getAddLogDTOS());
|
operationLogService.batchAdd(functionalMinderUpdateDTO.getAddLogDTOS());
|
||||||
operationLogService.batchAdd(functionalMinderUpdateDTO.getUpdateLogDTOS());
|
operationLogService.batchAdd(functionalMinderUpdateDTO.getUpdateLogDTOS());
|
||||||
|
operationLogService.batchAdd(functionalMinderUpdateDTO.getDeleteLogDTOS());
|
||||||
User user = userMapper.selectByPrimaryKey(userId);
|
User user = userMapper.selectByPrimaryKey(userId);
|
||||||
List<Map> resources = new ArrayList<>();
|
List<Map> resources = new ArrayList<>();
|
||||||
resources.addAll(JSON.parseArray(JSON.toJSONString(functionalMinderUpdateDTO.getNoticeList()), Map.class));
|
resources.addAll(JSON.parseArray(JSON.toJSONString(functionalMinderUpdateDTO.getNoticeList()), Map.class));
|
||||||
|
@ -1188,16 +1217,16 @@ public class FunctionalCaseMinderService {
|
||||||
return functionalCase;
|
return functionalCase;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void deleteResource(FunctionalCaseMinderEditRequest request, User user) {
|
private void deleteResource(FunctionalCaseMinderEditRequest request, User user, FunctionalMinderUpdateDTO functionalMinderUpdateDTO) {
|
||||||
if (CollectionUtils.isNotEmpty(request.getDeleteResourceList())) {
|
if (CollectionUtils.isNotEmpty(request.getDeleteResourceList())) {
|
||||||
Map<String, List<MinderOptionDTO>> resourceMap = request.getDeleteResourceList().stream().collect(Collectors.groupingBy(MinderOptionDTO::getType));
|
Map<String, List<MinderOptionDTO>> resourceMap = request.getDeleteResourceList().stream().collect(Collectors.groupingBy(MinderOptionDTO::getType));
|
||||||
List<MinderOptionDTO> caseOptionDTOS = resourceMap.get(Translator.get("minder_extra_node.case"));
|
List<MinderOptionDTO> caseOptionDTOS = resourceMap.get(Translator.get("minder_extra_node.case"));
|
||||||
List<String> caseIds = new ArrayList<>();
|
List<String> caseIds = new ArrayList<>();
|
||||||
if (CollectionUtils.isNotEmpty(caseOptionDTOS)) {
|
if (CollectionUtils.isNotEmpty(caseOptionDTOS)) {
|
||||||
caseIds = caseOptionDTOS.stream().map(MinderOptionDTO::getId).toList();
|
caseIds = caseOptionDTOS.stream().map(MinderOptionDTO::getId).toList();
|
||||||
|
List<LogDTO> logDTOS = deleteLog(caseIds, user.getId());
|
||||||
|
functionalMinderUpdateDTO.getDeleteLogDTOS().addAll(logDTOS);
|
||||||
functionalCaseService.handDeleteFunctionalCase(caseIds, false, user.getId(), request.getProjectId());
|
functionalCaseService.handDeleteFunctionalCase(caseIds, false, user.getId(), request.getProjectId());
|
||||||
functionalCaseLogService.batchDeleteFunctionalCaseLogByIds(caseIds, "/functional/mind/case/edit");
|
|
||||||
|
|
||||||
}
|
}
|
||||||
List<MinderOptionDTO> caseModuleOptionDTOS = resourceMap.get(Translator.get("minder_extra_node.module"));
|
List<MinderOptionDTO> caseModuleOptionDTOS = resourceMap.get(Translator.get("minder_extra_node.module"));
|
||||||
if (CollectionUtils.isNotEmpty(caseModuleOptionDTOS)) {
|
if (CollectionUtils.isNotEmpty(caseModuleOptionDTOS)) {
|
||||||
|
|
Loading…
Reference in New Issue