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