增加删除的childrenCount

master
yang.yongquan 2022-07-11 23:51:38 +08:00
parent 72e23ad0f0
commit 13e9825f75
1 changed files with 8 additions and 0 deletions

View File

@ -68,10 +68,18 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements IT
try { try {
List<Long> res = new ArrayList<>(); List<Long> res = new ArrayList<>();
res.add(taskId); res.add(taskId);
Task task = baseMapper.selectOne(Wrappers.<Task>lambdaQuery().eq(Task::getTaskId, taskId));
Task fatherTask = baseMapper.selectOne(Wrappers.<Task>lambdaQuery().eq(Task::getTaskId, task.getTaskFatherId()));
Integer childrenCount = fatherTask.getChildrenCount() - 1;
fatherTask.setChildrenCount(childrenCount);
if (baseMapper.update(fatherTask, Wrappers.<Task>lambdaQuery().eq(Task::getTaskId, fatherTask.getTaskId())) != 1) {
throw new BadRequestException("删除失败");
}
while (true) { while (true) {
List<Task> list = baseMapper.selectList( List<Task> list = baseMapper.selectList(
Wrappers.<Task>lambdaQuery() Wrappers.<Task>lambdaQuery()
.in(Task::getTaskFatherId, res)); .in(Task::getTaskFatherId, res));
baseMapper.update(null, Wrappers.<Task>lambdaUpdate().in(Task::getTaskId, res).set(Task::getChildrenCount, 0));
baseMapper.delete(Wrappers.<Task>lambdaQuery().in(Task::getTaskId, res)); baseMapper.delete(Wrappers.<Task>lambdaQuery().in(Task::getTaskId, res));
if (list == null || list.isEmpty()) break; if (list == null || list.isEmpty()) break;
res = list.stream().map(Task::getTaskId).collect(Collectors.toList()); res = list.stream().map(Task::getTaskId).collect(Collectors.toList());