From 9ab109b9ee96e7ff2bf2b935a044aee5842a3ddc Mon Sep 17 00:00:00 2001 From: doum <doum> Date: 星期日, 28 九月 2025 10:08:09 +0800 Subject: [PATCH] 最新版本541200007 --- server/system_service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java | 45 ++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 42 insertions(+), 3 deletions(-) diff --git a/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java b/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java index 958a24f..9cb6752 100644 --- a/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java +++ b/server/system_service/src/main/java/com/doumee/biz/system/impl/SystemMenuBizImpl.java @@ -3,6 +3,7 @@ import com.doumee.biz.system.SystemMenuBiz; import com.doumee.core.exception.BusinessException; import com.doumee.core.constants.ResponseStatus; +import com.doumee.core.utils.Constants; import com.doumee.dao.system.dto.UpdateSystemMenuSortDTO; import com.doumee.dao.system.model.SystemMenu; import com.doumee.dao.system.vo.SystemMenuListVO; @@ -93,11 +94,19 @@ } @Override - public List<SystemMenuListVO> findTree() { - List<SystemMenuListVO> menus = systemMenuService.findList(); + public List<SystemMenu> findTopList() { + SystemMenu param =new SystemMenu(); + param.setDeleted(Boolean.FALSE); + param.setType(Constants.ONE); + List<SystemMenu> menus = systemMenuService.findList(param); + return menus; + } + @Override + public List<SystemMenuListVO> findTree(SystemMenu param) { + List<SystemMenuListVO> menus = systemMenuService.findManageList(param); List<SystemMenuListVO> rootMenus = new ArrayList<>(); // 娣诲姞鏍硅彍鍗� - for (SystemMenu menu : menus) { + for (SystemMenuListVO menu : menus) { if (menu.getParentId() == null) { SystemMenuListVO rootMenu = new SystemMenuListVO(); BeanUtils.copyProperties(menu, rootMenu, "children"); @@ -127,7 +136,10 @@ nodeVO.setLabel(menu.getName()); nodeVO.setUrl(menu.getPath()); nodeVO.setParams(menu.getParams()); + nodeVO.setType(menu.getType()); + nodeVO.setLinkType(menu.getLinkType()); nodeVO.setIcon(menu.getIcon()); +// nodeVO.setHomeUrl("/index");//榛樿宸ヤ綔鍙� nodeVO.setChildren(new ArrayList<>()); rootNodes.add(nodeVO); } @@ -135,8 +147,27 @@ menus.removeIf(menu -> menu.getParentId() == null); for (SystemMenuNodeVO child : rootNodes) { this.fillChildren(child, menus); + SystemMenuNodeVO homeMenus = getHomeUrlByChild(child); + if(homeMenus!=null && homeMenus.getUrl() != null){ + child.setHomeUrl(homeMenus.getUrl()); + } } return rootNodes; + } + + private SystemMenuNodeVO getHomeUrlByChild( SystemMenuNodeVO child) { + if(child.getChildren()==null || child.getChildren().size() ==0){ + return null; + } + for(SystemMenuNodeVO tt : child.getChildren()){ + if(tt.getChildren()==null || tt.getChildren().size() ==0){ + return tt; + }else{ + SystemMenuNodeVO ttt = getHomeUrlByChild(tt); + return ttt; + } + } + return null; } @Override @@ -177,6 +208,9 @@ } List<Integer> handledIds = new ArrayList<>(); for (SystemMenu menu : menus) { + if(!Constants.equalsInteger(menu.getType(),Constants.ZERO)){ + continue; + } if (parent.getId().equals(menu.getParentId())) { SystemMenuListVO child = new SystemMenuListVO(); BeanUtils.copyProperties(menu, child, "children"); @@ -206,6 +240,9 @@ } List<Integer> handledIds = new ArrayList<>(); for (SystemMenu menu : menus) { + if(!Constants.equalsInteger(menu.getType(),Constants.ZERO)){ + continue; + } if (parent.getId().equals(menu.getParentId())) { SystemMenuNodeVO child = new SystemMenuNodeVO(); child.setId(menu.getId()); @@ -213,6 +250,8 @@ child.setUrl(menu.getPath()); child.setParams(menu.getParams()); child.setIcon(menu.getIcon()); + child.setType(menu.getType()); + child.setLinkType(menu.getLinkType()); child.setIndex("menu_" + menu.getId()); child.setChildren(new ArrayList<>()); parent.getChildren().add(child); -- Gitblit v1.9.3