From 2ece6f6cd23d7b717881dd54a9fc74877096ecee Mon Sep 17 00:00:00 2001
From: wuxw7 <wuxw7@asiainfo.com>
Date: 星期一, 07 五月 2018 23:13:59 +0800
Subject: [PATCH] 控制服务实现登录功能 和菜单展示,以及中心服务bug修复
---
ConsoleService/src/main/java/com/java110/console/controller/ConsoleController.java | 48 ++++++++++++++++++++++++++++++++++++++----------
1 files changed, 38 insertions(+), 10 deletions(-)
diff --git a/ConsoleService/src/main/java/com/java110/console/rest/ConsoleController.java b/ConsoleService/src/main/java/com/java110/console/controller/ConsoleController.java
similarity index 64%
rename from ConsoleService/src/main/java/com/java110/console/rest/ConsoleController.java
rename to ConsoleService/src/main/java/com/java110/console/controller/ConsoleController.java
index f687d3f..267d336 100644
--- a/ConsoleService/src/main/java/com/java110/console/rest/ConsoleController.java
+++ b/ConsoleService/src/main/java/com/java110/console/controller/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;
}
--
Gitblit v1.8.0