From e62ec0d2449648992b273ef955d1f726c93ffb17 Mon Sep 17 00:00:00 2001 From: CMM <2198256324@qq.com> Date: Mon, 27 Mar 2023 10:02:24 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=BA=93=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E9=80=89=E9=A1=B9=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ningdatech/pmapi/common/enumeration/ExportOptionEnum.java | 2 +- pmapi/src/main/java/com/ningdatech/pmapi/common/util/ExcelDownUtil.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/common/enumeration/ExportOptionEnum.java b/pmapi/src/main/java/com/ningdatech/pmapi/common/enumeration/ExportOptionEnum.java index 6e22873..e246973 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/common/enumeration/ExportOptionEnum.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/common/enumeration/ExportOptionEnum.java @@ -46,7 +46,7 @@ public enum ExportOptionEnum { buildOrgZheJiangGovDingId(14, "建设单位浙政钉ID"), - buildOrgCode(15, "建设单位统一信用代码"), + orgCreditCode(15, "建设单位统一信用代码"), projectType(16, "项目类型"), diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/common/util/ExcelDownUtil.java b/pmapi/src/main/java/com/ningdatech/pmapi/common/util/ExcelDownUtil.java index e6d760a..1eb9f3d 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/common/util/ExcelDownUtil.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/common/util/ExcelDownUtil.java @@ -201,7 +201,7 @@ public class ExcelDownUtil { for (ExportOptionEnum column : columnList) { List columnValues = Lists.newArrayList(); columnValues.add(column.getDesc()); - projects.stream().forEach(project -> { + projects.forEach(project -> { String s = JSON.toJSONString(project); JSONObject jsonObject = JSON.parseObject(s); String columnValue = String.valueOf(jsonObject.get(column.toString())); From c9f9bb85ed2e0e68274083a0d2aa7f953db2d4ac Mon Sep 17 00:00:00 2001 From: WendyYang Date: Mon, 27 Mar 2023 13:04:47 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E9=80=92=E5=BD=92=E5=A4=84=E7=90=86?= =?UTF-8?q?=E8=8F=9C=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ningdatech/pmapi/common/util/TreeUtil.java | 38 ++++++++++++---------- .../pmapi/sys/model/dto/MenuUpdateDTO.java | 3 +- .../pmapi/sys/service/impl/MenuServiceImpl.java | 2 +- 3 files changed, 23 insertions(+), 20 deletions(-) diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/common/util/TreeUtil.java b/pmapi/src/main/java/com/ningdatech/pmapi/common/util/TreeUtil.java index 64436ad..0bd168c 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/common/util/TreeUtil.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/common/util/TreeUtil.java @@ -10,10 +10,7 @@ import com.ningdatech.pmapi.sys.model.enumeration.MenuTypeEnum; import com.ningdatech.pmapi.sys.model.vo.MenuRoleVO; import java.io.Serializable; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Collectors; /** @@ -125,32 +122,37 @@ public final class TreeUtil { } Map> menuGroup = CollUtils.group(treeList, MenuTreeEntity::getPid); Map menuMap = CollUtils.listToMap(treeList, MenuTreeEntity::getId); - return buildUserMenuTree(menuGroup, menuMap, StrPool.DEF_PARENT_ID); + return buildUserMenuTree(menuGroup, menuMap, StrPool.DEF_PARENT_ID, null); } - private static List buildUserMenuTree(Map> menuGroup, Map menuMap, Long parentId) { + private static List buildUserMenuTree(Map> menuGroup, + Map menuMap, + Long parentId, + ListIterator parentIter) { List currMenus = menuGroup.get(parentId); if (currMenus == null) { return Collections.emptyList(); } - List menus = new ArrayList<>(currMenus); - for (MenuRoleVO curr : currMenus) { + List menus; + if (!parentId.equals(StrPool.DEF_PARENT_ID)) { + Map> group = CollUtils.group(currMenus, MenuRoleVO::getMenuType); + for (MenuRoleVO vo : group.getOrDefault(MenuTypeEnum.BUTTON, Collections.emptyList())) { + parentIter.add(vo); + } + menus = group.getOrDefault(MenuTypeEnum.MENU, Collections.emptyList()); + } else { + menus = new ArrayList<>(currMenus); + } + ListIterator currIter = menus.listIterator(); + while (currIter.hasNext()) { + MenuRoleVO curr = currIter.next(); if (curr.getPid().equals(StrPool.DEF_PARENT_ID)) { curr.setPid(null); curr.setTopMenu(curr.getName()); } else { curr.setTopMenu(menuMap.get(curr.getPid()).getTopMenu()); } - List childMenus = menuGroup.get(curr.getId()); - if (childMenus != null) { - Map> groupByType = CollUtils.group(childMenus, MenuRoleVO::getMenuType); - menus.addAll(groupByType.getOrDefault(MenuTypeEnum.BUTTON, Collections.emptyList())); - curr.setChildren(groupByType.get(MenuTypeEnum.MENU)); - for (MenuRoleVO child : curr.getChildren()) { - child.setTopMenu(curr.getTopMenu()); - child.setChildren(buildUserMenuTree(menuGroup, menuMap, child.getId())); - } - } + curr.setChildren(buildUserMenuTree(menuGroup, menuMap, curr.getId(), currIter)); } return menus; } diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/sys/model/dto/MenuUpdateDTO.java b/pmapi/src/main/java/com/ningdatech/pmapi/sys/model/dto/MenuUpdateDTO.java index ee76257..49be37e 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/sys/model/dto/MenuUpdateDTO.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/sys/model/dto/MenuUpdateDTO.java @@ -1,5 +1,6 @@ package com.ningdatech.pmapi.sys.model.dto; +import com.ningdatech.pmapi.sys.model.enumeration.MenuTypeEnum; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.*; @@ -48,7 +49,7 @@ public class MenuUpdateDTO implements Serializable { * 类型 */ @ApiModelProperty(value = "类型") - private Integer type; + private MenuTypeEnum menuType; /** * 页面路径 diff --git a/pmapi/src/main/java/com/ningdatech/pmapi/sys/service/impl/MenuServiceImpl.java b/pmapi/src/main/java/com/ningdatech/pmapi/sys/service/impl/MenuServiceImpl.java index 33f7709..2894537 100644 --- a/pmapi/src/main/java/com/ningdatech/pmapi/sys/service/impl/MenuServiceImpl.java +++ b/pmapi/src/main/java/com/ningdatech/pmapi/sys/service/impl/MenuServiceImpl.java @@ -79,7 +79,7 @@ public class MenuServiceImpl extends ServiceImpl implements IM @Override @Transactional(rollbackFor = Exception.class) public boolean update(MenuUpdateDTO data, Long userId) { - if (MenuTypeEnum.MENU.getCode().equals(data.getType())) { + if (MenuTypeEnum.MENU.equals(data.getMenuType())) { if (StrUtil.isBlank(data.getPath())) { throw new BaseUncheckedException(HttpStatus.HTTP_OK, "【地址栏路径】不能为空"); }