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