From 58032b964fa5dee3924847943548093af6dcb098 Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Thu, 28 Oct 2021 10:32:24 +0800
Subject: [PATCH] Merge branch 'score_shop' into api_score_meger

---
 zq-erp/src/main/java/com/matrix/system/common/interceptor/HostInterceptor.java |   83 ++++++++++++++++++++---------------------
 1 files changed, 40 insertions(+), 43 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/common/interceptor/HostInterceptor.java b/zq-erp/src/main/java/com/matrix/system/common/interceptor/HostInterceptor.java
index 7c441ef..7effc67 100644
--- a/zq-erp/src/main/java/com/matrix/system/common/interceptor/HostInterceptor.java
+++ b/zq-erp/src/main/java/com/matrix/system/common/interceptor/HostInterceptor.java
@@ -1,8 +1,11 @@
 package com.matrix.system.common.interceptor;
 
 import com.matrix.core.tools.LogUtil;
+import com.matrix.core.tools.StringUtils;
 import com.matrix.core.tools.WebUtil;
 import com.matrix.system.common.bean.SysCompany;
+import com.matrix.system.common.init.InitWebContainer;
+import com.matrix.system.common.init.LocalCache;
 import org.springframework.stereotype.Component;
 import org.springframework.web.servlet.ModelAndView;
 import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
@@ -15,6 +18,7 @@
 
 /**
  * 域名与公司对应绑定拦截
+ *
  * @author JIANGYOUYAO
  * @email 935090232@qq.com
  * @date 2017年11月29日
@@ -23,55 +27,48 @@
 public class HostInterceptor extends HandlerInterceptorAdapter {
 
 
-	public static final String ATTR_COMPANY = "company";
+    public static final String ATTR_COMPANY = "company";
 
-	@Override
-	public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
-			throws Exception {
-	}
+    @Override
+    public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
+            throws Exception {
+    }
 
-	/**
-	 * 通用拦截器
-	 */
-	@Override
-	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object obj) throws Exception {
-		SysCompany company= WebUtil.getSessionAttribute(ATTR_COMPANY);
+    /**
+     * 通用拦截器
+     */
+    @Override
+    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object obj) throws Exception {
 
-		if (company != null) {
-			LogUtil.debug("匹配到公司{}", company.getComName());
-			return true;
-		} else {
-		// 获得请求的域名--由小程序直接传过来companyCode参数对应公司的网址
-		String host = request.getHeader("companyCode");
-		LogUtil.debug("当前请求域名{}", host);
-			@SuppressWarnings("unchecked")
-			Map<String, SysCompany> companyMap = (Map<String, SysCompany>) WebUtil.getServletContext()
-					.getAttribute("companyMap");
-			if(Objects.nonNull(companyMap)){
-				Set<String> hostSet = companyMap.keySet();
-				for (String key : hostSet) {
-					LogUtil.debug("-- 匹配公司key={},host={} 匹配结果={}", key , host, key.contains(host));
-					if (key.contains(host)) {
-						// 查到公司后存到sesssion中
-						WebUtil.setSessionAttribute(ATTR_COMPANY, companyMap.get(key));
-						return true;
-					}
-				}
-			}
-		}
-		LogUtil.debug("没有匹配到对应的公司");
-		return false;
-	}
+        // 获得请求的域名--由小程序直接传过来companyCode参数对应公司的网址
+        String host = request.getHeader("companyCode");
+        LogUtil.debug("当前请求域名{}", host);
+        if (StringUtils.isBlank(host)) {
+            return false;
+        }
+
+        Map<String, SysCompany> companyMap = LocalCache.get("companyMap");
+        SysCompany company=companyMap.get(host);
+        if(Objects.nonNull(company)){
+            // 查到公司后存到sesssion中
+            LogUtil.debug("匹配到公司{}", company.getComName());
+            WebUtil.setSessionAttribute(ATTR_COMPANY, company);
+            return true;
+        }
+        LogUtil.debug("没有匹配到对应的公司");
+        return false;
 
 
+    }
 
 
-	/**
-	 * 获取当前域名对于的公司ID
-	 * @return
-	 */
-	public static Long getCompanyId() {
-		return ((SysCompany) WebUtil.getSessionAttribute(ATTR_COMPANY)).getComId();
-	}
+    /**
+     * 获取当前域名对于的公司ID
+     *
+     * @return
+     */
+    public static Long getCompanyId() {
+        return ((SysCompany) WebUtil.getSessionAttribute(ATTR_COMPANY)).getComId();
+    }
 
 }

--
Gitblit v1.9.1