package com.nis.web.controller; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.OutputStream; import java.net.URLDecoder; import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import com.nis.domain.SysMenu; import com.nis.util.StringUtil; import com.nis.web.security.UserUtils; @Controller @RequestMapping("${adminPath}/sys/") public class SystemController extends BaseController{ @RequestMapping("index") public String index(HttpServletRequest request, HttpServletResponse response,ModelMap model){ return "/sys/sysIndex"; } @RequestMapping("help") public String help(HttpServletRequest request, HttpServletResponse response,ModelMap model){ List menuList = UserUtils.getMenuTreeList(); List newList = new ArrayList(); try { for(SysMenu menu:menuList){ if(menu.getIsTop()==1 && !StringUtil.isEmpty(menu.getChildren())){ boolean topShow = false; for(SysMenu second:menu.getChildren()){ boolean secondShow = false; if(second.getIsShow()==1){ if(!StringUtil.isEmpty(second.getMenuBg())){ secondShow = true; } if(!StringUtil.isEmpty(second.getChildren())){ for(SysMenu third:second.getChildren()){ boolean thirdShow = false; if(third.getIsShow()==1){ if(!StringUtil.isEmpty(third.getMenuBg())){ thirdShow = true; secondShow = true; } if(!StringUtil.isEmpty(third.getChildren())){ for(SysMenu fourth:third.getChildren()){ if(!StringUtil.isEmpty(fourth.getMenuBg())&&fourth.getIsShow()==1){ newList.add(fourth); thirdShow = true; secondShow = true; } } } } if(thirdShow){ newList.add(third); } } } if(secondShow){ newList.add(second); topShow = true; } } } if(topShow){ newList.add(menu); } } /*if(menu.getChildren()!=null && menu.getChildren().size()>0 && menu.getIsShow()==1){ newList.add(menu); }else if(menu.getMenuBg()!=null && !"".equals(menu.getMenuBg())){ newList.add(menu); }else if(menu.getId()==1){ newList.add(menu); }*/ /*if((menu.getParentIds().startsWith("0,1,86,") || menu.getId()==86 ||menu.getId()==0 ||menu.getId()==1) && menu.getIsShow()==1 ){ System.out.println(menu.getParentIds()); newList.add(menu); }*/ } } catch (Exception e) { logger.error("help error",e); } logger.info("menuSize:"+newList.size()); model.addAttribute("menuList",newList); return "/help"; } @RequestMapping("saveHelp") @ResponseBody public boolean saveHelp(HttpServletRequest request, HttpServletResponse response,ModelMap model,@RequestParam(required=true,value="editedHelpInfo")String editedHelpInfo,@RequestParam(required=true,value="helpHrefVal")String helpHrefVal){ try { StringBuffer helpInfo=new StringBuffer(); helpInfo.append(URLDecoder.decode(editedHelpInfo,"utf-8")); String htmlName=URLDecoder.decode(helpHrefVal,"utf-8"); String htmlPath=request.getServletContext().getRealPath("/")+htmlName; File file=new File(htmlPath); OutputStream out=new FileOutputStream(file); out.write(helpInfo.toString().getBytes()); out.flush(); out.close(); } catch (Exception e) { e.printStackTrace(); return false; } return true; } }