wuxw7
2018-05-07 2ece6f6cd23d7b717881dd54a9fc74877096ecee
ConsoleService/src/main/java/com/java110/console/controller/ConsoleController.java
File was renamed from ConsoleService/src/main/java/com/java110/console/rest/ConsoleController.java
@@ -1,14 +1,16 @@
package com.java110.console.rest;
package com.java110.console.controller;
import com.java110.common.exception.NoAuthorityException;
import com.java110.common.exception.SMOException;
import com.java110.console.smo.IConsoleServiceSMO;
import com.java110.core.base.controller.BaseController;
import com.java110.entity.service.PageData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -25,16 +27,22 @@
    private IConsoleServiceSMO consoleServiceSMOImpl;
    @RequestMapping(path = "/")
    public String index(Model model) {
    public String index(Model model, HttpServletRequest request) {
        String template = "index";
        try {
            //1.0 判断用户是否登录
            String managerId = checkLogin();
            //1.0 获取对象
            PageData pd = this.getPageData(request);
            // 判断用户是否登录
            checkLogin(pd);
            //2.0 查询菜单信息
            List<Map> menuItems = consoleServiceSMOImpl.getMenuItemsByManageId(managerId);
            List<Map> menuItems = consoleServiceSMOImpl.getMenuItemsByManageId(pd.getUserId());
            List<Map> removeMenuItems = new ArrayList<Map>();
            for(Map menuItem : menuItems){
                if(!"-1".equals(menuItem.get("parentId")) && !"1".equals(menuItem.get("level"))){
                    Map parentMenuItem = this.getMenuItemFromList(menuItems,menuItem.get("parentId").toString());
                    if(parentMenuItem == null){
                        continue;
                    }
                    if(parentMenuItem.containsKey("subMenus")){
                        List<Map> subMenus = (List<Map>) parentMenuItem.get("subMenus");
                        subMenus.add(menuItem);
@@ -44,18 +52,23 @@
                        parentMenuItem.put("subMenus",subMenus);
                    }
                    menuItems.remove(menuItem);
                    removeMenuItems.add(menuItem);
                }
            }
            removeMap(menuItems,removeMenuItems);
            model.addAttribute("menus",menuItems);
            //3.0 查询各个系统调用量
        }catch (NoAuthorityException e){
            //跳转到登录页面
            template = "login";
            template = "redirect:/login";
        }catch (IllegalArgumentException e){
            template = "error";
            template = "redirect:/system/error";
        }catch (SMOException e){
            template = "error";
            template = "redirect:/system/error";
        }catch (Exception e){
            logger.error("系统异常:",e);
            template = "redirect:/system/error";
        }finally {
            return template;
        }
@@ -64,13 +77,28 @@
    private Map getMenuItemFromList(List<Map> menuItems,String parentId){
        for(Map menuItem : menuItems){
            if(menuItem.get("mId").equals(parentId)){
            if(menuItem.get("mId").toString().equals(parentId)){
                return menuItem;
            }
        }
        return null;
    }
    /**
     * 删除map
     * @param menuItems
     * @param removeMenuItems
     */
    private void removeMap(List<Map> menuItems,List<Map> removeMenuItems){
        if(removeMenuItems == null  || removeMenuItems.size() == 0){
            return;
        }
        for(Map removeMenuItem : removeMenuItems){
            menuItems.remove(removeMenuItem);
        }
    }
    public IConsoleServiceSMO getConsoleServiceSMOImpl() {
        return consoleServiceSMOImpl;
    }