diff --git a/mallinkBApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java b/mallinkBApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java index 3e33eb8b8..daa217e05 100644 --- a/mallinkBApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java +++ b/mallinkBApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java @@ -69,6 +69,12 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter { if(StringUtils.isBlank(token) && StringUtils.isBlank(bid)){ throw new MallinkException(ErrorCode.NET_TOKEN_EMPTY); } + + //集团版中针对某一商场的业务需要传递mallTenantId + String mallTenantId = request.getHeader("mallTenantId"); + if(StringUtils.isBlank(mallTenantId)){ + mallTenantId = request.getParameter("mallTenantId"); + } // 查询token信息 String tenantId = null; @@ -78,9 +84,13 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter { if (user == null || user.getExpireTime().getTime() < System.currentTimeMillis()) { throw new MallinkException(ErrorCode.NET_TOKEN_INVALID.getCode(), "URL:" + request.getRequestURL() + " token失效,请重新登录"); } - - tenantId = user.getTenantId(); - parenTenantId = user.getParentTenantId(); + if (StringUtils.isBlank(mallTenantId)) { + tenantId = user.getTenantId(); + parenTenantId = user.getParentTenantId(); + }else { + tenantId = mallTenantId; + parenTenantId = user.getTenantId(); + } request.setAttribute(Constant.LOGIN_USER_KEY, user.getId()); request.setAttribute(Constant.TENANT_ID, tenantId); request.setAttribute(Constant.REQUEST_C_USER_KEY, user); @@ -94,8 +104,14 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter { if (buser == null) { throw new MallinkException(ErrorCode.NET_TOKEN_INVALID.getCode(), "URL:" + request.getRequestURL() + " bid失效,请重新登录"); } - tenantId = buser.getTenantId(); - parenTenantId = buser.getParentTenantId(); + + if (StringUtils.isBlank(mallTenantId)) { + tenantId = buser.getTenantId(); + parenTenantId = buser.getParentTenantId(); + }else { + tenantId = mallTenantId; + parenTenantId = buser.getTenantId(); + } request.setAttribute(Constant.LOGIN_B_USER_KEY, buser.getId()); request.setAttribute(Constant.TENANT_ID, tenantId); if (StringUtils.isNotBlank(parenTenantId)) { diff --git a/mallinkCApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java b/mallinkCApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java index 59940ef64..3f206b2d9 100644 --- a/mallinkCApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java +++ b/mallinkCApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java @@ -77,11 +77,7 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter { if (StringUtils.isNotBlank(mallTenantId)) { request.setAttribute(Constant.TENANT_ID, mallTenantId); - if (StringUtils.isNotBlank(cUser.getParentTenantId())) { - request.setAttribute(Constant.PARENT_TENANT_ID, cUser.getParentTenantId()); - }else if(!mallTenantId.equals(cUser.getTenantId())){ - request.setAttribute(Constant.PARENT_TENANT_ID, cUser.getTenantId()); - } + request.setAttribute(Constant.PARENT_TENANT_ID, cUser.getTenantId()); }else { request.setAttribute(Constant.TENANT_ID, cUser.getTenantId()); if (StringUtils.isNotBlank(cUser.getParentTenantId())) { @@ -104,7 +100,7 @@ public class AuthorizationInterceptor extends HandlerInterceptorAdapter { if(tenantIgnoreAnnotation != null){ TenantThreadLocal.remove(); }else { - if (!StringUtils.isBlank(mallTenantId)) { + if (StringUtils.isBlank(mallTenantId)) { TenantThreadLocal.setCurrentThreadTenant(cUser.getTenantId(), cUser.getParentTenantId()); }else { TenantThreadLocal.setCurrentThreadTenant(mallTenantId, cUser.getTenantId());