Browse Source

fix bug

release_toaliyun_real
lin 3 years ago
parent
commit
89f221034e
2 changed files with 23 additions and 11 deletions
  1. +21
    -5
      mallinkBApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java
  2. +2
    -6
      mallinkCApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java

+ 21
- 5
mallinkBApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java View File

@@ -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)) {


+ 2
- 6
mallinkCApi/src/main/java/com/iformall/interceptor/AuthorizationInterceptor.java View File

@@ -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());


Loading…
Cancel
Save