fix:标记体系查询接口的BUG

This commit is contained in:
zyd
2022-03-16 22:50:14 +08:00
parent deab88a7cd
commit 0cc7d74faa
@@ -220,6 +220,15 @@ public class TsResourceServiceImpl extends ServiceImpl<TsResourceDao, TsResource
TsResources=dao.selectList(queryWrapper);
for(TsResource resource:TsResources){
/**
* TODO 此处代码有坑,当前查询子节点的时候,只查询子节点ID包含的情况,
* 实际查询的时候 parentIds字段根本就没有记录当前节点下所有子节点的数据
* 所以导致查询的时候查询的不对、
* 修改逻辑如下:
* 1、将下方代码注释掉,通过递归查询每一级的数据然后组装
* 2、将数据库中的parentIds字段数据重做,然后查询的时候like 匹配 分割符+ID或
* ID+分割符的方式将当前节点下的所有子节点全部查询出来,然后通过流式计算对数据进行重新组装
*/
resource.setTreeType("tsr");
QueryWrapper<TsResource> TsResourceQueryWrapper=new QueryWrapper<>();
TsResourceQueryWrapper.like("PARENT_IDS",resource.getId());
@@ -396,6 +405,7 @@ public class TsResourceServiceImpl extends ServiceImpl<TsResourceDao, TsResource
* @return List<TsResource>
*/
private List<TsResource> recursionGetChildren(TsResource parent){
QueryWrapper<TsResource> TsResourceQueryWrapper=new QueryWrapper<>();
TsResourceQueryWrapper.eq("PARENT_ID",parent.getId());
List<TsResource> children=dao.selectList(TsResourceQueryWrapper);