From e135f2bea56d0c26ead9152a55d2d46d45a1d6bc Mon Sep 17 00:00:00 2001 From: huxiuwu <18621965254@yeah.net> Date: Wed, 9 Mar 2022 19:56:57 +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=E8=BF=94=E5=9B=9E=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ocp/controller/ModelBaseController.java | 2 ++ .../com/pms/ocp/model/vo/OcpModelGroupVO.java | 7 ++++++ .../impl/ModelClassifyServiceImpl.java | 25 +++++++++++-------- 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/pms/ocp/controller/ModelBaseController.java b/src/main/java/com/pms/ocp/controller/ModelBaseController.java index ce9828c..5e9f1ca 100644 --- a/src/main/java/com/pms/ocp/controller/ModelBaseController.java +++ b/src/main/java/com/pms/ocp/controller/ModelBaseController.java @@ -16,6 +16,8 @@ import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.List; + import static com.pms.ocp.common.constants.CodeEnum.REQUIRED_PARAMETER_EMPTY; /** 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 d9f9cd2..fa52817 100644 --- a/src/main/java/com/pms/ocp/model/vo/OcpModelGroupVO.java +++ b/src/main/java/com/pms/ocp/model/vo/OcpModelGroupVO.java @@ -40,6 +40,13 @@ public class OcpModelGroupVO implements Serializable { */ @ApiModelProperty(value = "上级模型分类id") private String modelGroupPcode; + + /** + * 上级模型分类id + */ + @ApiModelProperty(value = "上级模型分类名称") + @TableField(exist = false) + private String modelGroupPName; /** * 分类版本 */ 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 5d0c375..2bc92f4 100644 --- a/src/main/java/com/pms/ocp/service/impl/ModelClassifyServiceImpl.java +++ b/src/main/java/com/pms/ocp/service/impl/ModelClassifyServiceImpl.java @@ -16,6 +16,8 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; /** * @author huxiuwu @@ -61,9 +63,10 @@ public class ModelClassifyServiceImpl implements ModelClassifyService { @Override public ResponseVO> subclassDetailsList(int pageSize,int pageNum,String parentGroupCode,String subclassGroupName) { PageHelper.startPage(pageSize,pageNum); - List ocpModelGroupVOList = this.selectByCondition(null,null); - LinkedList childrenList = new LinkedList<>(); - findChildren(ocpModelGroupVOList, parentGroupCode,childrenList); + List ocpModelGroupVOList = this.selectByCondition(null,subclassGroupName); + Map groupByCode = ocpModelGroupVOList.stream().collect(Collectors.toMap(OcpModelGroupVO::getModelGroupCode, Function.identity(), (key1, key2) -> key2)); + OcpModelGroupVO ocpModelGroupVO = groupByCode.get(parentGroupCode); + List childrenList = findChildren(ocpModelGroupVOList, ocpModelGroupVO, new LinkedList<>()); PageInfo pageInfo = new PageInfo<>(childrenList); return ResponseVO.ok(pageInfo); } @@ -107,20 +110,20 @@ public class ModelClassifyServiceImpl implements ModelClassifyService { * @author huxiuwu * @date 2022/3/9 * @param menuList - * @param pid * @param childMenu * @return void **/ - private void findChildren(List menuList, String pid,List childMenu) { - for (OcpModelGroupVO mu : menuList) { + private List findChildren(List menuList, OcpModelGroupVO parent,List childMenu) { + for (OcpModelGroupVO vo : menuList) { //遍历出父id等于参数的id,add进子节点集合 - if (pid != null && pid.equals(mu.getModelGroupPcode())) { + if (parent.getModelGroupCode() != null && parent.getModelGroupCode().equals(vo.getModelGroupPcode())) { //递归遍历下一级 - childMenu.add(mu); - findChildren(menuList, mu.getModelGroupCode(), childMenu); + vo.setModelGroupPName(parent.getModelGroupName()); + childMenu.add(vo); + childMenu = findChildren(menuList, vo, childMenu); } } - + return childMenu; } @@ -153,7 +156,7 @@ public class ModelClassifyServiceImpl implements ModelClassifyService { QueryWrapper queryWrapper = new QueryWrapper<>(); //根据是否传入搜索条件创建构造器进行查询 queryWrapper.eq(StringUtils.isNotEmpty(searchCondition[0]), "model_group_pcode", searchCondition[1]) - .like(StringUtils.isNotEmpty(searchCondition[0]), "model_group_name", searchCondition[0]); + .like(StringUtils.isNotEmpty(searchCondition[1]), "model_group_name", searchCondition[0]); return classifyMapper.selectList(queryWrapper); } } -- 2.26.0