Bläddra i källkod

【fix】修复删除数据时,未删除掉子数据的bug

chengjing 2 år sedan
förälder
incheckning
401536f5fe

+ 18 - 6
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/BasePigpenServiceImpl.java

@@ -76,15 +76,27 @@ public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenMapper, BasePig
     @Override
     public Result remove(String ids) {
         //如果删除的节点是父节点,需要将其字节点全部删除掉
-        QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq("parent_id",ids);
-        //查寻到所有的子数据
-        List<BasePigpen> basePigpens = basePigpenMapper.selectList(queryWrapper);
-        List<Integer> childIdList = basePigpens.stream().map(BasePigpen::getId).collect(Collectors.toList());
+//       QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
+//        queryWrapper.eq("parent_id",ids);
+//        //查寻到所有的子数据
+//        List<BasePigpen> basePigpens = basePigpenMapper.selectList(queryWrapper);
+//        List<Integer> childIdList = basePigpens.stream().map(BasePigpen::getId).collect(Collectors.toList());
+//        //删除子数据
+//        basePigpenMapper.deleteBatchIds(childIdList);
+
+        List<Integer> idList = idUtil.convert(ids);
+        List<BasePigpen> basePigpens1 = new ArrayList<>();
+        for (Integer integer : idList) {
+            QueryWrapper<BasePigpen> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("parent_id",integer);
+            List<BasePigpen> basePigpens = basePigpenMapper.selectList(queryWrapper);
+            basePigpens1.addAll(basePigpens);
+        }
+        List<Integer> childIdList = basePigpens1.stream().map(BasePigpen::getId).collect(Collectors.toList());
         //删除子数据
         basePigpenMapper.deleteBatchIds(childIdList);
         //删除当前id的数据
-        return resultUtil.result(basePigpenMapper.deleteBatchIds(idUtil.convert(ids)));
+        return resultUtil.result(basePigpenMapper.deleteBatchIds(idList));
     }
 
     @Override