1、解决编辑节点报错

This commit is contained in:
2025-12-24 11:13:10 +08:00
parent d5f33fa2fc
commit 9078204199

View File

@@ -115,7 +115,7 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
@Autowired
private SimulationProjectMapper projectMapper;
public static final String SYNC_PROJECT_SOURCE = "同步";
public static final String SYNC_PROJECT_SOURCE = "EP";
@Autowired
private LyricVMainPlanDMService lyricVMainPlanDMService;
@@ -518,6 +518,7 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
List<SpdmNodeRelateMemberReq> allNodeManagerList = new ArrayList<>();
List<SpdmNodeExtraReq> extraList;
List<SpdmNodeExtraReq> allExtraList = new ArrayList<>();
List<String> nodeIdList = editNodeList.stream().map(SpdmNodeDetailReq::getUuid).toList();
for (SpdmNodeDetailReq editNode : editNodeList) {
editNode.setUpdateTime(curDateStr);
editNode.setUpdater(jobNumber);
@@ -537,6 +538,7 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
extraList.forEach(extra -> {
extra.setUpdateTime(curDateStr);
extra.setUpdater(jobNumber);
extra.setNodeId(editNode.getUuid());
});
allExtraList.addAll(extraList);
}
@@ -562,11 +564,31 @@ public class NodeServiceImpl extends ServiceImpl<SimulationNodeMapper, Simulatio
}
if (CollectionUtils.isNotEmpty(allExtraList)) {
List<SpdmNodeExtraVo> nodeExtraList = nodeMapper.getNodeExtraListByNodeIdList(nodeIdList);
Map<String, List<SpdmNodeExtraVo>> nodeExtraMap = Map.of();
if (CollectionUtils.isNotEmpty(nodeExtraList)) {
nodeExtraMap = nodeExtraList.stream().collect(Collectors.groupingBy(SpdmNodeExtraVo::getNodeId));
}
List<SpdmNodeExtraReq> saveExtraList = new ArrayList<>();
List<SpdmNodeExtraVo> eachNodeExtraVoList;
for (SpdmNodeExtraReq nodeExtra : allExtraList) {
if (nodeMapper.editNodeExtra(nodeExtra) <= 0) {
return false;
nodeExtra.setCreateTime(curDateStr);
eachNodeExtraVoList = nodeExtraMap.get(nodeExtra.getNodeId());
if (CollectionUtils.isNotEmpty(eachNodeExtraVoList)) {
Optional<SpdmNodeExtraVo> updateNodeExtraOptional = eachNodeExtraVoList.stream().filter(node -> StringUtils.isNotBlank(nodeExtra.getPropertyName()) && nodeExtra.getPropertyName().equals(node.getPropertyName())).findFirst();
if (updateNodeExtraOptional.isPresent()) {
nodeExtra.setId(updateNodeExtraOptional.get().getId());
if (nodeMapper.editNodeExtra(nodeExtra) <= 0) {
return false;
}
}
}else {
saveExtraList.add(nodeExtra);
}
}
if (CollectionUtils.isNotEmpty(saveExtraList)) {
nodeMapper.addNodeExtraBatch(saveExtraList);
}
}
return true;