From 385d8f2fe898b25d64a623ddc01dac2d7034a555 Mon Sep 17 00:00:00 2001 From: huxiuwu <18621965254@yeah.net> Date: Thu, 10 Mar 2022 14:35:51 +0800 Subject: [PATCH] =?UTF-8?q?=E8=83=A1=E7=A7=80=E6=AD=A6:=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E5=88=86=E7=B1=BB=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=94=B9bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/pms/ocp/model/vo/OcpModelGroupVO.java | 6 ++++- .../impl/ModelClassifyServiceImpl.java | 25 +++++++++++++++++-- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/pms/ocp/model/vo/OcpModelGroupVO.java b/src/main/java/com/pms/ocp/model/vo/OcpModelGroupVO.java index 68a5c6c..1cfaaa2 100644 --- a/src/main/java/com/pms/ocp/model/vo/OcpModelGroupVO.java +++ b/src/main/java/com/pms/ocp/model/vo/OcpModelGroupVO.java @@ -88,12 +88,15 @@ public class OcpModelGroupVO implements Serializable { @ApiModelProperty(value = "是否已删除0未删除 1未删除") private Integer isDelete; + @TableField(exist = false) + @ApiModelProperty(value = "层级") + private int level; /** * 子类集合 */ @TableField(exist = false) @ApiModelProperty(value = "子类集合") - List childrenList; + private List childrenList; public String getModelGroupCode() { return modelGroupCode == null ? "" : modelGroupCode; @@ -102,6 +105,7 @@ public class OcpModelGroupVO implements Serializable { public String getModelGroupPcode() { return modelGroupPcode == null ? "" : modelGroupPcode; } + } diff --git a/src/main/java/com/pms/ocp/service/impl/ModelClassifyServiceImpl.java b/src/main/java/com/pms/ocp/service/impl/ModelClassifyServiceImpl.java index 4855c8d..f8f7dda 100644 --- a/src/main/java/com/pms/ocp/service/impl/ModelClassifyServiceImpl.java +++ b/src/main/java/com/pms/ocp/service/impl/ModelClassifyServiceImpl.java @@ -64,7 +64,6 @@ public class ModelClassifyServiceImpl implements ModelClassifyService { **/ @Override public ResponseVO> subclassDetailsList(int currentPage,int pageSize,String parentGroupCode,String subclassGroupName) { - //查询所有 List ocpModelGroupVOList = this.selectByCondition(null,null); //将查询到所有数据的list转换为key为分类code,value为本身的map @@ -140,7 +139,11 @@ public class ModelClassifyServiceImpl implements ModelClassifyService { /** * 构建树节点 - */ + * @author huxiuwu + * @date 2022/3/10 + * @param treeNodes 需要构建的list + * @return List + **/ private List build(List treeNodes) { List result = new ArrayList<>(); //list转map =>将每个对象的id作为key,自己作为value. @@ -152,9 +155,12 @@ public class ModelClassifyServiceImpl implements ModelClassifyService { //得到自己的父类 OcpModelGroupVO parent = nodeMap.get(node.getModelGroupPcode()); if (parent != null && !(node.getModelGroupCode().equals(parent.getModelGroupCode()))) { + //防止每次都new list或者只是使用该对象就new对象浪费内存或者覆盖上一次记录 if (parent.getChildrenList() == null) { parent.setChildrenList(new LinkedList<>()); } + //说明他有父类其下子类都需要加一级 + addLevel(node,treeNodes); parent.getChildrenList().add(node); continue; } @@ -162,6 +168,21 @@ public class ModelClassifyServiceImpl implements ModelClassifyService { } return result; } + /** + * + * @author huxiuwu + * @date 2022/3/10 + * @param parent 父类 + * @param treeNodes 需要遍历list + **/ + private void addLevel(OcpModelGroupVO parent, List treeNodes) { + parent.setLevel(parent.getLevel()+1); + for (OcpModelGroupVO treeNode : treeNodes) { + if (treeNode != null && parent.getModelGroupCode().equals(treeNode.getModelGroupPcode())){ + addLevel(treeNode,treeNodes); + } + } + } private List selectByCondition(String... searchCondition) { QueryWrapper queryWrapper = new QueryWrapper<>(); -- 2.26.0