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);