| 
					
				 | 
			
			
				@ -48,13 +48,18 @@ public class MenuEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public ObjEnvelop<MenuVO> create ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "jsonData", value = "Json数据", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam String jsonData) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        MenuDO menuDO = toEntity(jsonData, MenuDO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        int count = menuService.isExistName(menuDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(count>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return failed(errorCodeUtil.getErrorMsg(BaseErrorCode.Menu.NAME_IS_EXIST), ObjEnvelop.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            MenuDO menuDO = toEntity(jsonData, MenuDO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            int count = menuService.isExistName(menuDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(count>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return failed(errorCodeUtil.getErrorMsg(BaseErrorCode.Menu.NAME_IS_EXIST), ObjEnvelop.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            menuDO = menuService.addMenu(menuDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return success(menuDO, MenuVO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return ObjEnvelop.getError("操作失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        menuDO = menuService.addMenu(menuDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return success(menuDO, MenuVO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @PostMapping(value = BaseRequestMapping.Menu.MOVE_DOWN) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -62,8 +67,13 @@ public class MenuEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Envelop moveDown( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "id", value = "id", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "id") String id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        menuService.moveDown(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return success("修改成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            menuService.moveDown(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return success("修改成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return Envelop.getError("操作失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @PostMapping(value = BaseRequestMapping.Menu.MOVE_UP) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -71,8 +81,13 @@ public class MenuEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Envelop moveUp( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "id", value = "id", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "id") String id) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        menuService.moveUp(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return success("修改成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            menuService.moveUp(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return success("修改成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return Envelop.getError("操作失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @PostMapping(value = BaseRequestMapping.Menu.STATUS) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -82,8 +97,13 @@ public class MenuEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "id") String id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "status", value = "1生效,0失效", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "status") Integer status) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        menuService.updateStatus(id, status); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return success("修改成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            menuService.updateStatus(id, status); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return success("修改成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return Envelop.getError("操作失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @GetMapping(value = BaseRequestMapping.Menu.IS_NAME_EXIST) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -91,24 +111,34 @@ public class MenuEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public ObjEnvelop isNameExist( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "name", value = "菜单名称", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "name") String name) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return success(menuService.isExistName(name)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return success(menuService.isExistName(name)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return ObjEnvelop.getError("操作失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @PostMapping(value = BaseRequestMapping.Menu.UPDATE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation(value = "更新") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public Envelop update ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "jsonData", value = "Json数据", required = true) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam String jsonData) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        MenuDO menuDO = toEntity(jsonData, MenuDO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if (null == menuDO.getId()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return failed(errorCodeUtil.getErrorMsg(BaseErrorCode.Common.ID_IS_NULL), Envelop.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        int count = menuService.isExistName(menuDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(count>1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return failed(errorCodeUtil.getErrorMsg(BaseErrorCode.Menu.NAME_IS_EXIST), ObjEnvelop.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam String jsonData){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            MenuDO menuDO = toEntity(jsonData, MenuDO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if (null == menuDO.getId()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return failed(errorCodeUtil.getErrorMsg(BaseErrorCode.Common.ID_IS_NULL), Envelop.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            int count = menuService.isExistName(menuDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(count>1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                return failed(errorCodeUtil.getErrorMsg(BaseErrorCode.Menu.NAME_IS_EXIST), ObjEnvelop.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            menuDO = menuService.updateMenu(menuDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return success(menuDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return Envelop.getError("操作失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        menuDO = menuService.updateMenu(menuDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return success(menuDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @GetMapping(value = BaseRequestMapping.Menu.PAGE) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -123,31 +153,41 @@ public class MenuEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "page", value = "分页大小", required = true, defaultValue = "1") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "page") int page, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "size", value = "页码", required = true, defaultValue = "15") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "size") int size) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<MenuDO> menuDOS = menuService.search(fields, filters, sorts, page, size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        int count = (int)menuService.getCount(filters); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return success(menuDOS, count, page, size, MenuVO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "size") int size){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<MenuDO> menuDOS = menuService.search(fields, filters, sorts, page, size); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            int count = (int)menuService.getCount(filters); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return success(menuDOS, count, page, size, MenuVO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return PageEnvelop.getError("获取失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @GetMapping(value = BaseRequestMapping.Menu.LIST) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation(value = "获取列表") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public ListEnvelop<MenuVO> list ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "id", value = "id") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "id", required = false) String id) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String filters = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(id)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            filters = "parentId="+id+";"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<MenuDO> menuDOS = menuService.search(null, filters, "+sort"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        MenuDO menuDO = menuService.findOne(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        menuDOS.forEach(menu -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(CommonContant.DEFAULT_PARENTID.equals(menu.getParentId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                menu.setParentName(CommonContant.DEFAULT_PARENTNAME); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                menu.setParentName(menuDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "id", required = false) String id){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String filters = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(StringUtils.isNotBlank(id)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                filters = "parentId="+id+";"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return success(menuDOS, MenuVO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<MenuDO> menuDOS = menuService.search(null, filters, "+sort"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            MenuDO menuDO = menuService.findOne(id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            menuDOS.forEach(menu -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(CommonContant.DEFAULT_PARENTID.equals(menu.getParentId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    menu.setParentName(CommonContant.DEFAULT_PARENTNAME); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    menu.setParentName(menuDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return success(menuDOS, MenuVO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return ListEnvelop.getError("获取失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @GetMapping(value = BaseRequestMapping.Menu.FIND_ALL) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -156,59 +196,69 @@ public class MenuEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "status", value = "状态") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "status", required = false) String status, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "name", value = "名称") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "name", required = false) String name) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String filters = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(status)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            filters = "status="+status+";"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(name)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            filters += "name?"+name+";"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<MenuDO> menuDOs = menuService.search(null, filters, "+sort"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<MenuVO> menuVOs = convertToModels(menuDOs,new ArrayList<>(menuDOs.size()), MenuVO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        menuVOs.forEach(menuVO -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(CommonContant.DEFAULT_PARENTID.equals(menuVO.getParentId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                menuVO.setParentName(CommonContant.DEFAULT_PARENTNAME); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                MenuDO menuDO = menuService.findOne(menuVO.getParentId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                menuVO.setParentName(menuDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "name", required = false) String name){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String filters = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(StringUtils.isNotBlank(status)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                filters = "status="+status+";"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,List<MenuVO>> map = menuVOs.stream().collect(Collectors.groupingBy(MenuVO::getParentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        menuVOs.forEach(menu->{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<MenuVO> tmp = map.get(menu.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            menu.setChildren(tmp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isBlank(name)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            menuVOs = menuVOs.stream() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    .filter(menu -> CommonContant.DEFAULT_PARENTID.equals(menu.getParentId())) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    .collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(StringUtils.isNotBlank(name)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                filters += "name?"+name+";"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<MenuDO> menuDOs = menuService.search(null, filters, "+sort"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<MenuVO> menuVOs = convertToModels(menuDOs,new ArrayList<>(menuDOs.size()), MenuVO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            menuVOs.forEach(menuVO -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(CommonContant.DEFAULT_PARENTID.equals(menuVO.getParentId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    menuVO.setParentName(CommonContant.DEFAULT_PARENTNAME); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    MenuDO menuDO = menuService.findOne(menuVO.getParentId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    menuVO.setParentName(menuDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,List<MenuVO>> map = menuVOs.stream().collect(Collectors.groupingBy(MenuVO::getParentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            menuVOs.forEach(menu->{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                List<MenuVO> tmp = map.get(menu.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                menu.setChildren(tmp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(StringUtils.isBlank(name)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                menuVOs = menuVOs.stream() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        .filter(menu -> CommonContant.DEFAULT_PARENTID.equals(menu.getParentId())) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        .collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return success(menuVOs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return ListEnvelop.getError("获取失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return success(menuVOs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @GetMapping(value = BaseRequestMapping.Menu.GET_TREE) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation(value = "获取列表") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public ListEnvelop<MenuVO> getTree ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "status", value = "状态") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "status", required = false) String status) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String filters = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(status)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            filters = "status="+status; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<MenuDO> menuDOs = menuService.search(null, filters, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<MenuVO> menuVOs = convertToModels(menuDOs,new ArrayList<>(menuDOs.size()),MenuVO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,List<MenuVO>> map = menuVOs.stream().collect(Collectors.groupingBy(MenuVO::getParentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        menuVOs.forEach(menu->{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<MenuVO> tmp = map.get(menu.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            menu.setChildren(tmp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        menuVOs = menuVOs.stream() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                .filter(menu -> CommonContant.DEFAULT_PARENTID.equals(menu.getParentId())) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                .collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "status", required = false) String status) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String filters = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(StringUtils.isNotBlank(status)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                filters = "status="+status; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<MenuDO> menuDOs = menuService.search(null, filters, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<MenuVO> menuVOs = convertToModels(menuDOs,new ArrayList<>(menuDOs.size()),MenuVO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,List<MenuVO>> map = menuVOs.stream().collect(Collectors.groupingBy(MenuVO::getParentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            menuVOs.forEach(menu->{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                List<MenuVO> tmp = map.get(menu.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                menu.setChildren(tmp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            menuVOs = menuVOs.stream() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    .filter(menu -> CommonContant.DEFAULT_PARENTID.equals(menu.getParentId())) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    .collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return success(menuVOs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return success(menuVOs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return ListEnvelop.getError("获取失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -220,48 +270,53 @@ public class MenuEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "name", value = "名称") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "name", required = false) String name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "roleId", value = "角色id") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "roleId", required = false)String roleId) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String filters = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(status)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            filters = "status="+status+";"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isNotBlank(name)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            filters += "name?"+name+";"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //获取所有选择树 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<RoleMenuDO> roleMenus = roleMenuService.findRoleMenu(roleId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<MenuDO> menuDOs = menuService.search(null, filters, "+sort"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<MenuVO> menuVOs = convertToModels(menuDOs,new ArrayList<>(menuDOs.size()), MenuVO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        menuVOs.forEach(menuVO -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(CommonContant.DEFAULT_PARENTID.equals(menuVO.getParentId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                menuVO.setParentName(CommonContant.DEFAULT_PARENTNAME); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                MenuDO menuDO = menuService.findOne(menuVO.getParentId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                menuVO.setParentName(menuDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "roleId", required = false)String roleId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String filters = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(StringUtils.isNotBlank(status)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                filters = "status="+status+";"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //对比树是否被选择 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(checkedTree(menuVO.getId(),roleMenus)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                menuVO.setChecked(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                menuVO.setChecked(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(StringUtils.isNotBlank(name)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                filters += "name?"+name+";"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,List<MenuVO>> map = menuVOs.stream().collect(Collectors.groupingBy(MenuVO::getParentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        menuVOs.forEach(menu->{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<MenuVO> tmp = map.get(menu.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            menu.setChildren(tmp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isBlank(name)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            menuVOs = menuVOs.stream() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    .filter(menu -> CommonContant.DEFAULT_PARENTID.equals(menu.getParentId())) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    .collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //获取所有选择树 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<RoleMenuDO> roleMenus = roleMenuService.findRoleMenu(roleId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<MenuDO> menuDOs = menuService.search(null, filters, "+sort"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<MenuVO> menuVOs = convertToModels(menuDOs,new ArrayList<>(menuDOs.size()), MenuVO.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            menuVOs.forEach(menuVO -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(CommonContant.DEFAULT_PARENTID.equals(menuVO.getParentId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    menuVO.setParentName(CommonContant.DEFAULT_PARENTNAME); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    MenuDO menuDO = menuService.findOne(menuVO.getParentId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    menuVO.setParentName(menuDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                //对比树是否被选择 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(checkedTree(menuVO.getId(),roleMenus)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    menuVO.setChecked(true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    menuVO.setChecked(false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,List<MenuVO>> map = menuVOs.stream().collect(Collectors.groupingBy(MenuVO::getParentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            menuVOs.forEach(menu->{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                List<MenuVO> tmp = map.get(menu.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                menu.setChildren(tmp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(StringUtils.isBlank(name)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                menuVOs = menuVOs.stream() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        .filter(menu -> CommonContant.DEFAULT_PARENTID.equals(menu.getParentId())) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                        .collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return success(menuVOs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return ListEnvelop.getError("获取失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return success(menuVOs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -286,28 +341,32 @@ public class MenuEndpoint extends EnvelopRestEndpoint { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ApiOperation(value = "获取角色登录菜单") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public ListEnvelop<MenuVO> findLoginRoleMenuTree ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @ApiParam(name = "roleId", value = "角色id") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "roleId", required = false)String roleId) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        List<MenuVO> menuVOs = roleMenuService.findMenuByRoleId(roleId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        menuVOs.forEach(menuVO -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            if(CommonContant.DEFAULT_PARENTID.equals(menuVO.getParentId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                menuVO.setParentName(CommonContant.DEFAULT_PARENTNAME); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                MenuDO menuDO = menuService.findOne(menuVO.getParentId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                menuVO.setParentName(menuDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            @RequestParam(value = "roleId", required = false)String roleId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<MenuVO> menuVOs = roleMenuService.findMenuByRoleId(roleId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            menuVOs.forEach(menuVO -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                if(CommonContant.DEFAULT_PARENTID.equals(menuVO.getParentId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    menuVO.setParentName(CommonContant.DEFAULT_PARENTNAME); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    MenuDO menuDO = menuService.findOne(menuVO.getParentId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    menuVO.setParentName(menuDO.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String,List<MenuVO>> map = menuVOs.stream().collect(Collectors.groupingBy(MenuVO::getParentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            Map<String,List<MenuVO>> map = menuVOs.stream().collect(Collectors.groupingBy(MenuVO::getParentId)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        menuVOs.forEach(menu->{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            List<MenuVO> tmp = map.get(menu.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            menu.setChildren(tmp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        menuVOs = menuVOs.stream() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                .filter(menu -> CommonContant.DEFAULT_PARENTID.equals(menu.getParentId())) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                .collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            menuVOs.forEach(menu->{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                List<MenuVO> tmp = map.get(menu.getId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                menu.setChildren(tmp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            menuVOs = menuVOs.stream() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    .filter(menu -> CommonContant.DEFAULT_PARENTID.equals(menu.getParentId())) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                    .collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return success(menuVOs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return success(menuVOs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return ListEnvelop.getError("获取失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |