From 4a7837c46a5d10755ba1eeb29f833c3eaa8a703e Mon Sep 17 00:00:00 2001
From: 吴学文 <wuxuewen@wuxuewendeMacBook-Pro.local>
Date: 星期三, 20 三月 2019 00:02:06 +0800
Subject: [PATCH] 开发登录界面完成,登录逻辑 后期完善
---
java110-core/src/main/java/com/java110/core/base/controller/BaseController.java | 125 ++++++++++++++++++++++++++++++++++++++---
1 files changed, 116 insertions(+), 9 deletions(-)
diff --git a/java110-core/src/main/java/com/java110/core/base/controller/BaseController.java b/java110-core/src/main/java/com/java110/core/base/controller/BaseController.java
index ba9a01b..4ead590 100644
--- a/java110-core/src/main/java/com/java110/core/base/controller/BaseController.java
+++ b/java110-core/src/main/java/com/java110/core/base/controller/BaseController.java
@@ -1,22 +1,18 @@
package com.java110.core.base.controller;
-import com.alibaba.fastjson.JSONObject;
import com.java110.common.constant.CommonConstant;
import com.java110.common.constant.ResponseConstant;
import com.java110.common.exception.NoAuthorityException;
-import com.java110.common.factory.PageDataFactory;
-import com.java110.common.log.LoggerEngine;
-import com.java110.common.util.SequenceUtil;
import com.java110.common.util.StringUtil;
import com.java110.core.base.AppBase;
-import com.java110.entity.service.PageData;
-import org.springframework.util.StringUtils;
+import com.java110.core.context.BusinessServiceDataFlow;
+import com.java110.core.factory.DataFlowFactory;
+import com.java110.core.context.PageData;
+import org.springframework.ui.Model;
import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.net.URLEncoder;
import java.util.*;
/**
@@ -84,16 +80,44 @@
}
+ public static Map<String, String> getParameterStringMap(HttpServletRequest request) {
+ Map<String, String[]> properties = request.getParameterMap();//鎶婅姹傚弬鏁板皝瑁呭埌Map<String, String[]>涓�
+ Map<String, String> returnMap = new HashMap<String, String>();
+ String name = "";
+ String value = "";
+ for (Map.Entry<String, String[]> entry : properties.entrySet()) {
+ name = entry.getKey();
+ String[] values = entry.getValue();
+ if (null == values) {
+ value = "";
+ } else if (values.length>1) {
+ for (int i = 0; i < values.length; i++) { //鐢ㄤ簬璇锋眰鍙傛暟涓湁澶氫釜鐩稿悓鍚嶇О
+ value = values[i] + ",";
+ }
+ value = value.substring(0, value.length() - 1);
+ } else {
+ value = values[0];//鐢ㄤ簬璇锋眰鍙傛暟涓姹傚弬鏁板悕鍞竴
+ }
+ returnMap.put(name, value);
+
+ }
+ return returnMap;
+ }
+
protected void initHeadParam(HttpServletRequest request,Map headers) {
Enumeration reqHeaderEnum = request.getHeaderNames();
while( reqHeaderEnum.hasMoreElements() ) {
String headerName = (String)reqHeaderEnum.nextElement();
- headers.put(headerName, request.getHeader(headerName));
+ headers.put(headerName.toLowerCase(), request.getHeader(headerName));
}
headers.put("IP",getIpAddr(request));
+
+ headers.put("hostName",request.getLocalName());
+ headers.put("port",request.getLocalPort()+"");
+
}
/**
@@ -135,4 +159,87 @@
return (PageData) request.getAttribute(CommonConstant.CONTEXT_PAGE_DATA);
}
+ /**
+ * 鏌ヨ鑿滃崟
+ * @param model
+ * @param pd
+ */
+ protected void getMenus(Model model,PageData pd,List<Map> menuItems){
+ 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);
+ }else{
+ List<Map> subMenus = new ArrayList<Map>();
+ subMenus.add(menuItem);
+ parentMenuItem.put("subMenus",subMenus);
+ }
+
+ //removeMenuItems.add(menuItem);
+ }
+ }
+
+
+ //bug 20180510 濡傛灉鍦ㄤ竴绾ц彍鍗曚笅闈㈡病鏈夋寕浜岀骇鑿滃崟鎶ラ敊闂澶勭悊
+ ifNoSubMenusToRemove(menuItems,removeMenuItems);
+
+ removeMap(menuItems,removeMenuItems);
+
+
+
+ model.addAttribute("menus",menuItems);
+ }
+
+
+ private Map getMenuItemFromList(List<Map> menuItems,String parentId){
+ for(Map menuItem : menuItems){
+ 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);
+ }
+ }
+
+ private void ifNoSubMenusToRemove(List<Map> menuItems,List<Map> removeMenuItems){
+ for(Map menu :menuItems){
+ if(!menu.containsKey("subMenus")){
+ removeMenuItems.add(menu);
+ }
+ }
+ }
+
+ /**
+ * 灏佽鏁版嵁
+ * @param reqJson
+ * @param headers
+ * @return
+ * @throws Exception
+ */
+ protected BusinessServiceDataFlow writeDataToDataFlowContext(String reqJson, Map<String,String> headers) throws Exception {
+ BusinessServiceDataFlow businessServiceDataFlow = DataFlowFactory.newInstance(BusinessServiceDataFlow.class).builder(reqJson,headers);
+ return businessServiceDataFlow;
+ }
+
+
}
--
Gitblit v1.8.0