From 824b496b31d24455abe2bba6f5a6b31bb2446efc Mon Sep 17 00:00:00 2001 From: lidongyang <506508008@qq.com> Date: Wed, 11 Feb 2026 07:46:11 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=88=A0=E9=99=A4=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E5=90=8C=E6=97=B6=E5=88=A0=E9=99=A4=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E4=B8=8B=E5=85=B3=E8=81=94=E7=9A=84=E9=9C=80=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../project/dao/SimulationDemandMapper.java | 2 ++ .../project/service/impl/NodeServiceImpl.java | 32 +++++++++++++++++++ .../mapper/SimulationDemandMapper.xml | 4 +++ 3 files changed, 38 insertions(+) diff --git a/project/src/main/java/com/sdm/project/dao/SimulationDemandMapper.java b/project/src/main/java/com/sdm/project/dao/SimulationDemandMapper.java index 9b076087..dab862ce 100644 --- a/project/src/main/java/com/sdm/project/dao/SimulationDemandMapper.java +++ b/project/src/main/java/com/sdm/project/dao/SimulationDemandMapper.java @@ -47,4 +47,6 @@ public interface SimulationDemandMapper extends BaseMapper { List getDemandListWithCondition(@Param("req") DemandQryReq req); + List getDemandListByProjectId(@Param("nodeId") String nodeId); + } diff --git a/project/src/main/java/com/sdm/project/service/impl/NodeServiceImpl.java b/project/src/main/java/com/sdm/project/service/impl/NodeServiceImpl.java index 6da0d320..77e22234 100644 --- a/project/src/main/java/com/sdm/project/service/impl/NodeServiceImpl.java +++ b/project/src/main/java/com/sdm/project/service/impl/NodeServiceImpl.java @@ -328,6 +328,11 @@ public class NodeServiceImpl extends ServiceImpl deleteNodeIdList) { + try { + String nodeId = deleteNodeIdList.get(0); + // 查询是否是项目类型节点,只有项目类型节点才去删除需求 + SpdmNodeVo node = nodeMapper.getNodeById(nodeId); + if (ObjectUtils.isEmpty(node) || NodeTypeEnum.PROJECT.getValue().equals(node.getNodeType())) { + log.info("node为空或不为项目类型,不删除需求,node:{}",node); + return true; + } + log.info("开始删除项目下的需求"); + List demandList = demandMapper.getDemandListByProjectId(nodeId); + if (CollectionUtils.isEmpty(demandList)) { + log.info("项目:{}下未查询到关联的需求",node.getNodeName()); + return true; + } + log.info("共查询到项目:{}下的{}条需求",node.getNodeName(),demandList.size()); + List demandIdList = demandList.stream().map(SpdmDemandVo::getUuid).toList(); + demandMapper.deleteDemand(demandIdList); + demandMapper.deleteDemandMember(demandIdList); + demandMapper.deleteDemandExtra(demandIdList); + }catch (Exception ex) { + log.error("删除项目下关联的需求时发生异常:{}",ex.getMessage()); + return false; + } + return true; + } + // 删除文件夹 public SdmResponse deleteDirNew(String uuid) { DelDirReq req = new DelDirReq(); diff --git a/project/src/main/resources/mapper/SimulationDemandMapper.xml b/project/src/main/resources/mapper/SimulationDemandMapper.xml index d8856c78..0f2d4b03 100644 --- a/project/src/main/resources/mapper/SimulationDemandMapper.xml +++ b/project/src/main/resources/mapper/SimulationDemandMapper.xml @@ -223,4 +223,8 @@ + + \ No newline at end of file