feat(可回溯): 多租户
增加从配置取租户ID逻辑
This commit is contained in:
@@ -0,0 +1,111 @@
|
||||
package com.wabestway.recall.util;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.wabestway.auth.api.user.ReqOrgInfo;
|
||||
import com.wabestway.auth.api.user.ReqTenantInfo;
|
||||
import com.wabestway.auth.api.user.ReqUser;
|
||||
import com.wabestway.auth.api.user.TokenObj;
|
||||
import com.wabestway.commons.exception.AlertException;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.web.context.request.RequestContextHolder;
|
||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.net.URLDecoder;
|
||||
|
||||
public class HeaderDataUtil {
|
||||
private static Logger logger = LoggerFactory.getLogger(HeaderDataUtil.class);
|
||||
|
||||
public HeaderDataUtil() {
|
||||
}
|
||||
|
||||
public static ReqUser getUserData() {
|
||||
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes())
|
||||
.getRequest();
|
||||
ReqUser reqUser = null;
|
||||
try {
|
||||
String header = request.getHeader(TokenObj._USER);
|
||||
if (header != null) {
|
||||
String str = URLDecoder.decode(header, "UTF-8");
|
||||
logger.info("用户信息:{}", str);
|
||||
reqUser = new Gson().fromJson(str, ReqUser.class);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("用户信息转化异常", e);
|
||||
throw new AlertException("未获取到header用户信息!");
|
||||
}
|
||||
|
||||
return reqUser;
|
||||
}
|
||||
|
||||
public static ReqOrgInfo getOrgInfoData() {
|
||||
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes())
|
||||
.getRequest();
|
||||
ReqOrgInfo orgInfo = null;
|
||||
try {
|
||||
String header = request.getHeader(TokenObj._ORG);
|
||||
if (header != null) {
|
||||
String str = URLDecoder.decode(header, "UTF-8");
|
||||
logger.info("机构信息:{}", str);
|
||||
orgInfo = new Gson().fromJson(str, ReqOrgInfo.class);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("机构信息转化异常", e);
|
||||
throw new AlertException("未获取到header机构信息!");
|
||||
}
|
||||
|
||||
return orgInfo;
|
||||
}
|
||||
|
||||
public static ReqTenantInfo getTenantData() {
|
||||
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes())
|
||||
.getRequest();
|
||||
ReqTenantInfo tenant = null;
|
||||
try {
|
||||
String header = request.getHeader(TokenObj._TENANT);
|
||||
if (header != null) {
|
||||
String str = URLDecoder.decode(header, "UTF-8");
|
||||
logger.info("机构信息:{}", str);
|
||||
tenant = new Gson().fromJson(str, ReqTenantInfo.class);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("租户信息转化异常", e);
|
||||
}
|
||||
|
||||
return tenant;
|
||||
}
|
||||
|
||||
public static String getUserId() {
|
||||
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes())
|
||||
.getRequest();
|
||||
String userId = null;
|
||||
try {
|
||||
String header = request.getHeader(TokenObj._USERID);
|
||||
if (header != null) {
|
||||
userId = URLDecoder.decode(header, "UTF-8");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("用户ID信息转化异常", e);
|
||||
}
|
||||
|
||||
return userId;
|
||||
}
|
||||
|
||||
public static String getTenantId() {
|
||||
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes())
|
||||
.getRequest();
|
||||
String tenantId = null;
|
||||
|
||||
try {
|
||||
String header = request.getHeader(TokenObj._TENANTID);
|
||||
if (header != null) {
|
||||
tenantId = URLDecoder.decode(header, "UTF-8");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("租户id信息转化异常", e);
|
||||
}
|
||||
|
||||
return tenantId;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user