261 lines
11 KiB
Java
261 lines
11 KiB
Java
package com.base.constant;
|
||
|
||
import java.io.FileInputStream;
|
||
import java.net.URL;
|
||
import java.util.HashMap;
|
||
import java.util.Iterator;
|
||
import java.util.Map;
|
||
import java.util.Properties;
|
||
|
||
import com.amarsoft.are.ARE;
|
||
import com.amarsoft.awe.Configure;
|
||
|
||
public class RestfullConstant {
|
||
|
||
/**
|
||
* KEY OF SESSION ================== parameter ============================
|
||
* PROPERTY_KEY_USER_ID. 用户ID PROPERTY_KEY_TOKEN. 访问令牌 PROPERTY_KEY_DEV_ID.
|
||
* 手机设备ID PROPERTY_KEY_DEV_OS. 手机设备类型 EY_EXPIRE. 到期时间 PROPERTY_KEY_WEB_API.
|
||
* 接口服务是否开启 . PROPERTY_KEY_REQ_URI. 请求访问路径.
|
||
*/
|
||
public static final String PROPERTY_KEY_USER_ID = "base.session.check.user.id";
|
||
public static final String PROPERTY_KEY_TOKEN = "base.session.check.token";
|
||
public static final String PROPERTY_KEY_DEV_ID = "base.session.check.dev.id";
|
||
public static final String PROPERTY_KEY_DEV_OS = "base.session.check.dev.os";
|
||
public static final String PROPERTY_KEY_EXPIRE = "base.session.check.expire";
|
||
|
||
public static final String PROPERTY_KEY_WEB_API = "base.session.web.api.page";
|
||
public static final String PROPERTY_KEY_REQ_URI = "base.session.req.uri";
|
||
|
||
/**
|
||
* KEY OF BASE ================== parameter ============================
|
||
* PROPERTY_KEY_TOKEN_HOLD_TIME. 令牌有效期 5分钟 PROPERTY_KEY_ENDCODING. 编码
|
||
* encoding PROPERTY_KEY_NO_FILETER. 免过滤请求路径 PROPERTY_KEY_DATA_ENCODING.
|
||
* 编码格式 GBK PROPERTY_KEY_FORCE_ENCODING. 返回编码设置 TRUE GBK FALSE 不设置
|
||
* PROPERTY_KEY_DATA_SOURCE. 数据来源 als PROPERTY_KEY_SERVICE_RETURN_TYPE_VOID.
|
||
* 接口返回类型 void. PROPERTY_KEY_SERVICE_RETURN_TYPE_APPATT. 接口返回类型 APP附件.
|
||
*
|
||
* PROPERTY_KEY_CODE_500. 异常返回 CODE PROPERTY_KEY_MSG_500. 异常返回信息
|
||
* PROPERTY_KEY_CODE_404. 接口不存在CODE PROPERTY_KEY_CODE_406. 令牌失效 CODE
|
||
* PROPERTY_KEY_MSG_406. 令牌失效信息 PROPERTY_KEY_RESULT_SUCCESS_CODE. 返回成功 CODE
|
||
* PROPERTY_KEY_RESULT_FAIL_CODE. 返回失败CODE
|
||
*
|
||
* 推送功能 配置 (小米jar) PROPERTY_KEY_PUSH_ENABLE. 推送是否开启
|
||
* PROPERTY_KEY_PUSH_SECRET_IOS. IOS推送秘钥 PROPERTY_KEY_PUSH_SECRET_ANDROID.
|
||
* 安卓推送秘钥 PROPERTY_KEY_PAGE_NAME. 包名 FAIL_SAVE. 保存失败 FAIL_EDIT. 编辑失败
|
||
* FAIL_DELETE. 删除失败 FAIL_INIT_DISPLAY. 加载页面失败 SUCCESS_SAVE.保存成功
|
||
* SUCCESS_EDIT.编辑成功 SUCCESS_DELETE. 删除成功 SUCCESS_INIT_DISPLAY.加载页面成功
|
||
* DES_SECRET_KEY_ONE. 加密参数1 DES_SECRET_KEY_TWO. 加密参数2 DES_SECRET_KEY_THREE.
|
||
* 加密参数3
|
||
*/
|
||
public static final String PROPERTY_KEY_TOKEN_HOLD_TIME = "base.param.key.hold.time";
|
||
public static final String PROPERTY_KEY_ENCODING = "base.param.key.encoding";
|
||
public static final String PROPERTY_KEY_NO_FILETER = "base.param.key.no.check.uri";
|
||
public final static String PROPERTY_KEY_DATA_ENCODING = "base.data.encoding";
|
||
public final static String PROPERTY_KEY_FORCE_ENCODING = "base.data.fource.encoding";
|
||
public final static String PROPERTY_KEY_DATA_SOURCE = "base.data.source";
|
||
public final static String PROPERTY_KEY_SERVICE_RETURN_TYPE_VOID = "base.return.type.void";
|
||
public final static String PROPERTY_KEY_SERVICE_RETURN_TYPE_APPATT = "base.return.type.app.att";
|
||
|
||
public final static String PROPERTY_KEY_CODE_500 = "base.return.code.500";
|
||
public final static String PROPERTY_KEY_MSG_500 = "base.return.msg.500";
|
||
public final static String PROPERTY_KEY_CODE_404 = "base.return.code.404";
|
||
public final static String PROPERTY_KEY_CODE_406 = "base.return.code.406";
|
||
public final static String PROPERTY_KEY_MSG_406 = "base.return.msg.406";
|
||
public final static String PROPERTY_KEY_RESULT_SUCCESS_CODE = "base.return.result.success.code";
|
||
public final static String PROPERTY_KEY_RESULT_FAIL_CODE = "base.return.result.fail.code";
|
||
|
||
public final static String BUSINESS_TYPE = "base.business.type";
|
||
|
||
public final static String PROPERTY_KEY_PUSH_ENABLE = "push.message.switch";
|
||
public final static String PROPERTY_KEY_PUSH_SECRET_IOS = "push.message.secret.key.ios";
|
||
public final static String PROPERTY_KEY_PUSH_SECRET_ANDROID = "push.message.secret.key.android";
|
||
public final static String PROPERTY_KEY_PACKAGE_NAME = "push.message.package.name";
|
||
|
||
public static final String FAIL_SAVE = "base.return.msg.save.fail";
|
||
public static final String FAIL_EDIT = "base.return.msg.edit.fail";
|
||
public static final String FAIL_DELETE = "base.return.msg.del.fail";
|
||
public static final String FAIL_INIT_DISPLAY = "base.return.msg.init.display.fail";
|
||
public static final String SUCCESS_SAVE = "base.return.msg.save.success";
|
||
public static final String SUCCESS_EDIT = "base.return.msg.edit.success";
|
||
public static final String SUCCESS_DELETE = "base.return.msg.del.success";
|
||
public static final String SUCCESS_INIT_DISPLAY = "base.return.msg.init.display.success";
|
||
|
||
public static final String DES_SECRET_KEY_ONE = "base.pwd.encryption.des.one";
|
||
public static final String DES_SECRET_KEY_TWO = "base.pwd.encryption.des.two";
|
||
public static final String DES_SECRET_KEY_THREE = "base.pwd.encryption.des.three";
|
||
|
||
public static final String CUSTOMER_TYPE_COMPANY = "base.customer.type.company";
|
||
public static final String CUSTOMER_TYPE_PERSON = "base.customer.type.person";
|
||
|
||
public static final String FILTER_USER_ROLE_ID = "base.filter.user.role.id";
|
||
|
||
public static final String COMPANY_DOC_NAME = "base.company.doc.name";
|
||
public static final String PERSON_DOC_NAME = "base.person.doc.name";
|
||
public static final String CALCULATION_TOOL_FLOW_UNID = "base.calculation.tool.flow.unid";
|
||
|
||
/**
|
||
* APP SESSION 配置
|
||
*/
|
||
public static Map<String, Object> sessionProperty;
|
||
|
||
/**
|
||
* APP 基本配置
|
||
*/
|
||
public static Map<String, Object> baseProperty;
|
||
|
||
private static void setMap(Map<String, Object> objMap, String sKey,
|
||
String sValue) {
|
||
ARE.getLog().debug("Map >> key :" + sKey + ", value :" + sValue);
|
||
objMap.put(sKey.toLowerCase(), sValue);
|
||
objMap.put(sKey.toUpperCase(), sValue);
|
||
}
|
||
|
||
private static void loadBaseKey(Properties pro) {
|
||
baseProperty = new HashMap<String, Object>();
|
||
|
||
// base : 令牌有效期
|
||
setMap(baseProperty, "TOKENHOLDTIME",
|
||
pro.getProperty(PROPERTY_KEY_TOKEN_HOLD_TIME));
|
||
|
||
// base : 编码
|
||
setMap(baseProperty, "ENCODING", pro.getProperty(PROPERTY_KEY_ENCODING));
|
||
|
||
// base : 免过滤地址
|
||
setMap(baseProperty, "NOFILETER",
|
||
pro.getProperty(PROPERTY_KEY_NO_FILETER));
|
||
|
||
// base : GBK
|
||
setMap(baseProperty, "DATAENCODING",
|
||
pro.getProperty(PROPERTY_KEY_DATA_ENCODING));
|
||
|
||
// base : response return value encoding enable true
|
||
// [setcharencoding=GBK] false [setcharencoding=default]
|
||
setMap(baseProperty, "FORCEENCODING",
|
||
pro.getProperty(PROPERTY_KEY_FORCE_ENCODING));
|
||
|
||
// base : transaction & JBOTransaction source = [als]
|
||
setMap(baseProperty, "DATASOURCE",
|
||
pro.getProperty(PROPERTY_KEY_DATA_SOURCE));
|
||
|
||
// base : response return type
|
||
setMap(baseProperty, "VOID",
|
||
pro.getProperty(PROPERTY_KEY_SERVICE_RETURN_TYPE_VOID));
|
||
setMap(baseProperty, "APPATT",
|
||
pro.getProperty(PROPERTY_KEY_SERVICE_RETURN_TYPE_APPATT));
|
||
|
||
// base : code & massage
|
||
setMap(baseProperty, "CODE500", pro.getProperty(PROPERTY_KEY_CODE_500));
|
||
setMap(baseProperty, "MSG500", pro.getProperty(PROPERTY_KEY_MSG_500));
|
||
setMap(baseProperty, "CODE404", pro.getProperty(PROPERTY_KEY_CODE_404));
|
||
setMap(baseProperty, "CODE406", pro.getProperty(PROPERTY_KEY_CODE_406));
|
||
setMap(baseProperty, "MSG406", pro.getProperty(PROPERTY_KEY_MSG_406));
|
||
|
||
setMap(baseProperty, "FAIL_SAVE", pro.getProperty(FAIL_SAVE));
|
||
setMap(baseProperty, "FAIL_EDIT", pro.getProperty(FAIL_EDIT));
|
||
setMap(baseProperty, "FAIL_DELETE", pro.getProperty(FAIL_DELETE));
|
||
setMap(baseProperty, "FAIL_INIT_DISPLAY",
|
||
pro.getProperty(FAIL_INIT_DISPLAY));
|
||
setMap(baseProperty, "SUCCESS_SAVE", pro.getProperty(SUCCESS_SAVE));
|
||
setMap(baseProperty, "SUCCESS_EDIT", pro.getProperty(SUCCESS_EDIT));
|
||
setMap(baseProperty, "SUCCESS_DELETE", pro.getProperty(SUCCESS_DELETE));
|
||
setMap(baseProperty, "SUCCESS_INIT_DISPLAY",
|
||
pro.getProperty(SUCCESS_INIT_DISPLAY));
|
||
|
||
setMap(baseProperty, "FILTER_USER_ROLE_ID",
|
||
pro.getProperty(FILTER_USER_ROLE_ID));
|
||
// base : result code
|
||
setMap(baseProperty, "SUCCESS",
|
||
pro.getProperty(PROPERTY_KEY_RESULT_SUCCESS_CODE));
|
||
setMap(baseProperty, "FAIL",
|
||
pro.getProperty(PROPERTY_KEY_RESULT_FAIL_CODE));
|
||
|
||
// base : application push massage config
|
||
setMap(baseProperty, "PUSHENABLE",
|
||
pro.getProperty(PROPERTY_KEY_PUSH_ENABLE));
|
||
setMap(baseProperty, "SECRETIOS",
|
||
pro.getProperty(PROPERTY_KEY_PUSH_SECRET_IOS));
|
||
setMap(baseProperty, "SECRETANDROID",
|
||
pro.getProperty(PROPERTY_KEY_PUSH_SECRET_ANDROID));
|
||
setMap(baseProperty, "PACKAGENAME",
|
||
pro.getProperty(PROPERTY_KEY_PACKAGE_NAME));
|
||
// DES
|
||
setMap(baseProperty, "DES_SECRET_KEY_ONE",
|
||
pro.getProperty(DES_SECRET_KEY_ONE));
|
||
setMap(baseProperty, "DES_SECRET_KEY_TWO",
|
||
pro.getProperty(DES_SECRET_KEY_TWO));
|
||
setMap(baseProperty, "DES_SECRET_KEY_THREE",
|
||
pro.getProperty(DES_SECRET_KEY_THREE));
|
||
|
||
// CUSTOMER TYPE 01
|
||
setMap(baseProperty, "CUSTOMER_TYPE_COMPANY",
|
||
pro.getProperty(CUSTOMER_TYPE_COMPANY));
|
||
// CUSTOMER TYPE 03
|
||
setMap(baseProperty, "CUSTOMER_TYPE_PERSON",
|
||
pro.getProperty(CUSTOMER_TYPE_PERSON));
|
||
// BUSINESS_TYPE
|
||
setMap(baseProperty, "BUSINESS_TYPE", pro.getProperty(BUSINESS_TYPE));
|
||
// COMPANY_DOC_NAME AND PERSON_DOC_NAME
|
||
setMap(baseProperty, "COMPANY_DOC_NAME",
|
||
pro.getProperty(COMPANY_DOC_NAME));
|
||
setMap(baseProperty, "PERSON_DOC_NAME",
|
||
pro.getProperty(PERSON_DOC_NAME));
|
||
setMap(baseProperty, "CALCULATION_TOOL_FLOW_UNID",
|
||
pro.getProperty(CALCULATION_TOOL_FLOW_UNID));
|
||
}
|
||
|
||
private static void loadSessionKey(Properties pro) {
|
||
sessionProperty = new HashMap<String, Object>();
|
||
setMap(sessionProperty, "USERID", pro.getProperty(PROPERTY_KEY_USER_ID));
|
||
setMap(sessionProperty, "TOKEN", pro.getProperty(PROPERTY_KEY_TOKEN));
|
||
setMap(sessionProperty, "DEVID", pro.getProperty(PROPERTY_KEY_DEV_ID));
|
||
setMap(sessionProperty, "DEVOS", pro.getProperty(PROPERTY_KEY_DEV_OS));
|
||
setMap(sessionProperty, "EXPIRE", pro.getProperty(PROPERTY_KEY_EXPIRE));
|
||
setMap(sessionProperty, "WEBAPI", pro.getProperty(PROPERTY_KEY_WEB_API));
|
||
setMap(sessionProperty, "REQURI", pro.getProperty(PROPERTY_KEY_REQ_URI));
|
||
}
|
||
|
||
public static void initProperties() throws Exception {
|
||
ARE.getLog().debug("开启加载APP_CONFIG.PROPERTIES ");
|
||
@SuppressWarnings("deprecation")
|
||
Configure CurConfig = Configure.getInstance();
|
||
try {
|
||
// String path =
|
||
// request.getSession().getServletContext().getRealPath("/");
|
||
// String proRootPath = directory.getCanonicalPath();
|
||
URL url = RestfullConstant.class.getResource("/");
|
||
String sClassPath = url.getPath();
|
||
String os = System.getProperty("os.name");
|
||
if (os.toLowerCase().startsWith("win")) {
|
||
sClassPath = sClassPath.startsWith("/") ? sClassPath.substring(
|
||
1, sClassPath.indexOf("/WEB-INF") + 8) : sClassPath;
|
||
} else {
|
||
sClassPath = sClassPath.startsWith("/") ? sClassPath.substring(
|
||
0, sClassPath.indexOf("/WEB-INF") + 8) : sClassPath;
|
||
}
|
||
|
||
String fileName = sClassPath
|
||
+ CurConfig.getConfigure("AppConfigPath");
|
||
// String fileName = CurConfig.getConfigure("AppConfigPath");
|
||
ARE.getLog().debug("文件全路径:" + fileName);
|
||
Properties pro = new Properties();
|
||
FileInputStream in = new FileInputStream(fileName);
|
||
pro.load(in);
|
||
Iterator<String> it = pro.stringPropertyNames().iterator();
|
||
|
||
while (it.hasNext()) {
|
||
String sKey = it.next();
|
||
ARE.getLog().debug(
|
||
"key:" + sKey + " property:" + pro.getProperty(sKey));
|
||
}
|
||
|
||
loadSessionKey(pro);
|
||
loadBaseKey(pro);
|
||
in.close();
|
||
} catch (Exception e) {
|
||
ARE.getLog().error(e);
|
||
throw new Exception("加载APP配置文件失败" + e);
|
||
}
|
||
}
|
||
}
|