define TerminalInfo

This commit is contained in:
Gao Wei 2022-06-10 17:16:41 +08:00
parent 271b3a177d
commit 08997d87d0
5 changed files with 115 additions and 67 deletions

View File

@ -5,6 +5,7 @@ public class AuthConstants {
public static final String ENV_DEV="dev"; public static final String ENV_DEV="dev";
public static final String HEADER_AUTH = "authorization"; public static final String HEADER_AUTH = "authorization";
public static final String HEADER_TENANT_ID = "tenantId"; public static final String HEADER_TENANT_ID = "tenantId";
public static final String HEADER_SAAS_TENANT_ID = "SAAS_TENANT_ID"; public static final String HEADER_SAAS_TENANT_ID = "SAAS_TENANT_ID";
@ -22,6 +23,9 @@ public class AuthConstants {
public static final String USER_INFO = "userinfo"; public static final String USER_INFO = "userinfo";
//这个Header用于 apisix向pudge /apisix/authorization 做校验请求
public static final String HEADER_REQUEST_CODE = "requestCode";
public static final String VISIT_TO = "visitTo"; public static final String VISIT_TO = "visitTo";
} }

View File

@ -33,8 +33,12 @@ public class ContextInfo {
private Long ouId; private Long ouId;
/** /**
* 租户id * 如果是企业视角传EntId
* 如果是项目视角传ProjectId
*
* @deprecated 只在630近期使用以后的版本这个可以废弃了
*/ */
@Deprecated
private Long tenantId; private Long tenantId;
/** /**

View File

@ -7,7 +7,7 @@ public class LegacyGuessMissedReq {
public static final String HEADER_LEGACY_GUESS = "legacyGuess"; public static final String HEADER_LEGACY_GUESS = "legacyGuess";
private String requestParamProjectId; private Long requestParamProjectId;
private String originalUrl; private String originalUrl;

View File

@ -5,6 +5,12 @@ import java.util.Map;
public class TerminalInfo { public class TerminalInfo {
/**
* 之前的CEMSPMS合成一个叫CMS了
* 现在没有PMS了
*
* 有个地方做了转换
*/
@Deprecated @Deprecated
public static final String STR_TERMINAL_PMS = "PMS"; public static final String STR_TERMINAL_PMS = "PMS";
@Deprecated @Deprecated
@ -15,13 +21,18 @@ public class TerminalInfo {
@Deprecated @Deprecated
public static final String NUM_TERMINAL_CEMS = "2"; public static final String NUM_TERMINAL_CEMS = "2";
/**
* CMS
*
* 可以通过tenantId区分 项目视角企业视角
*/
@Deprecated @Deprecated
public static final String STR_TERMINAL_CMS = "cms"; public static final String STR_TERMINAL_CMS = "cms";
@Deprecated @Deprecated
public static final String NUM_TERMINAL_CMS = "3"; public static final String NUM_TERMINAL_CMS = "3";
/** /**
* 从业人员 * 从业人员App企业版App
*/ */
@Deprecated @Deprecated
public static final String STR_TERMINAL_CMP = "cmp"; public static final String STR_TERMINAL_CMP = "cmp";
@ -29,7 +40,7 @@ public class TerminalInfo {
public static final String NUM_TERMINAL_CMP = "4"; public static final String NUM_TERMINAL_CMP = "4";
/** /**
* 产业工人 * 产业工人App安心筑App原生App不区分班组长还是工人的功能
*/ */
@Deprecated @Deprecated
public static final String STR_TERMINAL_CM = "cm"; public static final String STR_TERMINAL_CM = "cm";
@ -37,81 +48,113 @@ public class TerminalInfo {
public static final String NUM_TERMINAL_CM = "5"; public static final String NUM_TERMINAL_CM = "5";
/** /**
* 平台身份 * 产业工人App安心筑App小程序或H5班组老板的端
*/
@Deprecated
public final static String STR_TERMINAL_CM_LEADER = "cm_leader";
/**
* 产业工人App安心筑App小程序或H5工人的端
*/
@Deprecated
public final static String STR_TERMINAL_CM_WORKER = "cm_worker";
/**
* 平台身份OMS
*/ */
@Deprecated @Deprecated
public static final String STR_TERMINAL_PLAT = "plat"; public static final String STR_TERMINAL_PLAT = "plat";
/** /**
* 企业 * 企业很可能没有用
*/ */
@Deprecated @Deprecated
public static final String STR_TERMINAL_ENT = "ent"; public static final String STR_TERMINAL_ENT = "ent";
/** /**
* 项目 * 项目很可能没有用
*/ */
@Deprecated @Deprecated
public static final String STR_TERMINAL_PROJ = "proj"; public static final String STR_TERMINAL_PROJ = "proj";
@Deprecated
public final static String STR_TERMINAL_CM_LEADER = "cm_leader";
@Deprecated
public final static String STR_TERMINAL_CM_WORKER = "cm_worker";
@Deprecated @Deprecated
public static final String STR_TERMINAL_SCREEN = "screen"; public static final String STR_TERMINAL_SCREEN = "screen";
@Deprecated private static Map<String, String> aliasMap = new HashMap<String, String>();
public static final String STR_TERMINAL_BOSS = "boss";
@Deprecated
public static final String STR_REGULATORY_AGENCY = "regulatory_agency";
@Deprecated
public static final String STR_REGULATORY_AGENCY_SCREEN = "regulatory_agency_screen";
@Deprecated
public static final String STR_TERMINAL_RECRUIT_H5 = "recruit_h5";
@Deprecated /**
public static final String STR_TERMINAL_H5 = "h5"; * 企业工作台Web-总包
*/
public static final String NT_CMS_WEB_ENT_ZB = "NT_CMS_WEB_ENT_ZB";
static {
aliasMap.put(NT_CMS_WEB_ENT_ZB, NT_CMS_WEB_ENT_ZB);
aliasMap.put(STR_TERMINAL_ENT, NT_CMS_WEB_ENT_ZB);
}
/**
* 项目部工作台Web
*/
public static final String NT_CMS_WEB_PROJ = "NT_CMS_WEB_PROJ";
static {
aliasMap.put(NT_CMS_WEB_PROJ, NT_CMS_WEB_PROJ);
aliasMap.put(STR_TERMINAL_PROJ, NT_CMS_WEB_PROJ);
aliasMap.put(STR_TERMINAL_CMS, NT_CMS_WEB_PROJ);
//实际上不应该是直接对应于PROJ默认先对应一个需要再guess一下
}
/**
* 企业版App-企业工作台-总包
*/
public static final String NT_CMP_APP_ENT_ZB = "NT_CMP_APP_ENT_ZB";
static {
aliasMap.put(NT_CMP_APP_ENT_ZB, NT_CMP_APP_ENT_ZB);
}
/**
* 企业版App-项目部工作台
*/
public static final String NT_CMP_APP_PROJ = "NT_CMP_APP_PROJ";
static {
aliasMap.put(NT_CMP_APP_PROJ, NT_CMP_APP_PROJ);
aliasMap.put(STR_TERMINAL_CMP, NT_CMP_APP_PROJ);
aliasMap.put(NUM_TERMINAL_CMP, NT_CMP_APP_PROJ);
}
/**
* crafts man leader
* 安心筑App-班组老板
*/
public static final String NT_CM_APP_CM_LEADER = "NT_CM_APP_CM_LEADER";
static {
aliasMap.put(NT_CM_APP_CM_LEADER, NT_CM_APP_CM_LEADER);
aliasMap.put(STR_TERMINAL_CM_LEADER, NT_CM_APP_CM_LEADER);
}
/**
* 安心筑App-工人
*/
public static final String NT_CM_APP_CM_WORKER = "NT_CM_APP_WORKER";
static {
aliasMap.put(NT_CM_APP_CM_WORKER, NT_CM_APP_CM_WORKER);
aliasMap.put(STR_TERMINAL_CM_WORKER, NT_CM_APP_CM_LEADER);
}
/** /**
* OMS运营管理后台 * OMS运营管理后台
*/ */
public static final String NT_OMS = "NT_OMS"; public static final String NT_OMS_WEB = "NT_OMS_WEB";
/**
* 企业版Web-总包
* TODO: 这里可以和大家探讨一下是否要区分总包分包我觉得有必要区分 @gaowei
*/
public static final String NT_CMS_ENT_ZB = "NT_CMS_ENT_ZB";
/**
* 项目部管理台Web
*/
public static final String NT_CMS_PROJ = "NT_CMS_PROJ";
private static Map<String, String> aliasMap = new HashMap<String, String>();
static { static {
aliasMap.put(NT_OMS, NT_OMS); aliasMap.put(NT_OMS_WEB, NT_OMS_WEB);
aliasMap.put(STR_TERMINAL_PLAT, NT_OMS_WEB);
}
aliasMap.put(NT_CMS_ENT_ZB, NT_CMS_ENT_ZB); /**
aliasMap.put(STR_TERMINAL_ENT, NT_CMS_ENT_ZB); * Screen数据大屏
*/
aliasMap.put(NT_CMS_PROJ, NT_CMS_PROJ); public static final String NT_SCREEN = "NT_SCREEN";
aliasMap.put(STR_TERMINAL_PROJ, NT_CMS_PROJ); static {
// TODO: 确认cms是否对应NT_CMS_PROJ aliasMap.put(NT_SCREEN, NT_SCREEN);
aliasMap.put(STR_TERMINAL_CMS, NT_CMS_PROJ); aliasMap.put(STR_TERMINAL_SCREEN, NT_SCREEN);
aliasMap.put(NUM_TERMINAL_CMS, NT_CMS_PROJ);
//TODO: 补齐所有的NT标签定义以及历史mapping关系@gaowei
//对于历史关系mapping起来比较麻烦的我设计了两个参数的构造函数可以直接定义NT
} }
private String rawTerminalString; private String rawTerminalString;
@ -148,16 +191,15 @@ public class TerminalInfo {
} }
public boolean isOMS() { public boolean isOMS() {
return NT_OMS.equals(newTerminalString); return NT_OMS_WEB.equals(newTerminalString);
} }
public boolean isCMS_ENT_ZB() { public boolean isCMS_WEB_ENT_ZB() {
return NT_CMS_ENT_ZB.equals(newTerminalString); return NT_CMS_WEB_ENT_ZB.equals(newTerminalString);
} }
public boolean isCMS_PROJ() { public boolean isCMS_WEB_PROJ() {
return NT_CMS_PROJ.equals(newTerminalString); return NT_CMS_WEB_PROJ.equals(newTerminalString);
} }
} }

View File

@ -129,9 +129,9 @@ public class ContextInfoBuilderAspect {
try { try {
HttpRequest request = HttpRequest.get(url).header(AuthConstants.HEADER_AUTH, contextInfo.getToken()) HttpRequest request = HttpRequest.get(url).header(AuthConstants.HEADER_AUTH, contextInfo.getToken())
.header(AuthConstants.HEADER_TERMINAL, contextInfo.getTerminalInfo().getRawTerminalString()) // .header(AuthConstants.HEADER_TERMINAL, contextInfo.getTerminalInfo().getRawTerminalString())
.header(AuthConstants.HEADER_REQUEST_CODE, "") //本地调试传个空
.header(AuthConstants.HEADER_SAAS_TENANT_ID, contextInfo.getSaasTenantId().toString()); .header(AuthConstants.HEADER_SAAS_TENANT_ID, contextInfo.getSaasTenantId().toString());
// requestCode
//期待未来前端补齐header之后删掉这一行以及相关代码 //期待未来前端补齐header之后删掉这一行以及相关代码
request = request.header(LegacyGuessMissedReq.HEADER_LEGACY_GUESS, buildLegacyGuessMissedReqString(contextInfo, originalRequest)); request = request.header(LegacyGuessMissedReq.HEADER_LEGACY_GUESS, buildLegacyGuessMissedReqString(contextInfo, originalRequest));
@ -166,9 +166,7 @@ public class ContextInfoBuilderAspect {
req.setHeaderSaasTenantId(contextInfo.getSaasTenantId()); req.setHeaderSaasTenantId(contextInfo.getSaasTenantId());
req.setHeaderTenantId(contextInfo.getTenantId()); req.setHeaderTenantId(contextInfo.getTenantId());
req.setHeaderWorkspaceId(contextInfo.getWorkspaceId()); req.setHeaderWorkspaceId(contextInfo.getWorkspaceId());
req.setRequestParamProjectId(originalRequest.getParameter("projectId")); req.setRequestParamProjectId(StrUtil.nullSafeParseLong(originalRequest.getParameter("projectId")));
if(req.getRequestParamProjectId() == null)
req.setRequestParamProjectId("");
return JSONUtil.toJsonStr(req); return JSONUtil.toJsonStr(req);
} }