|  | @ -1,389 +0,0 @@
 | 
												
													
														
															|  | package com.yihu.hos.crawler.service;
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | import com.fasterxml.jackson.databind.JsonNode;
 |  | 
 | 
												
													
														
															|  | import com.fasterxml.jackson.databind.ObjectMapper;
 |  | 
 | 
												
													
														
															|  | import com.fasterxml.jackson.databind.node.ObjectNode;
 |  | 
 | 
												
													
														
															|  | import com.yihu.hos.core.datatype.StringUtil;
 |  | 
 | 
												
													
														
															|  | import com.yihu.hos.core.encrypt.MD5;
 |  | 
 | 
												
													
														
															|  | import com.yihu.hos.core.http.HTTPResponse;
 |  | 
 | 
												
													
														
															|  | import com.yihu.hos.core.http.HttpClientKit;
 |  | 
 | 
												
													
														
															|  | import com.yihu.hos.core.log.Logger;
 |  | 
 | 
												
													
														
															|  | import com.yihu.hos.core.log.LoggerFactory;
 |  | 
 | 
												
													
														
															|  | import com.yihu.hos.crawler.model.adapter.AdapterDataSet;
 |  | 
 | 
												
													
														
															|  | import com.yihu.hos.crawler.model.config.SysConfig;
 |  | 
 | 
												
													
														
															|  | import com.yihu.hos.crawler.model.patient.Patient;
 |  | 
 | 
												
													
														
															|  | import com.yihu.hos.crawler.model.transform.EhrCondition;
 |  | 
 | 
												
													
														
															|  | import com.yihu.hos.web.framework.constant.SqlConstants;
 |  | 
 | 
												
													
														
															|  | import org.json.JSONObject;
 |  | 
 | 
												
													
														
															|  | import org.springframework.core.io.ClassPathResource;
 |  | 
 | 
												
													
														
															|  | import org.springframework.core.io.Resource;
 |  | 
 | 
												
													
														
															|  | import org.springframework.core.io.support.EncodedResource;
 |  | 
 | 
												
													
														
															|  | import org.springframework.core.io.support.PropertiesLoaderUtils;
 |  | 
 | 
												
													
														
															|  | import sun.misc.BASE64Encoder;
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | import java.io.File;
 |  | 
 | 
												
													
														
															|  | import java.util.*;
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | /**
 |  | 
 | 
												
													
														
															|  |  * Created by hzp on 2016/3/10.
 |  | 
 | 
												
													
														
															|  |  */
 |  | 
 | 
												
													
														
															|  | public class EsbHttp {
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |     public static String defaultHttpUrl;
 |  | 
 | 
												
													
														
															|  |     public static String clientId;
 |  | 
 | 
												
													
														
															|  |     public static String clientKey;
 |  | 
 | 
												
													
														
															|  |     public static String httpGateway;
 |  | 
 | 
												
													
														
															|  |     public static String defaultHttpUser;
 |  | 
 | 
												
													
														
															|  |     public static String defaultHttpPassword;
 |  | 
 | 
												
													
														
															|  |     public static String sslKeyStore;
 |  | 
 | 
												
													
														
															|  |     public static String sslPassword;
 |  | 
 | 
												
													
														
															|  |     private static Logger logger = LoggerFactory.getLogger(EsbHttp.class);
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |     static {
 |  | 
 | 
												
													
														
															|  |         //默认配置
 |  | 
 | 
												
													
														
															|  |         try {
 |  | 
 | 
												
													
														
															|  |             Resource resource = new ClassPathResource("config/http.properties");
 |  | 
 | 
												
													
														
															|  |             EncodedResource encRes = new EncodedResource(resource, "UTF-8");
 |  | 
 | 
												
													
														
															|  |             Properties props = PropertiesLoaderUtils.loadProperties(encRes);
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |             defaultHttpUrl = props.getProperty("httpUrl");
 |  | 
 | 
												
													
														
															|  |             defaultHttpUser = props.getProperty("httpUser");
 |  | 
 | 
												
													
														
															|  |             defaultHttpPassword = props.getProperty("httpPassword");
 |  | 
 | 
												
													
														
															|  |             clientId = props.getProperty("clientId");
 |  | 
 | 
												
													
														
															|  |             clientKey = props.getProperty("clientKey");
 |  | 
 | 
												
													
														
															|  |             sslKeyStore = props.getProperty("sslKeystore");
 |  | 
 | 
												
													
														
															|  |             sslPassword = props.getProperty("sslPassword");
 |  | 
 | 
												
													
														
															|  |         } catch (Exception e) {
 |  | 
 | 
												
													
														
															|  |             System.out.print(e.getMessage());
 |  | 
 | 
												
													
														
															|  |         }
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |     }
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |     /***************************** 用户接口 *********************************************/
 |  | 
 | 
												
													
														
															|  |     /**
 |  | 
 | 
												
													
														
															|  |      * 用户登录验证
 |  | 
 | 
												
													
														
															|  |      */
 |  | 
 | 
												
													
														
															|  |     public static HTTPResponse loginAction(String user, String password) throws Exception {
 |  | 
 | 
												
													
														
															|  |         String loginAction = defaultHttpUrl + "/authorizations/users/" + user;
 |  | 
 | 
												
													
														
															|  |         Map<String, String> header = new HashMap<>();
 |  | 
 | 
												
													
														
															|  |         String auth = new BASE64Encoder().encode((user + ":" + password).getBytes());
 |  | 
 | 
												
													
														
															|  |         header.put("Authorization", "Basic " + auth);
 |  | 
 | 
												
													
														
															|  |         return HttpClientKit.put(loginAction, null, header);
 |  | 
 | 
												
													
														
															|  |     }
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |     /*
 |  | 
 | 
												
													
														
															|  |     *   获取用户信息
 |  | 
 | 
												
													
														
															|  |     * */
 |  | 
 | 
												
													
														
															|  |     public static HTTPResponse getUserInfo(String user, String token) {
 |  | 
 | 
												
													
														
															|  |         String url = defaultHttpUrl + "/users/" + user;
 |  | 
 | 
												
													
														
															|  |         Map<String, String> params = new HashMap<>();
 |  | 
 | 
												
													
														
															|  |         params.put("token", token);
 |  | 
 | 
												
													
														
															|  |         params.put("user", user);
 |  | 
 | 
												
													
														
															|  |         return HttpClientKit.get(url, params);
 |  | 
 | 
												
													
														
															|  |     }
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |     /***************************** 应用接口 *********************************************/
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |     /**
 |  | 
 | 
												
													
														
															|  |      * 获取本机指纹
 |  | 
 | 
												
													
														
															|  |      *
 |  | 
 | 
												
													
														
															|  |      * @return
 |  | 
 | 
												
													
														
															|  |      */
 |  | 
 | 
												
													
														
															|  |     private static String GetFingerprint() {
 |  | 
 | 
												
													
														
															|  |         try {
 |  | 
 | 
												
													
														
															|  |             return UUID.randomUUID().toString();
 |  | 
 | 
												
													
														
															|  |         } catch (Exception e) {
 |  | 
 | 
												
													
														
															|  |             System.out.print(e.getMessage());
 |  | 
 | 
												
													
														
															|  |             return "";
 |  | 
 | 
												
													
														
															|  |         }
 |  | 
 | 
												
													
														
															|  |     }
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |     /**
 |  | 
 | 
												
													
														
															|  |      * 应用登录验证
 |  | 
 | 
												
													
														
															|  |      */
 |  | 
 | 
												
													
														
															|  |     public static String getToken() {
 |  | 
 | 
												
													
														
															|  |         try {
 |  | 
 | 
												
													
														
															|  |             String loginAction = defaultHttpUrl + "/authorizations/clients/" + clientId;
 |  | 
 | 
												
													
														
															|  |             Map<String, String> header = new HashMap<>();
 |  | 
 | 
												
													
														
															|  |             header.put("Authorization", "Basic " + clientKey);
 |  | 
 | 
												
													
														
															|  |             //本地指纹
 |  | 
 | 
												
													
														
															|  |             Map<String, String> params = new HashMap<>();
 |  | 
 | 
												
													
														
															|  |             params.put("info", "{\"fingerprint\": \"" + GetFingerprint() + "\"}");
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |             HTTPResponse response = HttpClientKit.put(loginAction, params, header);
 |  | 
 | 
												
													
														
															|  |             if (response != null && response.getStatusCode() == 200) {
 |  | 
 | 
												
													
														
															|  |                 JSONObject obj = new JSONObject(response.getBody());
 |  | 
 | 
												
													
														
															|  |                 //判断是否成功
 |  | 
 | 
												
													
														
															|  |                 if (obj.has("token")) {
 |  | 
 | 
												
													
														
															|  |                     return obj.getString("token");
 |  | 
 | 
												
													
														
															|  |                 } else {
 |  | 
 | 
												
													
														
															|  |                     logger.info("返回未包含token。");
 |  | 
 | 
												
													
														
															|  |                     return null;
 |  | 
 | 
												
													
														
															|  |                 }
 |  | 
 | 
												
													
														
															|  |             } else {
 |  | 
 | 
												
													
														
															|  |                 String msg = "获取Token失败。";
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |                 if (response != null) {
 |  | 
 | 
												
													
														
															|  |                     msg += "(错误代码:" + response.getStatusCode() + ",错误信息:" + response.getBody() + ")";
 |  | 
 | 
												
													
														
															|  |                 }
 |  | 
 | 
												
													
														
															|  |                 logger.info(msg);
 |  | 
 | 
												
													
														
															|  |                 return null;
 |  | 
 | 
												
													
														
															|  |             }
 |  | 
 | 
												
													
														
															|  |         } catch (Exception ex) {
 |  | 
 | 
												
													
														
															|  |             logger.info("获取Token失败," + ex.getMessage());
 |  | 
 | 
												
													
														
															|  |             return null;
 |  | 
 | 
												
													
														
															|  |         }
 |  | 
 | 
												
													
														
															|  |     }
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |     /**
 |  | 
 | 
												
													
														
															|  |      * 获取病人列表
 |  | 
 | 
												
													
														
															|  |      */
 |  | 
 | 
												
													
														
															|  |     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));
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |             Map<String, String> formParams = new HashMap<>();
 |  | 
 | 
												
													
														
															|  |             formParams.put("api", "collectionData");
 |  | 
 | 
												
													
														
															|  |             String params = mapper.writeValueAsString(paramsNode);
 |  | 
 | 
												
													
														
															|  |             formParams.put("param", params);
 |  | 
 | 
												
													
														
															|  |             HTTPResponse response = HttpClientKit.post(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(Map<String, String> formParams) {
 |  | 
 | 
												
													
														
															|  |         try {
 |  | 
 | 
												
													
														
															|  |             HTTPResponse response = HttpClientKit.post(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;
 |  | 
 | 
												
													
														
															|  |         }
 |  | 
 | 
												
													
														
															|  |     }
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |     /**
 |  | 
 | 
												
													
														
															|  |      * 获取公钥
 |  | 
 | 
												
													
														
															|  |      */
 |  | 
 | 
												
													
														
															|  |     public static String getPublicKey(String orgCode) {
 |  | 
 | 
												
													
														
															|  |         try {
 |  | 
 | 
												
													
														
															|  |             String token = getToken();
 |  | 
 | 
												
													
														
															|  |             if (!StringUtil.isEmpty(SysConfig.getInstance().getPublicKeyMap().get(orgCode))) {
 |  | 
 | 
												
													
														
															|  |                 return SysConfig.getInstance().getPublicKeyMap().get(orgCode);
 |  | 
 | 
												
													
														
															|  |             }
 |  | 
 | 
												
													
														
															|  |             Map<String, String> header = new HashMap<>();
 |  | 
 | 
												
													
														
															|  |             header.put("Authorization", "Basic " + clientKey);
 |  | 
 | 
												
													
														
															|  |             Map<String, String> paramMap = new HashMap<>();
 |  | 
 | 
												
													
														
															|  |             paramMap.put("org_code", orgCode);
 |  | 
 | 
												
													
														
															|  |             paramMap.put("token", token);
 |  | 
 | 
												
													
														
															|  |             String publicKeyMethod = defaultHttpUrl + "/organizations/" + orgCode + "/key";
 |  | 
 | 
												
													
														
															|  |             HTTPResponse response = HttpClientKit.get(publicKeyMethod, paramMap, header);
 |  | 
 | 
												
													
														
															|  |             if (response != null && response.getStatusCode() == 200) {
 |  | 
 | 
												
													
														
															|  |                 JSONObject json = new JSONObject(response.getBody());
 |  | 
 | 
												
													
														
															|  |                 if (json.has("publicKey")) {
 |  | 
 | 
												
													
														
															|  |                     String publicKey = json.getString("publicKey");
 |  | 
 | 
												
													
														
															|  |                     SysConfig.getInstance().getPublicKeyMap().put(orgCode, publicKey);
 |  | 
 | 
												
													
														
															|  |                     return publicKey;
 |  | 
 | 
												
													
														
															|  |                 } else {
 |  | 
 | 
												
													
														
															|  |                     logger.info("获取公钥失败,返回未包含publicKey。");
 |  | 
 | 
												
													
														
															|  |                     return null;
 |  | 
 | 
												
													
														
															|  |                 }
 |  | 
 | 
												
													
														
															|  |             } else {
 |  | 
 | 
												
													
														
															|  |                 String msg = "获取公钥失败。";
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |                 if (response != null) {
 |  | 
 | 
												
													
														
															|  |                     msg += "(错误代码:" + response.getStatusCode() + ",错误信息:" + response.getBody() + ")";
 |  | 
 | 
												
													
														
															|  |                 }
 |  | 
 | 
												
													
														
															|  |                 logger.info(msg);
 |  | 
 | 
												
													
														
															|  |                 return null;
 |  | 
 | 
												
													
														
															|  |             }
 |  | 
 | 
												
													
														
															|  |         } catch (Exception e) {
 |  | 
 | 
												
													
														
															|  |             logger.info(e.getMessage());
 |  | 
 | 
												
													
														
															|  |             return null;
 |  | 
 | 
												
													
														
															|  |         }
 |  | 
 | 
												
													
														
															|  |     }
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |     /**
 |  | 
 | 
												
													
														
															|  |      * 获取健康云平台标准版本号
 |  | 
 | 
												
													
														
															|  |      */
 |  | 
 | 
												
													
														
															|  |     public static String getRemoteVersion(String orgCode) {
 |  | 
 | 
												
													
														
															|  |         try {
 |  | 
 | 
												
													
														
															|  |             String token = getToken();
 |  | 
 | 
												
													
														
															|  |             String versionMethod = defaultHttpUrl + "/adaptions/org_plan/version";
 |  | 
 | 
												
													
														
															|  |             Map<String, String> header = new HashMap<>();
 |  | 
 | 
												
													
														
															|  |             header.put("Authorization", "Basic " + clientKey);
 |  | 
 | 
												
													
														
															|  |             Map<String, String> params = new HashMap<>();
 |  | 
 | 
												
													
														
															|  |             params.put("org_code", orgCode);
 |  | 
 | 
												
													
														
															|  |             params.put("token", token);
 |  | 
 | 
												
													
														
															|  |             HTTPResponse response = HttpClientKit.get(versionMethod, params, header);
 |  | 
 | 
												
													
														
															|  |             if (response != null && response.getStatusCode() == 200) {
 |  | 
 | 
												
													
														
															|  |                 return response.getBody();
 |  | 
 | 
												
													
														
															|  |             } else {
 |  | 
 | 
												
													
														
															|  |                 String msg = "获取健康云平台标准版本号失败";
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |                 if (response != null) {
 |  | 
 | 
												
													
														
															|  |                     msg += "(错误代码:" + response.getStatusCode() + ",错误信息:" + response.getBody() + ")";
 |  | 
 | 
												
													
														
															|  |                 }
 |  | 
 | 
												
													
														
															|  |                 logger.info(msg);
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |                 return null;
 |  | 
 | 
												
													
														
															|  |             }
 |  | 
 | 
												
													
														
															|  |         } catch (Exception e) {
 |  | 
 | 
												
													
														
															|  |             logger.info("获取远程版本号异常");
 |  | 
 | 
												
													
														
															|  |             logger.error(e.getCause().toString());
 |  | 
 | 
												
													
														
															|  |             return null;
 |  | 
 | 
												
													
														
															|  |         }
 |  | 
 | 
												
													
														
															|  |     }
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |     /**
 |  | 
 | 
												
													
														
															|  |      * 注册病人
 |  | 
 | 
												
													
														
															|  |      */
 |  | 
 | 
												
													
														
															|  |     public static Boolean register(Patient patient, String data, String token) {
 |  | 
 | 
												
													
														
															|  |         try {
 |  | 
 | 
												
													
														
															|  |             JSONObject json = new JSONObject(data);
 |  | 
 | 
												
													
														
															|  |             String colName = SysConfig.registerIdCardNo;
 |  | 
 | 
												
													
														
															|  |             Map<String, String> header = new HashMap<>();
 |  | 
 | 
												
													
														
															|  |             header.put("Authorization", "Basic " + clientKey);
 |  | 
 | 
												
													
														
															|  |             header.put("User-Agent", "client " + clientId);
 |  | 
 | 
												
													
														
															|  |             if (json != null && json.has("data")) {
 |  | 
 | 
												
													
														
															|  |                 JSONObject p = (JSONObject) json.getJSONArray("data").get(0);
 |  | 
 | 
												
													
														
															|  |                 if (!p.has(colName) || StringUtil.isEmpty(p.get(colName))) {
 |  | 
 | 
												
													
														
															|  |                     logger.info("注册病人信息请求失败:身份证号码为空,patient_id=" + patient.getPatientId() + ", event_no=" + patient.getEventNo());
 |  | 
 | 
												
													
														
															|  |                     return false;
 |  | 
 | 
												
													
														
															|  |                 } else {
 |  | 
 | 
												
													
														
															|  |                     String idCord = p.getString(colName);
 |  | 
 | 
												
													
														
															|  |                     String registerMethod = defaultHttpUrl + "/patients/" + idCord;
 |  | 
 | 
												
													
														
															|  |                     if (StringUtil.isEmpty(data)) {
 |  | 
 | 
												
													
														
															|  |                         logger.info("注册病人信息请求失败:无具体病人信息,patient_id=" + patient.getPatientId() + ", event_no=" + patient.getEventNo());
 |  | 
 | 
												
													
														
															|  |                         return false;
 |  | 
 | 
												
													
														
															|  |                     }
 |  | 
 | 
												
													
														
															|  |                     Map<String, String> paramMap = new HashMap<>();
 |  | 
 | 
												
													
														
															|  |                     paramMap.put("demographic_id", idCord);
 |  | 
 | 
												
													
														
															|  |                     paramMap.put("json", data);
 |  | 
 | 
												
													
														
															|  |                     paramMap.put("token", token);
 |  | 
 | 
												
													
														
															|  |                     HTTPResponse response = HttpClientKit.post(registerMethod, paramMap, header);
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |                     if (response != null && response.getStatusCode() == 200) {
 |  | 
 | 
												
													
														
															|  |                         logger.info("注册病人信息成功。patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo());
 |  | 
 | 
												
													
														
															|  |                         return true;
 |  | 
 | 
												
													
														
															|  |                     } else {
 |  | 
 | 
												
													
														
															|  |                         String msg = "注册病人信息请求失败。patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo();
 |  | 
 | 
												
													
														
															|  |                         if (response != null) {
 |  | 
 | 
												
													
														
															|  |                             msg += "(错误代码:" + response.getStatusCode() + ",错误信息:" + response.getBody() + ")";
 |  | 
 | 
												
													
														
															|  |                         }
 |  | 
 | 
												
													
														
															|  |                         logger.info(msg);
 |  | 
 | 
												
													
														
															|  |                         return false;
 |  | 
 | 
												
													
														
															|  |                     }
 |  | 
 | 
												
													
														
															|  |                 }
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |             } else {
 |  | 
 | 
												
													
														
															|  |                 logger.info("注册病人信息请求失败:传入数据无效,patient_id=" + patient.getPatientId() + ", event_no=" + patient.getEventNo());
 |  | 
 | 
												
													
														
															|  |                 return false;
 |  | 
 | 
												
													
														
															|  |             }
 |  | 
 | 
												
													
														
															|  |         } catch (Exception e) {
 |  | 
 | 
												
													
														
															|  |             logger.info("注册病人信息请求失败." + e.getMessage());
 |  | 
 | 
												
													
														
															|  |             return false;
 |  | 
 | 
												
													
														
															|  |         }
 |  | 
 | 
												
													
														
															|  |     }
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |     /**
 |  | 
 | 
												
													
														
															|  |      * 上传病人档案
 |  | 
 | 
												
													
														
															|  |      */
 |  | 
 | 
												
													
														
															|  |     public static boolean upload(Patient patient, File file, String encryptPwd, String token) {
 |  | 
 | 
												
													
														
															|  |         try {
 |  | 
 | 
												
													
														
															|  |             String uploadMethod = defaultHttpUrl + "/packages";
 |  | 
 | 
												
													
														
															|  |             String fileMd5 = MD5.getMd5ByFile(file);
 |  | 
 | 
												
													
														
															|  |             Map<String, String> formParams = new HashMap<>();
 |  | 
 | 
												
													
														
															|  |             formParams.put("md5", fileMd5);
 |  | 
 | 
												
													
														
															|  |             formParams.put("package_crypto", encryptPwd);
 |  | 
 | 
												
													
														
															|  |             formParams.put("org_code", patient.getOrgCode());
 |  | 
 | 
												
													
														
															|  |             formParams.put("token", token);
 |  | 
 | 
												
													
														
															|  |             Map<String, String> header = new HashMap<>();
 |  | 
 | 
												
													
														
															|  |             header.put("Authorization", "Basic " + clientKey);
 |  | 
 | 
												
													
														
															|  |             header.put("User-Agent", "client " + clientId);
 |  | 
 | 
												
													
														
															|  |             HTTPResponse response = HttpClientKit.postFile(uploadMethod, file.getAbsolutePath(), formParams, header);
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |             if (response != null && response.getStatusCode() == 200) {
 |  | 
 | 
												
													
														
															|  |                 logger.info("上传病人档案成功,patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
 |  | 
 | 
												
													
														
															|  |                 return true;
 |  | 
 | 
												
													
														
															|  |             } else {
 |  | 
 | 
												
													
														
															|  |                 String msg = "上传病人档案请求失败,patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo();
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |                 if (response != null) {
 |  | 
 | 
												
													
														
															|  |                     msg += "(错误代码:" + response.getStatusCode() + ",错误信息:" + response.getBody() + ")";
 |  | 
 | 
												
													
														
															|  |                 }
 |  | 
 | 
												
													
														
															|  |                 logger.info(msg);
 |  | 
 | 
												
													
														
															|  |                 return false;
 |  | 
 | 
												
													
														
															|  |             }
 |  | 
 | 
												
													
														
															|  |         } catch (Exception e) {
 |  | 
 | 
												
													
														
															|  |             logger.info("上传病人档案异常,patient_id:" + patient.getPatientId() + ",event_no:" + patient.getEventNo());
 |  | 
 | 
												
													
														
															|  |             logger.error(e.getCause().toString());
 |  | 
 | 
												
													
														
															|  |             return false;
 |  | 
 | 
												
													
														
															|  |         }
 |  | 
 | 
												
													
														
															|  |     }
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |     /**
 |  | 
 | 
												
													
														
															|  |      * 下载标准包
 |  | 
 | 
												
													
														
															|  |      */
 |  | 
 | 
												
													
														
															|  |     public static HTTPResponse download(String remoteVersion, String orgCode) {
 |  | 
 | 
												
													
														
															|  |         try {
 |  | 
 | 
												
													
														
															|  |             String token = getToken();
 |  | 
 | 
												
													
														
															|  |             String downLoadMethod = defaultHttpUrl + "/adaptions/" + orgCode + "/source";
 |  | 
 | 
												
													
														
															|  |             Map<String, String> params = new HashMap<>();
 |  | 
 | 
												
													
														
															|  |             params.put("version_code", remoteVersion);
 |  | 
 | 
												
													
														
															|  |             params.put("org_code", orgCode);
 |  | 
 | 
												
													
														
															|  |             params.put("token", token);
 |  | 
 | 
												
													
														
															|  |             Map<String, String> header = new HashMap<>();
 |  | 
 | 
												
													
														
															|  |             header.put("Authorization", "Basic " + clientKey);
 |  | 
 | 
												
													
														
															|  |             HTTPResponse response = HttpClientKit.get(downLoadMethod, params, header);
 |  | 
 | 
												
													
														
															|  |             return response;
 |  | 
 | 
												
													
														
															|  |         } catch (Exception e) {
 |  | 
 | 
												
													
														
															|  |             logger.info("下载标准包异常:");
 |  | 
 | 
												
													
														
															|  |             logger.error(e.getCause().toString());
 |  | 
 | 
												
													
														
															|  |             return null;
 |  | 
 | 
												
													
														
															|  |         }
 |  | 
 | 
												
													
														
															|  |     }
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | }
 |  | 
 |