From 13e9825f755788608375d5b1e522b9df6ce9bad5 Mon Sep 17 00:00:00 2001 From: "yang.yongquan" <3395816735@qq.com> Date: Mon, 11 Jul 2022 23:51:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=88=A0=E9=99=A4=E7=9A=84ch?= =?UTF-8?q?ildrenCount?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../projectmanagement/service/impl/TaskServiceImpl.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/TaskServiceImpl.java b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/TaskServiceImpl.java index 0f8ea27..8470f6b 100644 --- a/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/TaskServiceImpl.java +++ b/src/main/java/cn/edu/hfut/rmdjzz/projectmanagement/service/impl/TaskServiceImpl.java @@ -68,10 +68,18 @@ public class TaskServiceImpl extends ServiceImpl implements IT try { List res = new ArrayList<>(); res.add(taskId); + Task task = baseMapper.selectOne(Wrappers.lambdaQuery().eq(Task::getTaskId, taskId)); + Task fatherTask = baseMapper.selectOne(Wrappers.lambdaQuery().eq(Task::getTaskId, task.getTaskFatherId())); + Integer childrenCount = fatherTask.getChildrenCount() - 1; + fatherTask.setChildrenCount(childrenCount); + if (baseMapper.update(fatherTask, Wrappers.lambdaQuery().eq(Task::getTaskId, fatherTask.getTaskId())) != 1) { + throw new BadRequestException("删除失败"); + } while (true) { List list = baseMapper.selectList( Wrappers.lambdaQuery() .in(Task::getTaskFatherId, res)); + baseMapper.update(null, Wrappers.lambdaUpdate().in(Task::getTaskId, res).set(Task::getChildrenCount, 0)); baseMapper.delete(Wrappers.lambdaQuery().in(Task::getTaskId, res)); if (list == null || list.isEmpty()) break; res = list.stream().map(Task::getTaskId).collect(Collectors.toList());