浏览代码

Merge branch 'master' of huangzhanpeng/esb_huangzhanpeng into master

esb 9 年之前
父节点
当前提交
7114c4fac1

文件差异内容过多而无法显示
+ 6 - 6
Hos-Resource-Mini/src/main/java/com.yihu.ehr/controller/SystemController.java


+ 1 - 0
Hos-Resource-Mini/src/main/java/com.yihu.ehr/model/entity/adapter/AdapterDict.java

@ -34,6 +34,7 @@ public class AdapterDict extends BaseEntity {
        if (json == null || json.isNull("std_dict_item_code")) {
            return new String(INVALID_ADAPTER_DICT);
        }
        return json.getString("std_dict_item_code");
    }

+ 1 - 1
Hos-Resource-Mini/src/main/java/com.yihu.ehr/model/entity/adapter/AdapterMetaData.java

@ -65,7 +65,7 @@ public class AdapterMetaData extends BaseEntity {
                if (!json.isNull("dict_code")) {
                    stdMetaDataT.setDictCode(json.getString("dict_code"));
                }
                if (!json.isNull("dict_value_type")) {
                if (!json.isNull("dict_value_type") && json.getString("dict_value_type").length()>0) {
                    stdMetaDataT.setDictValueType(json.getInt("dict_value_type"));
                }
            }

+ 14 - 0
Hos-Resource-Mini/src/main/java/com.yihu.ehr/service/crawler/CrawlerManager.java

@ -55,6 +55,13 @@ public class CrawlerManager {
    }
    public void dataCrawlerFrequency() {
        List<JSONObject> versionList = db.query("select code from std_inner_version order by code desc");
        if(versionList==null)
        {
            LogUtil.info("标准数据还未初始化,请确认!");
            return;
        }
        String uuid = UUID.randomUUID().toString();
        Date lastCralwerTime = DateUtil.getSysDateTime();
        lastCralwerTime = DateUtil.formatYMDToYMDHMS(lastCralwerTime.toString());
@ -74,6 +81,13 @@ public class CrawlerManager {
    }
    public void dataCrawlerSupply() {
        List<JSONObject> versionList = db.query("select code from std_inner_version order by code desc");
        if(versionList==null)
        {
            LogUtil.info("标准数据还未初始化,请确认!");
            return;
        }
        List<JSONObject> jsonList = db.query("select * from crawler_supply where status != 1");
        if (!CollectionUtil.isEmpty(jsonList)) {
            for (JSONObject json : jsonList) {

+ 7 - 4
Hos-Resource-Mini/src/main/java/com.yihu.ehr/service/crawler/DataCollectDispatcher.java

@ -56,6 +56,12 @@ public class DataCollectDispatcher {
                    if (jsonObject == null) {
                        continue;
                    }
                    if (jsonObject != null && !StringUtil.isEmpty(jsonObject)) {
                        dataSetMap.put(adapterDataSet.getAdapterDataSetT().getStdDatasetCode(), adapterDataSet);
                        dataList.add(jsonObject);
                    }
                    //注册病人
                    if (SysConfig.getInstance().getRegisterDataSet().equals(adapterDataSet.getAdapterDataSetT().getStdDatasetCode())) {
                        if (!StringUtil.isEmpty(jsonObject.get("data")) && !StringUtil.isEmpty(jsonObject.get("data").get(0))) {
                            if (!StringUtil.isEmpty(jsonObject.get("data").get(0).get(SysConfig.getInstance().getRegisterIdCardNo()))) {
@ -63,10 +69,6 @@ public class DataCollectDispatcher {
                            }
                        }
                    }
                    if (jsonObject != null && !StringUtil.isEmpty(jsonObject)) {
                        dataSetMap.put(adapterDataSet.getAdapterDataSetT().getStdDatasetCode(), adapterDataSet);
                        dataList.add(jsonObject);
                    }
                }
            }
            LogUtil.info("采集病人成功,patient_id:" + patient.getPatientId() + ", event_no:" + patient.getEventNo());
@ -76,6 +78,7 @@ public class DataCollectDispatcher {
            result = false;
        }
        //上传档案
        try {
            if (!CollectionUtil.isEmpty(dataList)) {
                if (!upload(dataList, patient, dataSetMap, token)) {

+ 7 - 1
Hos-Resource-Mini/src/main/java/com.yihu.ehr/service/patient/PatientCDAUpload.java

@ -68,7 +68,13 @@ public class PatientCDAUpload {
            String filePath = patientCDAIndex.createIndex(PatientCDAIndex.IndexType.ZIP, PatientCDAIndex.FileType.ZIP);
            UUID uuidPwd = UUID.randomUUID();
            String pwd = uuidPwd.toString();
            Key key = RSA.genPublicKey(SysConfig.getInstance().getPublicKey());
            String PublicKey = SysConfig.getInstance().getPublicKey();
            if(PublicKey== null ||  PublicKey.length() == 0) {
                PublicKey = EsbHttp.getPublicKey();
                SysConfig.getInstance().setPublicKey(PublicKey);
            }
            Key key = RSA.genPublicKey(PublicKey);
            if (key == null) {
                LogUtil.fatal("压缩文件错误,获取公钥错误.");
                return null;

+ 18 - 63
Hos-Resource-Mini/src/main/java/com.yihu.ehr/service/standard/StandardManager.java

@ -1,18 +1,13 @@
package com.yihu.ehr.service.standard;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.yihu.ehr.common.config.SysConfig;
import com.yihu.ehr.common.constants.Constants;
import com.yihu.ehr.dbhelper.jdbc.DBHelper;
import com.yihu.ehr.util.compress.Zipper;
import com.yihu.ehr.util.encode.Base64;
import com.yihu.ehr.util.encrypt.RSA;
import com.yihu.ehr.util.file.FileUtil;
import com.yihu.ehr.util.httpclient.EsbHttp;
import com.yihu.ehr.util.httpclient.HttpClientUtil;
import com.yihu.ehr.util.httpclient.Response;
import com.yihu.ehr.util.log.LogUtil;
import com.yihu.ehr.util.operator.CollectionUtil;
import com.yihu.ehr.util.operator.SqlCreate;
import com.yihu.ehr.util.operator.StringUtil;
import org.dom4j.Document;
@ -28,15 +23,12 @@ public class StandardManager {
    public static String versionMethod;
    public static String downMethod;
    private static volatile StandardManager instance;
    private DBHelper db;
    private SysConfig sysConfig;
    private File[] zipFiles;
    private String localVersion;
    public StandardManager(){
        if (db == null) {
            db = new DBHelper();
        }
        sysConfig = SysConfig.getInstance();
    }
@ -75,7 +67,7 @@ public class StandardManager {
                LogUtil.warn("总支撑平台尚无可用版本进行标准升级");
                return false;
            }
            localVersion = getCurrentVersion();
            String localVersion = getCurrentVersion();
            if (StringUtil.isEmpty(localVersion)) {
                return true;
            }
@ -105,6 +97,7 @@ public class StandardManager {
                return false;
            }
            versionUpdate(encryptPwd);
            localVersion = remoteVersion;
        }
        return true;
    }
@ -115,14 +108,9 @@ public class StandardManager {
     * @return String
     */
    public synchronized String getCurrentVersion() {
        if (!StringUtil.isEmpty(localVersion)){
            return localVersion;
        }
        List<JSONObject> list = db.query("select code from std_inner_version order by code desc");
        if (!CollectionUtil.isEmpty(list)) {
            localVersion = list.get(0).getString("code");
        if (StringUtil.isEmpty(localVersion)){
            localVersion = new StandardService().getCurrentVersion();
        }
        return localVersion;
    }
@ -148,7 +136,7 @@ public class StandardManager {
            return false;
        }
        result = genData();
        result = new StandardService().genData(zipFiles);
        if (!result) {
            LogUtil.fatal("生成标准数据失败.");
            return false;
@ -165,17 +153,14 @@ public class StandardManager {
                if (re.has("password")&&re.has("url")) {
                    String encryptPwd = re.getString("password");
                    String zipContent = re.getString("url");
                    byte[] decode = Base64.decode(zipContent);
                    String downloadFilePath = SysConfig.getInstance().getTempFile() + "/" + Constants.STANDARD_ZIP;
                    boolean writeFile = FileUtil.writeFile(downloadFilePath, decode, "UTF-8");
                    if (!writeFile) {
                        LogUtil.fatal("下载标准包失败,生成本地临时文件错误.");
                        return null;
                    }
                    //boolean writeFile = FileUtil.writeFile(downloadFilePath, zipContent, "UTF-8");
                    HttpClientUtil.downLoadFile(downloadFilePath,zipContent,"","");
                    return encryptPwd;
                }
                else{
                    LogUtil.fatal("下载标准包失败");
                    LogUtil.fatal("获取标准包失败");
                    return null;
                }
            }
@ -192,7 +177,13 @@ public class StandardManager {
    private boolean unpack(String encryptPwd) {
        try {
            Key key = RSA.genPublicKey(sysConfig.getPublicKey());
            String publicKey = sysConfig.getPublicKey();
            if(publicKey==null ||publicKey.length()==0)
            {
                publicKey = EsbHttp.getPublicKey();
                sysConfig.setPublicKey(publicKey);
            }
            Key key = RSA.genPublicKey(publicKey);
            if (key == null) {
                LogUtil.fatal("解压文件错误,获取公钥错误.");
                return false;
@ -227,42 +218,6 @@ public class StandardManager {
        return true;
    }
    private boolean genData() {
        List<String> sqlList = new ArrayList<>();
        List<String> fileNameList = new ArrayList<>();
        List<String> deleteDataList = new ArrayList<>();
        for (File file : zipFiles) {
            if (!file.getName().contains("_cda")) {
                if (file.getName().contains("org_")||file.getName().contains("adapter_")
                        ||file.getName().contains("std_")) {
                    fileNameList.add(StringUtil.substring(file.getName(), 0, file.getName().indexOf(Constants.DOT)));
                }
                if (!file.getParentFile().getName().equals(Constants.CDA_FILE)) {
                    createData(file, sqlList);
                }
            }
        }
        SqlCreate sqlCreate = new SqlCreate();
        for (String fileName : fileNameList) {
            sqlCreate.setTableName(fileName);
            deleteDataList.add(sqlCreate.deleteData());
        }
        String[] deleteArray = new String[deleteDataList.size()];
        deleteDataList.toArray(deleteArray);
        String[] sqlArray = new String[sqlList.size()];
        sqlList.toArray(sqlArray);
        try {
            db.executeBatch(deleteArray);
            db = new DBHelper();
            db.executeBatch(sqlArray);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return true;
    }
    private void createData(File file, List<String> sqlList) {
        try {
            SAXReader reader = new SAXReader();

+ 189 - 0
Hos-Resource-Mini/src/main/java/com.yihu.ehr/service/standard/StandardService.java

@ -0,0 +1,189 @@
package com.yihu.ehr.service.standard;
import com.yihu.ehr.common.constants.Constants;
import com.yihu.ehr.dbhelper.jdbc.DBConfig;
import com.yihu.ehr.dbhelper.jdbc.DBHelper;
import com.yihu.ehr.util.log.LogUtil;
import com.yihu.ehr.util.operator.CollectionUtil;
import com.yihu.ehr.util.operator.SqlCreate;
import com.yihu.ehr.util.operator.StringUtil;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.json.JSONObject;
import java.io.File;
import java.sql.Connection;
import java.util.*;
/**
 * 线程取数据,不走连接池
 */
public class StandardService {
    private DBHelper db = new DBHelper();
    /**
     * 获取当前自版本号
     */
    public synchronized String getCurrentVersion() {
        try {
            String localVersion = "";
            List<JSONObject> list = db.query("select code from std_inner_version order by code desc");
            if (!CollectionUtil.isEmpty(list)) {
                localVersion = list.get(0).getString("code");
            }
            return localVersion;
        }
        catch (Exception e)
        {
            LogUtil.error(e);
            return "";
        }
    }
    /**
     * 读取标准数据
     */
    public synchronized boolean genData(File[] zipFiles) {
        List<String> sqlList = new ArrayList<>();
        List<String> fileNameList = new ArrayList<>();
        List<String> deleteDataList = new ArrayList<>();
        for (File file : zipFiles) {
            if (!file.getName().contains("_cda")) {
                if (file.getName().contains("org_")||file.getName().contains("adapter_")
                        ||file.getName().contains("std_")) {
                    fileNameList.add(StringUtil.substring(file.getName(), 0, file.getName().indexOf(Constants.DOT)));
                }
                if (!file.getParentFile().getName().equals(Constants.CDA_FILE)) {
                    createData(file, sqlList);
                }
            }
        }
        SqlCreate sqlCreate = new SqlCreate();
        for (String fileName : fileNameList) {
            sqlCreate.setTableName(fileName);
            deleteDataList.add(sqlCreate.deleteData());
        }
        String[] deleteArray = new String[deleteDataList.size()];
        deleteDataList.toArray(deleteArray);
        String[] sqlArray = new String[sqlList.size()];
        sqlList.toArray(sqlArray);
        try {
            db.executeBatch(deleteArray);
            db = new DBHelper();
            db.executeBatch(sqlArray);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return true;
    }
    private void createData(File file, List<String> sqlList) {
        try {
            SAXReader reader = new SAXReader();
            Document doc = reader.read(file);
            Element root = doc.getRootElement();
            String tableName = root.attributeValue("name");
            if (tableName == null) {
                throw new Exception("错误的标准格式,无表名信息.");
            }
            Element metadata = root.element("metadata");
            if (metadata == null) {
                throw new Exception("错误的标准格式,无表字段信息.");
            }
            HashMap<String, String> colMap = getColMetaData(metadata);
            for (Iterator rowIterator = root.elementIterator("row"); rowIterator.hasNext();) {
                SqlCreate sqlCreate = new SqlCreate();
                sqlCreate.setTableName(tableName);
                Element rowElement = (Element) rowIterator.next();
                createDataSql(rowElement, colMap, sqlList, sqlCreate);
            }
        } catch (Exception e) {
            LogUtil.fatal("生成标准表异常:");
            LogUtil.error(e);
        }
    }
    private HashMap<String, String> getColMetaData(Element rowElem) {
        HashMap<String, String> hashMap = new HashMap<>();
        for (Iterator colIterator = rowElem.elementIterator(); colIterator.hasNext(); ) {
            Element colElement = (Element) colIterator.next();
            String name = colElement.attributeValue("name");
            String type = colElement.attributeValue("type");
            hashMap.put(name, type);
        }
        return hashMap;
    }
    private void createDataSql(Element rowElement, HashMap<String, String> colMap, List<String> sqlList, SqlCreate sqlCreate) {
        if (rowElement == null) {
            return;
        }
        Map<String, String> keyValueMap = new HashMap<>();
        List<String> itemList = new ArrayList<>();
        List<String> itemValueList = new ArrayList<>();
        for (Iterator colIterator = rowElement.elementIterator(); colIterator.hasNext(); ) {
            Element colElement = (Element) colIterator.next();
            if (colElement.getText().equals("")) {
                continue;
            }
            String key = colElement.getName();
            itemList.add(key);
            String type = colMap.get(key);
            if (type == null) {
                LogUtil.fatal("createDataSql无效的类型.");
            }
            String value;
            switch (type) {
                case "N":
                    value = colElement.getText();
                    break;
                case "S":
                    value = "'" + colElement.getText().replace("'","''") + "'";
                    break;
                case "D":
                    value = "'" + colElement.getText() + "'";
                    break;
                default:
                    value = colElement.getText();
            }
            itemValueList.add(value);
            keyValueMap.put(key, value);
            if (key.equals(Constants.TABLE_KEY)) {
                sqlCreate.setTableKey(value);
            }
        }
        sqlCreate.setItemList(itemList);
        sqlCreate.setItemValueList(itemValueList);
        sqlCreate.setKeyValueMap(keyValueMap);
        if (Constants.ADD_TYPE.equals(rowElement.attributeValue("type"))) {
            sqlList.add(sqlCreate.insertData());
        } else if (Constants.UPDATE_TYPE.equals(rowElement.attributeValue("type"))) {
            sqlList.add(sqlCreate.updateDataByTableKey());
            if (sqlCreate.isToAdapter() && sqlCreate.isCodeOrValue()) {
                sqlList.add(sqlCreate.updateAdapterData());
            }
        } else if (Constants.DELETE_TYPE.equals(rowElement.attributeValue("type"))) {
            sqlList.add(sqlCreate.deleteDataByTableKey());
            if (sqlCreate.isToAdapter()) {
                sqlList.add(sqlCreate.deleteAdapterData());
            }
            if (sqlCreate.isToAdapterDataset()) {
                sqlList.add(sqlCreate.deleteAdapterOriginData());
            }
        }
    }
}

+ 1 - 5
Hos-Resource-Mini/src/main/java/com.yihu.ehr/service/thread/CrawlerSupplyThread.java

@ -12,11 +12,7 @@ public class CrawlerSupplyThread implements Runnable {
        while (ThreadManage.crawlerSupplyIsRunning) {
            try {
                LogUtil.info("补采线程开始");
                if (StandardManager.getInstance().isDataInit()) {
                    CrawlerManager.getInstance().dataCrawlerSupply();
                } else {
                    LogUtil.info("标准数据还未初始化,请确认!");
                }
                CrawlerManager.getInstance().dataCrawlerSupply();
                LogUtil.info("补采线程结束");
                sleep();
            } catch (InterruptedException e) {

+ 4 - 6
Hos-Resource-Mini/src/main/java/com.yihu.ehr/service/thread/CrawlerThread.java

@ -1,6 +1,7 @@
package com.yihu.ehr.service.thread;
import com.yihu.ehr.common.config.ThreadConfig;
import com.yihu.ehr.dbhelper.jdbc.DBConfig;
import com.yihu.ehr.dbhelper.jdbc.DBHelper;
import com.yihu.ehr.service.crawler.CrawlerManager;
import com.yihu.ehr.service.standard.StandardManager;
@ -8,16 +9,14 @@ import com.yihu.ehr.util.log.LogUtil;
public class CrawlerThread implements Runnable {
    DBHelper db = new DBHelper(Thread.currentThread().getName(), DBConfig.get("defaultUri"));
    @Override
    public void run() {
        while (ThreadManage.crawlerIsRunning) {
            try {
                LogUtil.info("采集线程开始");
                if (StandardManager.getInstance().isDataInit()) {
                    CrawlerManager.getInstance().dataCrawlerFrequency();
                } else {
                    LogUtil.info("标准数据还未初始化,请确认!");
                }
                CrawlerManager.getInstance().dataCrawlerFrequency();
                LogUtil.info("采集线程结束");
                sleep();
            } catch (InterruptedException e) {
@ -40,7 +39,6 @@ public class CrawlerThread implements Runnable {
    private void sleep() throws Exception {
        if (ThreadConfig.CRAWLER_THREAD_SLEEP_TIME == 0) {
            DBHelper db = new DBHelper();
            Object obj = db.scalar("select param_value from system_param where param_key='INTERVAL'");
            if(obj!=null) {
                ThreadConfig.CRAWLER_THREAD_SLEEP_TIME = Integer.parseInt(obj.toString());

+ 1 - 0
Hos-Resource-Mini/src/main/java/com.yihu.ehr/service/thread/StandardUpdateThread.java

@ -2,6 +2,7 @@ package com.yihu.ehr.service.thread;
import com.yihu.ehr.common.config.SysConfig;
import com.yihu.ehr.common.config.ThreadConfig;
import com.yihu.ehr.dbhelper.jdbc.DBConfig;
import com.yihu.ehr.dbhelper.jdbc.DBHelper;
import com.yihu.ehr.service.standard.StandardManager;
import com.yihu.ehr.util.log.LogUtil;

+ 38 - 25
Hos-Resource-Mini/src/main/java/com.yihu.ehr/util/httpclient/EsbHttp.java

@ -226,34 +226,47 @@ public class EsbHttp {
     */
    public static Boolean register(Patient patient, String data, String token) {
        try {
            String idCord = patient.getIdCard();
            if(StringUtil.isEmpty(idCord))
            JSONObject json = new JSONObject(data);
            String colName = SysConfig.registerIdCardNo;
            if(json!=null && json.has("data"))
            {
                LogUtil.info("注册病人信息请求失败:病人无身份证,patient_id=" + patient.getPatientId() + ", event_no=" + patient.getEventNo());
                return false;
            }
            String registerMethod = HttpHelper.defaultHttpUrl + "/patients/"+idCord;
            if (StringUtil.isEmpty(data)) {
                LogUtil.info("注册病人信息请求失败:无具体病人信息,patient_id=" + patient.getPatientId() + ", event_no=" + patient.getEventNo());
                return false;
            }
            Map<String, Object> paramMap = new HashMap<>();
            paramMap.put("demographic_id", idCord);
            paramMap.put("json", data);
            paramMap.put("token", token);
            Response response = HttpHelper.post(registerMethod, paramMap);
                JSONObject p = (JSONObject)json.getJSONArray("data").get(0);
                if(!p.has(colName) || p.get(colName).equals(null) || p.getString(colName).length()==0)
                {
                    LogUtil.info("注册病人信息请求失败:身份证号码为空,patient_id=" + patient.getPatientId() + ", event_no=" + patient.getEventNo());
                    return false;
                }
                else{
                    String idCord = p.getString(colName);
                    String registerMethod = HttpHelper.defaultHttpUrl + "/patients/"+idCord;
                    if (StringUtil.isEmpty(data)) {
                        LogUtil.info("注册病人信息请求失败:无具体病人信息,patient_id=" + patient.getPatientId() + ", event_no=" + patient.getEventNo());
                        return false;
                    }
                    Map<String, Object> paramMap = new HashMap<>();
                    paramMap.put("demographic_id", idCord);
                    paramMap.put("json", data);
                    paramMap.put("token", token);
                    Response response = HttpHelper.post(registerMethod, paramMap);
                    if (response != null && response.getStatusCode() == HttpStatus.SC_OK) {
                        LogUtil.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()+")";
                        }
                        LogUtil.info(msg);
                        return false;
                    }
                }
            if (response != null && response.getStatusCode() == HttpStatus.SC_OK) {
                LogUtil.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()+")";
                }
                LogUtil.info(msg);
                LogUtil.info("注册病人信息请求失败:传入数据无效,patient_id=" + patient.getPatientId() + ", event_no=" + patient.getEventNo());
                return false;
            }
        }
@ -269,7 +282,7 @@ public class EsbHttp {
     */
    public static boolean upload(Patient patient, File file, String encryptPwd, String token) {
        try {
            String uploadMethod = HttpHelper.defaultHttpUrl + "/json_package";
            String uploadMethod = HttpHelper.defaultHttpUrl + "/packages";
            String fileMd5= MD5.getMd5ByFile(file);
            Map<String, Object> paramMap = new HashMap<>();
            List<NameValuePair> formParams = new ArrayList<>();

+ 8 - 19
Hos-Resource-Mini/src/main/java/com.yihu.ehr/util/httpclient/HttpClientUtil.java

@ -199,13 +199,6 @@ public class HttpClientUtil {
    /**
     * 发送File
     *
     * @param filePath 文件路径
     * @param params   参数
     * @param url      http路径
     * @param username
     * @param password
     * @return
     */
    public static File downLoadFileByBase64(String filePath, Map<String, Object> params, String url, String username, String password) {
        File file = null;
@ -264,25 +257,21 @@ public class HttpClientUtil {
        return file;
    }
    public static File downLoadFile(String filePath, Map<String, Object> params, String url, String username, String password) {
    /**
     * 下载文件
     */
    public static File downLoadFile(String filePath, String url, String username, String password) {
        File file = null;
        CloseableHttpResponse response = null;
        List<BasicNameValuePair> jsonParams = new ArrayList<>();
        CloseableHttpClient httpclient = getCloseableHttpClient(null);
        try {
            HttpPost httpPost = new HttpPost(url);
            HttpGet httpGet = new HttpGet(url);
            //设置请求信息
            RequestConfig requestConfig = RequestConfig.custom().
                    setAuthenticationEnabled(true).build();
            //设置参数
            List<NameValuePair> formparams = new ArrayList<NameValuePair>();
            for (Map.Entry<String, Object> entry : params.entrySet()) {
                formparams.add(new BasicNameValuePair(entry.getKey(), String.valueOf(entry.getValue())));
            }
            UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams, Consts.UTF_8);
            httpPost.setEntity(entity);
            httpPost.setConfig(requestConfig);
            if (!StringUtils.isEmpty(username) && !StringUtils.isEmpty(password)) {
                //需要验证
                HttpClientContext context = HttpClientContext.create();
@ -291,9 +280,9 @@ public class HttpClientUtil {
                credsProvider.setCredentials(new org.apache.http.auth.AuthScope(org.apache.http.auth.AuthScope.ANY_HOST, org.apache.http.auth.AuthScope.ANY_PORT),
                        new org.apache.http.auth.UsernamePasswordCredentials(username, password));
                context.setCredentialsProvider(credsProvider);
                response = httpclient.execute(httpPost, context);
                response = httpclient.execute(httpGet, context);
            } else {
                response = httpclient.execute(httpPost);
                response = httpclient.execute(httpGet);
            }
            HttpEntity httpEntity = response.getEntity();
            InputStream is = httpEntity.getContent();