|
@ -6,10 +6,10 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
|
|
import com.yihu.hos.core.datatype.StringUtil;
|
|
import com.yihu.hos.core.datatype.StringUtil;
|
|
import com.yihu.hos.core.encrypt.MD5;
|
|
import com.yihu.hos.core.encrypt.MD5;
|
|
import com.yihu.hos.core.httpclient.HttpClientUtil;
|
|
import com.yihu.hos.core.httpclient.HttpClientUtil;
|
|
import com.yihu.hos.core.httpclient.HttpHelper;
|
|
|
|
import com.yihu.hos.core.httpclient.HttpResponse;
|
|
import com.yihu.hos.core.httpclient.HttpResponse;
|
|
import com.yihu.hos.core.log.Logger;
|
|
import com.yihu.hos.core.log.Logger;
|
|
import com.yihu.hos.core.log.LoggerFactory;
|
|
import com.yihu.hos.core.log.LoggerFactory;
|
|
|
|
import com.yihu.hos.rest.common.http.EHRHttpHelper;
|
|
import com.yihu.hos.rest.models.crawler.adapter.AdapterDataSet;
|
|
import com.yihu.hos.rest.models.crawler.adapter.AdapterDataSet;
|
|
import com.yihu.hos.rest.models.crawler.config.SysConfig;
|
|
import com.yihu.hos.rest.models.crawler.config.SysConfig;
|
|
import com.yihu.hos.rest.models.crawler.patient.Patient;
|
|
import com.yihu.hos.rest.models.crawler.patient.Patient;
|
|
@ -36,11 +36,11 @@ public class EsbHttp {
|
|
* 用户登录验证
|
|
* 用户登录验证
|
|
*/
|
|
*/
|
|
public static HttpResponse loginAction(String user, String password) throws Exception{
|
|
public static HttpResponse loginAction(String user, String password) throws Exception{
|
|
String loginAction = HttpHelper.defaultHttpUrl+"/authorizations/users/" + user;
|
|
|
|
|
|
String loginAction = EHRHttpHelper.defaultHttpUrl+"/authorizations/users/" + user;
|
|
Map<String,Object> header = new HashMap<>();
|
|
Map<String,Object> header = new HashMap<>();
|
|
String auth = new BASE64Encoder().encode((user+":"+password).getBytes());
|
|
String auth = new BASE64Encoder().encode((user+":"+password).getBytes());
|
|
header.put("Authorization","Basic "+auth);
|
|
header.put("Authorization","Basic "+auth);
|
|
return HttpHelper.put(loginAction, null, header);
|
|
|
|
|
|
return EHRHttpHelper.put(loginAction, null, header);
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
/*
|
|
@ -48,11 +48,11 @@ public class EsbHttp {
|
|
* */
|
|
* */
|
|
public static HttpResponse getUserInfo(String user,String token)
|
|
public static HttpResponse getUserInfo(String user,String token)
|
|
{
|
|
{
|
|
String url = HttpHelper.defaultHttpUrl+"/users/" + user;
|
|
|
|
|
|
String url = EHRHttpHelper.defaultHttpUrl+"/users/" + user;
|
|
Map<String,Object> params = new HashMap<>();
|
|
Map<String,Object> params = new HashMap<>();
|
|
params.put("token",token);
|
|
params.put("token",token);
|
|
params.put("user",user);
|
|
params.put("user",user);
|
|
return HttpHelper.get(url, params);
|
|
|
|
|
|
return EHRHttpHelper.get(url, params);
|
|
}
|
|
}
|
|
|
|
|
|
/***************************** 应用接口 *********************************************/
|
|
/***************************** 应用接口 *********************************************/
|
|
@ -77,14 +77,14 @@ public class EsbHttp {
|
|
*/
|
|
*/
|
|
public static String getToken(){
|
|
public static String getToken(){
|
|
try {
|
|
try {
|
|
String loginAction = HttpHelper.defaultHttpUrl + "/authorizations/clients/" + HttpHelper.clientId;
|
|
|
|
|
|
String loginAction = EHRHttpHelper.defaultHttpUrl + "/authorizations/clients/" + EHRHttpHelper.clientId;
|
|
Map<String, Object> header = new HashMap<>();
|
|
Map<String, Object> header = new HashMap<>();
|
|
header.put("Authorization", "Basic " + HttpHelper.clientKey);
|
|
|
|
|
|
header.put("Authorization", "Basic " + EHRHttpHelper.clientKey);
|
|
//本地指纹
|
|
//本地指纹
|
|
Map<String, Object> params = new HashMap<String, Object>();
|
|
Map<String, Object> params = new HashMap<String, Object>();
|
|
params.put("info", "{\"fingerprint\": \"" + GetFingerprint() + "\"}");
|
|
params.put("info", "{\"fingerprint\": \"" + GetFingerprint() + "\"}");
|
|
|
|
|
|
HttpResponse response = HttpHelper.put(loginAction, params, header);
|
|
|
|
|
|
HttpResponse response = EHRHttpHelper.put(loginAction, params, header);
|
|
if (response != null && response.getStatusCode() == HttpStatus.SC_OK) {
|
|
if (response != null && response.getStatusCode() == HttpStatus.SC_OK) {
|
|
JSONObject obj = new JSONObject(response.getBody());
|
|
JSONObject obj = new JSONObject(response.getBody());
|
|
//判断是否成功
|
|
//判断是否成功
|
|
@ -111,72 +111,6 @@ public class EsbHttp {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
|
|
* 获取病人列表
|
|
|
|
*/
|
|
|
|
public static String getPatientList(AdapterDataSet adapterDataSet, List<EhrCondition> queryParams){
|
|
|
|
try {
|
|
|
|
ObjectMapper mapper = new ObjectMapper();
|
|
|
|
ObjectNode paramsNode = mapper.createObjectNode();
|
|
|
|
|
|
|
|
paramsNode.put("tableCode", adapterDataSet.getAdapterDataSetT().getStdDatasetCode());
|
|
|
|
paramsNode.put("condition", mapper.writeValueAsString(queryParams));
|
|
|
|
|
|
|
|
List<NameValuePair> formParams = new ArrayList<>();
|
|
|
|
formParams.add(new BasicNameValuePair("api", "collectionData"));
|
|
|
|
String params = mapper.writeValueAsString(paramsNode);
|
|
|
|
formParams.add(new BasicNameValuePair("param", params));
|
|
|
|
HttpResponse response = HttpClientUtil.postForm(HttpHelper.httpGateway, formParams);
|
|
|
|
if (response == null || response.getStatusCode() != 200) {
|
|
|
|
logger.error("获取病人列表错误,请求HTTP错误,请检查配置或HTTP是否可用.");
|
|
|
|
return "";
|
|
|
|
}
|
|
|
|
|
|
|
|
JsonNode responseNode = mapper.readValue(response.getBody(), JsonNode.class);
|
|
|
|
String code = responseNode.path("responseCode").asText();
|
|
|
|
if (StringUtil.isEmpty(code) || !code.equals("10000")) {
|
|
|
|
logger.error("获取病人列表错误,请求HTTP错误,请检查集成平台网关是否可用.");
|
|
|
|
return "";
|
|
|
|
}
|
|
|
|
|
|
|
|
String rootStr = responseNode.path("responseResult").asText();
|
|
|
|
if ("".equals(rootStr)) {
|
|
|
|
logger.error("获取病人列表错误,集成平台获取病人列表失败.");
|
|
|
|
return "";
|
|
|
|
}
|
|
|
|
return rootStr;
|
|
|
|
} catch (Exception e) {
|
|
|
|
logger.error("获取病人列表失败!", e);
|
|
|
|
return "";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public static String getFecthData(List<NameValuePair> formParams) {
|
|
|
|
try {
|
|
|
|
HttpResponse response = HttpClientUtil.postForm(HttpHelper.httpGateway, formParams);
|
|
|
|
if (response == null || response.getStatusCode() != 200) {
|
|
|
|
logger.info("获取病人数据错误,请求HTTP错误,请检查配置或HTTP是否可用.");
|
|
|
|
return SqlConstants.EMPTY;
|
|
|
|
}
|
|
|
|
ObjectMapper mapper = new ObjectMapper();
|
|
|
|
JsonNode responseNode = mapper.readValue(response.getBody(), JsonNode.class);
|
|
|
|
String code = responseNode.path("responseCode").asText();
|
|
|
|
if (StringUtil.isEmpty(code) || !code.equals("10000")) {
|
|
|
|
logger.info("获取病人数据错误,请求HTTP错误,请检查集成平台网关是否可用.");
|
|
|
|
return SqlConstants.EMPTY;
|
|
|
|
}
|
|
|
|
|
|
|
|
String rootStr = responseNode.path("responseResult").asText();
|
|
|
|
if (SqlConstants.EMPTY.equals(rootStr)) {
|
|
|
|
logger.info("获取病人数据错误,集成平台获取病人数据失败.");
|
|
|
|
return SqlConstants.EMPTY;
|
|
|
|
}
|
|
|
|
return rootStr;
|
|
|
|
} catch (Exception e) {
|
|
|
|
logger.error("获取病人数据失败.", e);
|
|
|
|
return SqlConstants.EMPTY;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
/**
|
|
* 获取公钥
|
|
* 获取公钥
|
|
*/
|
|
*/
|
|
@ -187,12 +121,12 @@ public class EsbHttp {
|
|
return SysConfig.getInstance().getPublicKeyMap().get(orgCode);
|
|
return SysConfig.getInstance().getPublicKeyMap().get(orgCode);
|
|
}
|
|
}
|
|
Map<String, Object> header = new HashMap<>();
|
|
Map<String, Object> header = new HashMap<>();
|
|
header.put("Authorization", "Basic " + HttpHelper.clientKey);
|
|
|
|
|
|
header.put("Authorization", "Basic " + EHRHttpHelper.clientKey);
|
|
Map<String, Object> paramMap = new HashMap<>();
|
|
Map<String, Object> paramMap = new HashMap<>();
|
|
paramMap.put("org_code", orgCode);
|
|
paramMap.put("org_code", orgCode);
|
|
paramMap.put("token", token);
|
|
paramMap.put("token", token);
|
|
String publicKeyMethod = HttpHelper.defaultHttpUrl + "/organizations/"+orgCode+"/key";
|
|
|
|
HttpResponse response = HttpHelper.get(publicKeyMethod, paramMap, header);
|
|
|
|
|
|
String publicKeyMethod = EHRHttpHelper.defaultHttpUrl + "/organizations/"+orgCode+"/key";
|
|
|
|
HttpResponse response = EHRHttpHelper.get(publicKeyMethod, paramMap, header);
|
|
if (response != null && response.getStatusCode() == HttpStatus.SC_OK) {
|
|
if (response != null && response.getStatusCode() == HttpStatus.SC_OK) {
|
|
JSONObject json = new JSONObject(response.getBody());
|
|
JSONObject json = new JSONObject(response.getBody());
|
|
if(json.has("publicKey"))
|
|
if(json.has("publicKey"))
|
|
@ -228,13 +162,13 @@ public class EsbHttp {
|
|
public static String getRemoteVersion(String orgCode) {
|
|
public static String getRemoteVersion(String orgCode) {
|
|
try {
|
|
try {
|
|
String token = getToken();
|
|
String token = getToken();
|
|
String versionMethod = HttpHelper.defaultHttpUrl + "/adaptions/org_plan/version";
|
|
|
|
|
|
String versionMethod = EHRHttpHelper.defaultHttpUrl + "/adaptions/org_plan/version";
|
|
Map<String, Object> header = new HashMap<>();
|
|
Map<String, Object> header = new HashMap<>();
|
|
header.put("Authorization", "Basic " + HttpHelper.clientKey);
|
|
|
|
|
|
header.put("Authorization", "Basic " + EHRHttpHelper.clientKey);
|
|
Map<String, Object> params = new HashMap<>();
|
|
Map<String, Object> params = new HashMap<>();
|
|
params.put("org_code", orgCode);
|
|
params.put("org_code", orgCode);
|
|
params.put("token", token);
|
|
params.put("token", token);
|
|
HttpResponse response = HttpHelper.get(versionMethod, params, header);
|
|
|
|
|
|
HttpResponse response = EHRHttpHelper.get(versionMethod, params, header);
|
|
if (response != null && response.getStatusCode() == HttpStatus.SC_OK) {
|
|
if (response != null && response.getStatusCode() == HttpStatus.SC_OK) {
|
|
return response.getBody();
|
|
return response.getBody();
|
|
}
|
|
}
|
|
@ -265,8 +199,8 @@ public class EsbHttp {
|
|
JSONObject json = new JSONObject(data);
|
|
JSONObject json = new JSONObject(data);
|
|
String colName = SysConfig.registerIdCardNo;
|
|
String colName = SysConfig.registerIdCardNo;
|
|
Map<String, Object> header = new HashMap<>();
|
|
Map<String, Object> header = new HashMap<>();
|
|
header.put("Authorization", "Basic " + HttpHelper.clientKey);
|
|
|
|
header.put("User-Agent", "client " + HttpHelper.clientId);
|
|
|
|
|
|
header.put("Authorization", "Basic " + EHRHttpHelper.clientKey);
|
|
|
|
header.put("User-Agent", "client " + EHRHttpHelper.clientId);
|
|
if(json!=null && json.has("data")) {
|
|
if(json!=null && json.has("data")) {
|
|
JSONObject p = (JSONObject)json.getJSONArray("data").get(0);
|
|
JSONObject p = (JSONObject)json.getJSONArray("data").get(0);
|
|
if(!p.has(colName) || StringUtil.isEmpty(p.get(colName))) {
|
|
if(!p.has(colName) || StringUtil.isEmpty(p.get(colName))) {
|
|
@ -275,7 +209,7 @@ public class EsbHttp {
|
|
}
|
|
}
|
|
else{
|
|
else{
|
|
String idCord = p.getString(colName);
|
|
String idCord = p.getString(colName);
|
|
String registerMethod = HttpHelper.defaultHttpUrl + "/patients/"+idCord;
|
|
|
|
|
|
String registerMethod = EHRHttpHelper.defaultHttpUrl + "/patients/"+idCord;
|
|
if (StringUtil.isEmpty(data)) {
|
|
if (StringUtil.isEmpty(data)) {
|
|
logger.info("注册病人信息请求失败:无具体病人信息,patient_id=" + patient.getPatientId() + ", event_no=" + patient.getEventNo());
|
|
logger.info("注册病人信息请求失败:无具体病人信息,patient_id=" + patient.getPatientId() + ", event_no=" + patient.getEventNo());
|
|
return false;
|
|
return false;
|
|
@ -284,7 +218,7 @@ public class EsbHttp {
|
|
paramMap.put("demographic_id", idCord);
|
|
paramMap.put("demographic_id", idCord);
|
|
paramMap.put("json", data);
|
|
paramMap.put("json", data);
|
|
paramMap.put("token", token);
|
|
paramMap.put("token", token);
|
|
HttpResponse response = HttpHelper.post(registerMethod, paramMap, header);
|
|
|
|
|
|
HttpResponse response = EHRHttpHelper.post(registerMethod, paramMap, header);
|
|
|
|
|
|
if (response != null && response.getStatusCode() == HttpStatus.SC_OK) {
|
|
if (response != null && response.getStatusCode() == HttpStatus.SC_OK) {
|
|
logger.info("注册病人信息成功。patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo());
|
|
logger.info("注册病人信息成功。patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo());
|
|
@ -319,7 +253,7 @@ public class EsbHttp {
|
|
*/
|
|
*/
|
|
public static boolean upload(Patient patient, File file, String encryptPwd, String token) {
|
|
public static boolean upload(Patient patient, File file, String encryptPwd, String token) {
|
|
try {
|
|
try {
|
|
String uploadMethod = HttpHelper.defaultHttpUrl + "/packages";
|
|
|
|
|
|
String uploadMethod = EHRHttpHelper.defaultHttpUrl + "/packages";
|
|
String fileMd5= MD5.getMd5ByFile(file);
|
|
String fileMd5= MD5.getMd5ByFile(file);
|
|
List<NameValuePair> formParams = new ArrayList<>();
|
|
List<NameValuePair> formParams = new ArrayList<>();
|
|
formParams.add(new BasicNameValuePair("md5", fileMd5));
|
|
formParams.add(new BasicNameValuePair("md5", fileMd5));
|
|
@ -327,9 +261,9 @@ public class EsbHttp {
|
|
formParams.add(new BasicNameValuePair("org_code", patient.getOrgCode()));
|
|
formParams.add(new BasicNameValuePair("org_code", patient.getOrgCode()));
|
|
formParams.add(new BasicNameValuePair("token", token));
|
|
formParams.add(new BasicNameValuePair("token", token));
|
|
Map<String, Object> header = new HashMap<>();
|
|
Map<String, Object> header = new HashMap<>();
|
|
header.put("Authorization", "Basic " + HttpHelper.clientKey);
|
|
|
|
header.put("User-Agent", "client " + HttpHelper.clientId);
|
|
|
|
HttpResponse response = HttpHelper.postFile(uploadMethod, formParams, file.getAbsolutePath(), header);
|
|
|
|
|
|
header.put("Authorization", "Basic " + EHRHttpHelper.clientKey);
|
|
|
|
header.put("User-Agent", "client " + EHRHttpHelper.clientId);
|
|
|
|
HttpResponse response = EHRHttpHelper.postFile(uploadMethod, formParams, file.getAbsolutePath(), header);
|
|
|
|
|
|
if (response != null && response.getStatusCode() == HttpStatus.SC_OK) {
|
|
if (response != null && response.getStatusCode() == HttpStatus.SC_OK) {
|
|
logger.info("上传病人档案成功,patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
|
|
logger.info("上传病人档案成功,patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
|
|
@ -360,14 +294,14 @@ public class EsbHttp {
|
|
public static HttpResponse download(String remoteVersion, String orgCode) {
|
|
public static HttpResponse download(String remoteVersion, String orgCode) {
|
|
try {
|
|
try {
|
|
String token = getToken();
|
|
String token = getToken();
|
|
String downLoadMethod = HttpHelper.defaultHttpUrl + "/adaptions/"+orgCode+"/source";
|
|
|
|
|
|
String downLoadMethod = EHRHttpHelper.defaultHttpUrl + "/adaptions/"+orgCode+"/source";
|
|
Map<String, Object> params = new HashMap<>();
|
|
Map<String, Object> params = new HashMap<>();
|
|
params.put("version_code", remoteVersion);
|
|
params.put("version_code", remoteVersion);
|
|
params.put("org_code", orgCode);
|
|
params.put("org_code", orgCode);
|
|
params.put("token", token);
|
|
params.put("token", token);
|
|
Map<String, Object> header = new HashMap<>();
|
|
Map<String, Object> header = new HashMap<>();
|
|
header.put("Authorization", "Basic " + HttpHelper.clientKey);
|
|
|
|
HttpResponse response = HttpHelper.get(downLoadMethod, params, header);
|
|
|
|
|
|
header.put("Authorization", "Basic " + EHRHttpHelper.clientKey);
|
|
|
|
HttpResponse response = EHRHttpHelper.get(downLoadMethod, params, header);
|
|
return response;
|
|
return response;
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
logger.info("下载标准包异常:");
|
|
logger.info("下载标准包异常:");
|