فهرست منبع

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

chengjing 2 سال پیش
والد
کامیت
c92915de27

+ 10 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/BasePigpenServiceImpl.java

@@ -19,6 +19,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 /**
  * <p>
@@ -74,6 +75,15 @@ 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());
+        //删除子数据
+        basePigpenMapper.deleteBatchIds(childIdList);
+        //删除当前id的数据
         return resultUtil.result(basePigpenMapper.deleteBatchIds(idUtil.convert(ids)));
     }