From a17680481c1c7ff200813251ab61fccd02f5029d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Thu, 24 Feb 2022 23:06:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=8A=82=E7=82=B9=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E3=80=81=E6=A0=87=E7=AD=BE=E7=AD=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xm/core/ctrl/XmProductController.java | 2 ++ .../com/xm/core/service/XmMenuService.java | 20 ++++++++++++------- .../com/xm/core/service/XmProductService.java | 1 - 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/xm-core/src/main/java/com/xm/core/ctrl/XmProductController.java b/xm-core/src/main/java/com/xm/core/ctrl/XmProductController.java index cc7626d2..74341edd 100644 --- a/xm-core/src/main/java/com/xm/core/ctrl/XmProductController.java +++ b/xm-core/src/main/java/com/xm/core/ctrl/XmProductController.java @@ -273,6 +273,7 @@ public class XmProductController { }else if(!groupService.checkUserIsProductAdm(xmProductDb,user.getUserid())){ return ResponseHelper.failed("pmUserid-not-right","您不是该产品产品负责人,也不是产品助理,不允许删除"); } + /** if(!"1".equals(xmProductDb.getIsTpl())){ long menus=xmProductService.checkExistsMenu(xmProduct.getId()); if(menus>0) { @@ -280,6 +281,7 @@ public class XmProductController { } } + **/ xmProductService.doDeleteByPk(xmProduct); xmProductService.clearCache(xmProduct.getId()); }catch (BizException e) { diff --git a/xm-core/src/main/java/com/xm/core/service/XmMenuService.java b/xm-core/src/main/java/com/xm/core/service/XmMenuService.java index 5e3456a6..d7f0a581 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmMenuService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmMenuService.java @@ -102,7 +102,7 @@ public class XmMenuService extends BaseService { } for (XmMenu node : nodes) { if(!StringUtils.hasText(node.getPmenuId())){ - node.setPidPaths("0,"); + node.setPidPaths("0,"+node.getMenuId()+","); continue; } if(hadCalcMap.containsKey(node.getPmenuId())){ @@ -110,6 +110,11 @@ public class XmMenuService extends BaseService { node.setPidPaths(idPaths+node.getMenuId()+","); }else{ List pnodeList=this.getParentList(node,nodes); + if(pnodeList==null ||pnodeList.size()==0){ + node.setPidPaths("0,"+node.getMenuId()+","); + node.setPmenuId(null); + continue; + } XmMenu topParent=pnodeList.get(pnodeList.size()-1); String idPath="0,"; if(hadCalcMap.containsKey(topParent.getPmenuId())){ @@ -133,13 +138,14 @@ public class XmMenuService extends BaseService { Tips tips = new Tips("成功"); if (!StringUtils.hasText(currNode.getPmenuId()) || "0".equals(currNode.getPmenuId())) { currNode.setPidPaths("0," + currNode.getMenuId() + ","); - currNode.setLvl(2); + currNode.setLvl(1); return tips; } else { List parentList=this.getParentList(currNode); if(parentList==null || parentList.size()==0){ - currNode.setPidPaths("0,"+currNode.getPmenuId()+","+currNode.getMenuId()+","); - currNode.setLvl(2); + currNode.setPidPaths("0,"+currNode.getMenuId()+","); + currNode.setPmenuId(null); + currNode.setLvl(1); return tips; } String idPath="0,"; @@ -159,8 +165,8 @@ public class XmMenuService extends BaseService { List parentList=new ArrayList<>(); XmMenu current=currNode; while (true){ - if(!StringUtils.hasText(current.getPmenuId()) || "0".equals(current.getPmenuId())){ - return parentList; + if(!StringUtils.hasText(current.getPmenuId()) || "0".equals(current.getPmenuId())||current.getMenuId().equals(current.getPmenuId())){ + return parentList; } XmMenu query=new XmMenu(); query.setMenuId(current.getPmenuId()); @@ -176,7 +182,7 @@ public class XmMenuService extends BaseService { List parentList=new ArrayList<>(); XmMenu current=currNode; while (true){ - if(!StringUtils.hasText(current.getPmenuId()) || "0".equals(current.getPmenuId())){ + if(!StringUtils.hasText(current.getPmenuId()) || "0".equals(current.getPmenuId())||current.getMenuId().equals(current.getPmenuId())){ return parentList; } XmMenu query=new XmMenu(); diff --git a/xm-core/src/main/java/com/xm/core/service/XmProductService.java b/xm-core/src/main/java/com/xm/core/service/XmProductService.java index 7021202d..dfdc84d1 100644 --- a/xm-core/src/main/java/com/xm/core/service/XmProductService.java +++ b/xm-core/src/main/java/com/xm/core/service/XmProductService.java @@ -125,7 +125,6 @@ public class XmProductService extends BaseService { node.setCtime(new Date()); node.setMmUserid(user.getUserid()); node.setMmUsername(user.getUsername()); - node.setProductId(xmProductTo.getId()); } this.xmMenuService.parentIdPathsCalcBeforeSave(xmMenus); this.xmMenuService.doBatchInsert(xmMenus);