|
@ -28,9 +28,15 @@ public class ParamVerifyBean {
|
|
|
private String appSecret = "esb-secret";
|
|
|
private String token;
|
|
|
|
|
|
public static void main(String[] args) throws Exception {
|
|
|
ParamVerifyBean paramSignUtil = new ParamVerifyBean();
|
|
|
paramSignUtil.setApi("collect");
|
|
|
paramSignUtil.addParam("patientId", "11111", true);
|
|
|
paramSignUtil.addParam("eventNo", "2222222", true);
|
|
|
paramSignUtil.genParam();
|
|
|
String s = paramSignUtil.signParam();
|
|
|
System.out.println(s);
|
|
|
|
|
|
public void setToken(String token) {
|
|
|
this.token = token;
|
|
|
}
|
|
|
|
|
|
public void setApi(String api) {
|
|
@ -41,45 +47,8 @@ public class ParamVerifyBean {
|
|
|
this.gatewayUrl = gatewayUrl;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* TODO 无用可删除
|
|
|
* 获取完整请求地址
|
|
|
* @return
|
|
|
*/
|
|
|
private String completeUrl() {
|
|
|
try {
|
|
|
addParam("api", api, true);
|
|
|
addParam("param", genParam(), false);
|
|
|
addParam("appKey", appKey, true);
|
|
|
addParam("token", token, false);
|
|
|
addParam("v", version, true);
|
|
|
addParam("timestamp", getTimestamp(), false);
|
|
|
addParam("sign", signParam(), true);
|
|
|
|
|
|
String completeUrl = gatewayUrl + genParam();
|
|
|
return completeUrl;
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
private void addParam(String paramName, String paramValue, boolean bMust) throws Exception {
|
|
|
if (StringUtil.isEmpty(paramValue)) {
|
|
|
if (bMust) {
|
|
|
throw new Exception(paramName + "参数不能为空.");
|
|
|
} else {
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
String encodeValue = URLEncoder.encode(paramValue, "UTF-8");
|
|
|
paramMap.put(paramName, encodeValue);
|
|
|
}
|
|
|
|
|
|
public void addParam(Map<String,String> params) throws Exception {
|
|
|
if (params !=null) {
|
|
|
public void addParam(Map<String, String> params) throws Exception {
|
|
|
if (params != null) {
|
|
|
params.remove("sign");
|
|
|
Iterator<Map.Entry<String, String>> iterator = params.entrySet().iterator();
|
|
|
while (iterator.hasNext()) {
|
|
@ -90,13 +59,14 @@ public class ParamVerifyBean {
|
|
|
paramMap.put(key, encodeValue);
|
|
|
}
|
|
|
|
|
|
}else {
|
|
|
} else {
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* sign 签名生成 ( md5(secret + params拼接字符串 + secret) )
|
|
|
*
|
|
|
* @return
|
|
|
*/
|
|
|
public String signParam() {
|
|
@ -122,7 +92,8 @@ public class ParamVerifyBean {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* http请求 参数拼接
|
|
|
* http请求 参数拼接
|
|
|
*
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
@ -150,14 +121,56 @@ public class ParamVerifyBean {
|
|
|
return builder.toString();
|
|
|
}
|
|
|
|
|
|
|
|
|
//TODO 获取应用token
|
|
|
public String getToken() {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
public void setToken(String token) {
|
|
|
this.token = token;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* TODO 无用可删除
|
|
|
* 获取完整请求地址
|
|
|
*
|
|
|
* @return
|
|
|
*/
|
|
|
private String completeUrl() {
|
|
|
try {
|
|
|
addParam("api", api, true);
|
|
|
addParam("param", genParam(), false);
|
|
|
addParam("appKey", appKey, true);
|
|
|
addParam("token", token, false);
|
|
|
addParam("v", version, true);
|
|
|
addParam("timestamp", getTimestamp(), false);
|
|
|
addParam("sign", signParam(), true);
|
|
|
|
|
|
String completeUrl = gatewayUrl + genParam();
|
|
|
return completeUrl;
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
private void addParam(String paramName, String paramValue, boolean bMust) throws Exception {
|
|
|
if (StringUtil.isEmpty(paramValue)) {
|
|
|
if (bMust) {
|
|
|
throw new Exception(paramName + "参数不能为空.");
|
|
|
} else {
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
String encodeValue = URLEncoder.encode(paramValue, "UTF-8");
|
|
|
paramMap.put(paramName, encodeValue);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取 ISO 8601格式的时间戳
|
|
|
*
|
|
|
* @return
|
|
|
*/
|
|
|
private String getTimestamp() {
|
|
@ -167,16 +180,4 @@ public class ParamVerifyBean {
|
|
|
return timestamp;
|
|
|
}
|
|
|
|
|
|
|
|
|
public static void main(String[] args) throws Exception {
|
|
|
ParamVerifyBean paramSignUtil = new ParamVerifyBean();
|
|
|
paramSignUtil.setApi("collect");
|
|
|
paramSignUtil.addParam("patientId","11111",true);
|
|
|
paramSignUtil.addParam("eventNo","2222222",true);
|
|
|
paramSignUtil.genParam();
|
|
|
String s = paramSignUtil.signParam();
|
|
|
System.out.println(s);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|