browserLinkTransit.jsp 4.03 KB
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@page import="com.weaver.formmodel.util.NumberHelper" %>
<%@page import="com.weaver.formmodel.util.StringHelper"%>
<%@page import="com.weaver.formmodel.mobile.utils.BrowserUtil"%>
<%@ page import="com.weaver.formmodel.mobile.manager.MobileUserInit"%>
<%@ page import="com.api.formmode.cache.ModeComInfo" %>
<%@ page import="weaver.general.Util"%>
<%@ page import="weaver.hrm.User"%>
<%@ page import="java.util.Map" %>
<%@ page import="java.util.HashMap" %>
<%
//流程不走中转界面,通过browser.getMobileLinkHref的属性获取链接,目前仅供提醒和@评论使用
request.setCharacterEncoding("UTF-8");
User user = MobileUserInit.getUser(request, response);
if(user == null){
    out.println("服务器端重置了登录信息,请重新登录");
    return;
}

String billid = StringHelper.null2String(request.getParameter("billid"));
int modeid =  NumberHelper.string2Int(request.getParameter("modeId"),0);
String formid = StringHelper.null2String(request.getParameter("formId"));
String browserType = StringHelper.null2String(request.getParameter("browserType"));
String mTokenFrom = StringHelper.null2String(request.getParameter("mTokenFrom"));
String mToken = StringHelper.null2String(request.getParameter("mToken"));
String appHomepageId = StringHelper.null2String(request.getParameter("appHomepageId"));
String appid = StringHelper.null2String(request.getParameter("appid"));
String sessionkey = StringHelper.null2String(request.getParameter("sessionkey"));

//关联授权参数
String formmode_authorize = StringHelper.null2String(request.getParameter("formmode_authorize"));
String authorizemodeId = StringHelper.null2String(request.getParameter("authorizemodeId"));
String authorizefieldid = StringHelper.null2String(request.getParameter("authorizefieldid"));
String authorizeformmodebillId = StringHelper.null2String(request.getParameter("authorizeformmodebillId"));

//TODO 根据浏览标识初始化数据
if (!StringHelper.isEmpty(browserType)) {
	if (browserType.indexOf("browser.") == 0) {
		Map<String, Object> result = BrowserUtil.getBrowserDataModeIdBytable(browserType);
		modeid = Util.getIntValue(Util.null2String(result.get("modeid")));
		billid = BrowserUtil.getRealBillid(result, billid);
	} else {
		modeid = BrowserUtil.getTreeBrowserDataModeId(browserType, billid);
		if(billid.contains("_")){
			billid = billid.substring(billid.indexOf("_") + 1);
		}
	}
	ModeComInfo modeCache = new ModeComInfo();
	formid = modeCache.getFormId(String.valueOf(modeid));
}

//TODO 初始化e8地址参数
StringBuffer href2e8 = new StringBuffer("/mobilemode/formbasebrowserview.jsp?")
		.append("billid=").append(billid)
		.append("&modeId=").append(modeid)
		.append("&formId=").append(formid);
		if("formmode_authorize".equals(formmode_authorize)){
			href2e8.append("&formmode_authorize=").append(formmode_authorize)
					.append("&authorizemodeId=").append(authorizemodeId)
					.append("&authorizefieldid=").append(authorizefieldid)
					.append("&authorizeformmodebillId=").append(authorizeformmodebillId);
		}


if ("anonymous".equals(mTokenFrom) || "QRCode".equals(mTokenFrom)) {
	href2e8.append("&sessionkey=" + sessionkey);
}

Map<String, Object> paramsMap = new HashMap<String, Object>();
paramsMap.put("modelid", modeid);
paramsMap.put("billid", billid);
paramsMap.put("mTokenFrom", mTokenFrom);
paramsMap.put("mToken", mToken);
paramsMap.put("appHomepageId", appHomepageId);
paramsMap.put("appid", appid);
if("formmode_authorize".equals(formmode_authorize)){
	paramsMap.put("formmode_authorize", formmode_authorize);
	paramsMap.put("authorizemodeId", authorizemodeId);
	paramsMap.put("authorizefieldid", authorizefieldid);
	paramsMap.put("authorizeformmodebillId", authorizeformmodebillId);
}


//TODO 调用移动建模的接口
String href = BrowserUtil.getLinkUrlById(paramsMap, user);
if(StringHelper.isEmpty(href) || href.contains("/mobilemode/message.jsp")){//报错信息对于提醒、@回复评论不跳转报错信息
	response.sendRedirect(href2e8.toString());
}else{
	response.sendRedirect(href);
}




%>