Преглед изворни кода

Merge branch 'dev' of http://192.168.1.220:10080/Amoy2/wlyy2.0 into dev

LAPTOP-KB9HII50\70708 пре 2 година
родитељ
комит
43799ed643

+ 34 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/endpoint/statistics/OpenStatisticsEndpoint.java

@ -712,6 +712,40 @@ public class OpenStatisticsEndpoint extends EnvelopRestEndpoint {
        }
        }
    }
    }
    @GetMapping(value = "electricityTable")
    @ApiOperation(value = "获取电表信息")
    public ObjEnvelop findElectricityTable(@ApiParam(name = "queryDate",value = "查询时间",required = true)
                                           @RequestParam(value = "queryDate",required = true)String queryDate,
                                           @ApiParam(name = "name",value = "居民名字",required = false)
                                           @RequestParam(value = "name",required = false)String name){
        try {
            return success(statisticsService.electricityTable(queryDate, name));
        } catch (Exception e) {
            e.printStackTrace();
            return failedObjEnvelopException2(e);
        }
    }
    @GetMapping(value = "PopBasicInfo")
    public Envelop PopBasicInfo(){
        try {
            statisticsService.PopBasicInfo();
            return success("成功");
        } catch (Exception e) {
            e.printStackTrace();
            return failedObjEnvelopException2(e);
        }
    }
}
}

+ 63 - 2
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/statistics/StatisticsService.java

@ -8,8 +8,7 @@ import com.yihu.jw.care.dao.message.BaseServiceNewsDao;
import com.yihu.jw.care.dao.security.EmergencyWarnDoctorResponseDao;
import com.yihu.jw.care.dao.security.EmergencyWarnDoctorResponseDao;
import com.yihu.jw.care.service.patient.CarePatientService;
import com.yihu.jw.care.service.patient.CarePatientService;
import com.yihu.jw.care.service.role.RoleService;
import com.yihu.jw.care.service.role.RoleService;
import com.yihu.jw.care.util.CommonUtil;
import com.yihu.jw.care.util.ConstantUtil;
import com.yihu.jw.care.util.*;
import com.yihu.jw.care.vo.NumVo;
import com.yihu.jw.care.vo.NumVo;
import com.yihu.jw.dict.dao.DictHospitalDeptDao;
import com.yihu.jw.dict.dao.DictHospitalDeptDao;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
import com.yihu.jw.doctor.dao.BaseDoctorDao;
@ -30,6 +29,7 @@ import com.yihu.jw.patient.dao.BasePatientDao;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.util.common.IdCardUtil;
import com.yihu.jw.util.common.IdCardUtil;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.util.date.DateUtil;
import com.yihu.jw.util.wechat.wxhttp.HttpUtil;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.Logger;
@ -4026,4 +4026,65 @@ public class StatisticsService {
    public JSONObject electricityTable(String name,String date) throws Exception {
        String A =  "{\"code\":\"0\",\"msg\":\"\",\"uniqueCode\":null,\"exception\":null,\"data\":[{\"statDate\":\"2022-05-31\",\"address\":\"中山北园XX-X-701\",\"name\":\"陈一\",\"upperLimit\":\"-0.*****\",\"lowerLimit\":\"0.****915\",\"consNo\":\"3306010XXX774\",\"home\":\"正常\"}]}";
        String url = "https://sql.hz.gov.cn/ESBWeb/servlets/33.1111.zjhz.8YvIYFO4kn.SynReq@1.0";
       // Map<String, String> params = new HashMap<>();
       // params.put("queryDate",date);
        JSONObject result = new JSONObject();
        JSONObject resultObj = JSONObject.parseObject(A);
        result.put("up",null);
        result.put("down",null);
        result.put("home",null);
       /* JSONObject param = new JSONObject();
        param.put("queryDate",date);
        HttpEntity<JSONObject> response = httpClientUtil.assesTokenPostHttp(url, param, HttpMethod.POST);
        //String resultStr = HttpClientUtilCare.httpPost(url, params);
        JSONObject responseBody = response.getBody();
        System.out.println("返回参数"+responseBody);
        logger.info("请求返回参数: " + responseBody);
        JSONObject resultObj = JSONObject.parseObject(resultStr);*/
        logger.info("类型转换JsonObject:" + resultObj);
        JSONArray resultArr = (JSONArray) resultObj.get("data");
        logger.info("类型转换JsonArray: " + resultArr);
        for (Object o : resultArr) {
            JSONObject jsonObject = JSONObject.parseObject(o.toString());
            System.out.println(jsonObject);
            if (name.equals(jsonObject.get("name"))) {
                result.put("up", jsonObject.get("upperLimit"));
                result.put("down", jsonObject.get("lowerLimit"));
                result.put("home", jsonObject.get("home"));
            }
        }
        return result;
    }
    static String appkey = "ecaldyg1yghy406upowxojgbefgu4p3y";  // app key
    static String requstSecret = "l2ez31hr4ifqyb2hdrvmuku3l5s4wilw"; // app密钥
    String requestTime = DSLUtils.dateToLong(new Date()) + "";
    private HttpUtil httpUtil = new  HttpUtil();
    public String PopBasicInfo() {
        Map<String, String> params = new HashMap<String, String>();
        String url = "http://172.18.95.14:8775/interface/public/service/risen-inte/reTokenBySec.action";
        String sign = MD5Utils.encoderByMd5(appkey + requstSecret + requestTime);
        params.put("appKey", appkey);
        params.put("sign", sign);
        params.put("requestTime", requestTime);
        JSONObject resultObj = HttpToolUtil.httpURLConnection_sendPost(url, params);
        System.out.println(resultObj.toString());
        return resultObj.toString();
    }
}
}

+ 52 - 23
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/service/statistics/WlyygcStatisticsService.java

@ -864,10 +864,20 @@ public class WlyygcStatisticsService {
        List<Integer> integers = jdbcTemplate.queryForList(totalList, Integer.class);
        List<Integer> integers = jdbcTemplate.queryForList(totalList, Integer.class);
        res.put("oldTotal",integers.get(0));
        res.put("oldTotal",integers.get(0));
        //照护老人总数
        //照护老人总数
        String zhTotalList = "SELECT COUNT(id) FROM base_patient where archive_type = 1 AND del = 1 AND id NOT IN(SELECT DISTINCT dict_code from wlyy_hospital_sys_dict WHERE  dict_name = 'jkzl_older'  and dict_code is not null) ";
        //String zhTotalList = "SELECT COUNT(id) FROM base_patient where archive_type = 1 AND del = 1 AND id NOT IN(SELECT DISTINCT dict_code from wlyy_hospital_sys_dict WHERE  dict_name = 'jkzl_older'  and dict_code is not null) ";
        String zhTotalList = " SELECT ((SELECT COUNT(distinct p.id) FROM base_patient p  WHERE p.sign_status = 1 AND p.del = 1 " +
                "              and p.id not in (SELECT dict_code FROM `base`.`wlyy_hospital_sys_dict` WHERE `dict_name` = 'jkzl_older' or dict_name='jkzl_child') ) +(SELECT COUNT(distinct p.id) FROM base_patient p INNER JOIN " +
                "              wlyy_patient_device d ON p.id = d.`user` WHERE p.sign_status = 0 AND p.del = 1  AND d.del = 0 " +
                "              and p.id not in (SELECT dict_code FROM `base`.`wlyy_hospital_sys_dict` WHERE `dict_name` = 'jkzl_older' or dict_name='jkzl_child'))) total";
        //设备总数
        String deviceSql ="SELECT COUNT(id) AS total, COUNT(IF(device_type = 0,device_type,NULL)) AS jk,COUNT(IF(device_type = 1,device_type,NULL)) AS af FROM wlyy_devices where 1=1 ";
        //设备总数  随着版本更新修改逻辑
        //String deviceSql ="SELECT COUNT(id) AS total, COUNT(IF(device_type = 0,device_type,NULL)) AS jk,COUNT(IF(device_type = 1,device_type,NULL)) AS af FROM wlyy_devices where 1=1 ";
        String healthEquipmentSql = "SELECT COUNT(1) FROM wlyy_patient_device WHERE del = 0 AND (category_code = 1 OR category_code = 2)";   //健康设备
        Integer healthEquipmentNum = jdbcTemplate.queryForObject(healthEquipmentSql, Integer.class);
        String securityEquipmentSql = "SELECT COUNT(1) FROM wlyy_patient_device WHERE del = 0 AND category_code > 2";   //安防设备
        Integer securityEquipmentNum = jdbcTemplate.queryForObject(securityEquipmentSql, Integer.class);
        //医疗机构
        //医疗机构
        //养老机构
        //养老机构
        //日照中心
        //日照中心
@ -875,12 +885,17 @@ public class WlyygcStatisticsService {
        //助老员
        //助老员
        //医护人员
        //医护人员
        //社工
        //社工
        String zlSql = "SELECT COUNT(IF(doctor_level = 1,doctor_level,null)) AS yh,COUNT(IF(doctor_level = 2,doctor_level,null)) AS sg,COUNT(IF(doctor_level = 4,doctor_level,null)) AS zly FROM base_doctor WHERE id NOT IN(SELECT DISTINCT dict_code from wlyy_hospital_sys_dict WHERE (dict_name = 'jkzl_user' or dict_name = 'jkzl_helper') and dict_code is not null) ";
        //String zlSql = "SELECT COUNT(IF(doctor_level = 1,doctor_level,null)) AS yh,COUNT(IF(doctor_level = 2,doctor_level,null)) AS sg,COUNT(IF(doctor_level = 4,doctor_level,null)) AS zly FROM base_doctor WHERE id NOT IN(SELECT DISTINCT dict_code from wlyy_hospital_sys_dict WHERE (dict_name = 'jkzl_user' or dict_name = 'jkzl_helper') and dict_code is not null) ";
        String zlSql = "SELECT COUNT(a.id) total,a.doctor_level " +
                "   from base_doctor a,base_doctor_hospital h where a.id=h.doctor_code and a.del = '1' and h.del = '1'" +
                "   and a.doctor_level is not null and h.org_code not in ( " +
                "   SELECT dict_code from wlyy_hospital_sys_dict WHERE dict_name = 'jkzl_org' " +
                "   ) GROUP BY a.doctor_level;";
        if (StringUtils.isNotBlank(endDate)) {
        if (StringUtils.isNotBlank(endDate)) {
            zhTotalList += " and create_time <= '"+endDate+"'";
            orgSql += " and create_time <= '"+endDate+"'";
            zlSql += " and create_time <= '"+endDate+"'";
            //zhTotalList += " and create_time <= '"+endDate+"'";
            //orgSql += " and create_time <= '"+endDate+"'";
            //zlSql += " and create_time <= '"+endDate+"'";
        }
        }
        integers = jdbcTemplate.queryForList(zhTotalList,Integer.class);
        integers = jdbcTemplate.queryForList(zhTotalList,Integer.class);
@ -888,10 +903,10 @@ public class WlyygcStatisticsService {
        //照护率
        //照护率
        res.put("zh_rate", (Float.parseFloat(res.get("zh_oldTotal").toString()) / Float.parseFloat(res.get("oldTotal").toString()) * 100) + "%");
        res.put("zh_rate", (Float.parseFloat(res.get("zh_oldTotal").toString()) / Float.parseFloat(res.get("oldTotal").toString()) * 100) + "%");
        List<Map<String, Object>> deviceList = jdbcTemplate.queryForList(deviceSql);
        res.put("deviceTotal",deviceList.get(0).get("total"));
        res.put("deviceJkTotal",deviceList.get(0).get("jk"));
        res.put("deviceAfTotal",deviceList.get(0).get("af"));
        //List<Map<String, Object>> deviceList = jdbcTemplate.queryForList(deviceSql);
        res.put("deviceTotal",healthEquipmentNum+securityEquipmentNum);
        res.put("deviceJkTotal",healthEquipmentNum);
        res.put("deviceAfTotal",securityEquipmentNum);
        List<Map<String, Object>> orgList = jdbcTemplate.queryForList(orgSql);
        List<Map<String, Object>> orgList = jdbcTemplate.queryForList(orgSql);
        res.put("yanglao",orgList.get(0).get("yangl"));
        res.put("yanglao",orgList.get(0).get("yangl"));
@ -899,9 +914,20 @@ public class WlyygcStatisticsService {
        res.put("rz",orgList.get(0).get("rz"));
        res.put("rz",orgList.get(0).get("rz"));
        List<Map<String, Object>> maps = jdbcTemplate.queryForList(zlSql);
        List<Map<String, Object>> maps = jdbcTemplate.queryForList(zlSql);
        res.put("yh",maps.get(0).get("yh"));
        res.put("sg",maps.get(0).get("sg"));
        res.put("zly",maps.get(0).get("zly"));
        for (Map<String, Object> map : maps) {
            switch (Integer.parseInt(map.get("doctor_level").toString())){
                case 1 :
                    res.put("yh",Integer.parseInt(map.get("total").toString()));
                    break;
                case 2 :
                    res.put("sg",Integer.parseInt(map.get("total").toString()));
                    break;
                case 4 :
                    res.put("zly",Integer.parseInt(map.get("total").toString()));
                    break;
            }
        }
        //指标
        //指标
        JSONArray jsonArray = statisticsService.cloudCareForTheElderly(endDate, defalutArea, defalutLevel);
        JSONArray jsonArray = statisticsService.cloudCareForTheElderly(endDate, defalutArea, defalutLevel);
        res.put("label",jsonArray);
        res.put("label",jsonArray);
@ -985,15 +1011,18 @@ public class WlyygcStatisticsService {
                    " where sr.id = r.sign_id and sr.status=1 and r.service_package_id = i.service_package_id and r.service_package_id = pack.id " +
                    " where sr.id = r.sign_id and sr.status=1 and r.service_package_id = i.service_package_id and r.service_package_id = pack.id " +
                    " and i.del = 1  and sr.`status`=1 and CONVERT(sr.patient USING utf8)  = a.id and r.team_code='"+teamId+"' ) "+filter;
                    " and i.del = 1  and sr.`status`=1 and CONVERT(sr.patient USING utf8)  = a.id and r.team_code='"+teamId+"' ) "+filter;
            */
            */
            sql = "SELECT count( DISTINCT a.id ) FROM base_patient a LEFT JOIN  base_service_package_record pr ON pr.patient = a.id " +
                    " LEFT JOIN base_service_package_sign_record sr ON sr.id = pr.sign_id " +
                    " WHERE " +
                    " a.archive_type = 1 " +
                    " AND a.del = '1' " +
                    " AND a.sign_status = 1 " +
                    " AND pr.team_code = '"+teamId+"' " +
                    " AND sr.`status` = 1 ";
            count =  jdbcTemplate.queryForObject(sql+filter,Integer.class);
            sql = " select sum(total) from ( " +
                    "SELECT count(distinct a.id) total from base_patient a  WHERE a.archive_type = 1 and a.sign_status=1 and a.del = '1' " +
                    "and EXISTS ( select 1 from " +
                    "base_service_package_sign_record sr,base_service_package_record r, base_service_package_item i,base_service_package pack  " +
                    "where sr.id = r.sign_id and sr.status=1 and r.service_package_id = i.service_package_id and r.service_package_id = pack.id  " +
                    "and i.del = 1  and sr.`status`=1 and CONVERT(sr.patient USING utf8)  = a.id and r.team_code='"+teamId+"') " +filter+
                    " UNION ALL " +
                    "SELECT count(distinct a.id) total from base_patient a where a.archive_type = 1 and a.sign_status=0 and register='1' and a.del = '1' and a.saas_id='"+teamId+"' " +
                    "and EXISTS (select 1 from wlyy_patient_device pd where pd.user = a.id and pd.del=0) " + filter+
                    " )A ";
            count =  jdbcTemplate.queryForObject(sql,Integer.class);
            //count =  jdbcTemplate.queryForObject(sql+filter,Integer.class);
            map.put("oldTotal",count);//照护老人数量
            map.put("oldTotal",count);//照护老人数量
        }
        }
        return  teamList;
        return  teamList;

+ 75 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/util/DSLUtils.java

@ -0,0 +1,75 @@
package com.yihu.jw.care.util;
import java.text.SimpleDateFormat;
import java.util.Date;
/**   杭州第三方接口 工具类
 * Data、String、Long三种日期类型之间的相互转换
 * @ClassName: DSLUtils
 * @Description: TODO
 * @author:  yuhl
 * @date: Jul 10, 2017 6:00:45 PM
 */
public class DSLUtils {
	
	// date类型转换为String类型  
    // formatType格式为yyyy-MM-dd HH:mm:ss//yyyy年MM月dd日 HH时mm分ss秒  
    // data Date类型的时间  
    public static String dateToString(Date data, String formatType) {  
        return new SimpleDateFormat(formatType).format(data);  
    }  
   
    // long类型转换为String类型  
    // currentTime要转换的long类型的时间  
    // formatType要转换的string类型的时间格式  
    public static String longToString(long currentTime, String formatType)  
            throws Exception {  
        Date date = longToDate(currentTime, formatType); // long类型转成Date类型  
        String strTime = dateToString(date, formatType); // date类型转成String  
        return strTime;  
    }  
   
    // string类型转换为date类型  
    // strTime要转换的string类型的时间,formatType要转换的格式yyyy-MM-dd HH:mm:ss//yyyy年MM月dd日  
    // HH时mm分ss秒,  
    // strTime的时间格式必须要与formatType的时间格式相同  
    public static Date stringToDate(String strTime, String formatType)  
            throws Exception {  
        SimpleDateFormat formatter = new SimpleDateFormat(formatType);  
        Date date = null;  
        date = formatter.parse(strTime);  
        return date;  
    }  
   
    // long转换为Date类型  
    // currentTime要转换的long类型的时间  
    // formatType要转换的时间格式yyyy-MM-dd HH:mm:ss//yyyy年MM月dd日 HH时mm分ss秒  
    public static Date longToDate(long currentTime, String formatType)  
            throws Exception {  
        Date dateOld = new Date(currentTime); // 根据long类型的毫秒数生命一个date类型的时间  
        String sDateTime = dateToString(dateOld, formatType); // 把date类型的时间转换为string  
        Date date = stringToDate(sDateTime, formatType); // 把String类型转换为Date类型  
        return date;  
    }  
   
    // string类型转换为long类型  
    // strTime要转换的String类型的时间  
    // formatType时间格式  
    // strTime的时间格式和formatType的时间格式必须相同  
    public static long stringToLong(String strTime, String formatType)  
            throws Exception {  
        Date date = stringToDate(strTime, formatType); // String类型转成date类型  
        if (date == null) {  
            return 0;  
        } else {  
            long currentTime = dateToLong(date); // date类型转成long类型  
            return currentTime;  
        }  
    }  
   
    // date类型转换为long类型  
    // date要转换的date类型的时间  
    public static long dateToLong(Date date) {  
        return date.getTime();  
    }  
}

+ 204 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/util/HttpToolUtil.java

@ -0,0 +1,204 @@
package com.yihu.jw.care.util;
import com.alibaba.fastjson.JSON;
import javax.net.ssl.*;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import java.security.SecureRandom;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.Map;
// 杭州第三方接口 工具类
public class HttpToolUtil {
	/**
	 * 发送post请求
	 * @Title HttpToolUtil.java
	 * @auther gaoyang
	 * @Descrption
	 * @DATE Sep 2, 2018 1:26:36 AM
	 * @param urlStr
	 * @param paramMap
	 * @return JSONObject
	 */
	public static com.alibaba.fastjson.JSONObject httpURLConnection_sendPost(String urlStr, Map paramMap) {
		return httpURLConnection_sendPost(urlStr, paramMap, "application/x-www-form-urlencoded");
	}
	/**
	 * 发送post请求
	 * @Title HttpToolUtil.java
	 * @auther gaoyang
	 * @Descrption
	 * @DATE Sep 2, 2018 1:26:36 AM
	 * @param urlStr
	 * @param paramMap
	 * @return JSONObject
	 */
	public static com.alibaba.fastjson.JSONObject httpURLConnection_sendPost(String urlStr, Map paramMap, String ContentType) {
		System.out.println(urlStr);
		com.alibaba.fastjson.JSONObject result = new com.alibaba.fastjson.JSONObject();
		result.put("code", 200);
		result.put("msg", null);
		OutputStream out = null;
		DataOutputStream dataOutputStream = null;
		InputStream in = null;
		ByteArrayOutputStream baos = null;
		try {
			// 开启HTTPS证书信任,否则请求不了HTTPS的接口,编办有个接口是这样  @author lilin 2020-11-09
			if (urlStr.startsWith("https")){
				SSLContext sslcontext = SSLContext.getInstance("SSL");
				TrustManager[] tm = {new MyX509TrustManager()};
				sslcontext.init(null, tm, new SecureRandom());
				HostnameVerifier ignoreHostnameVerifier = new HostnameVerifier() {
					@Override
					public boolean verify(String s, SSLSession sslsession) {
						System.out.println("WARNING: Hostname is not matched for cert.");
						return true;
					}
				};
				HttpsURLConnection.setDefaultHostnameVerifier(ignoreHostnameVerifier);
				HttpsURLConnection.setDefaultSSLSocketFactory(sslcontext.getSocketFactory());
			}
			URL url = new URL(urlStr);
			URLConnection urlConnection = url.openConnection();
			// 将url 以 open方法返回的urlConnection  连接强转为HttpURLConnection连接  (标识一个url所引用的远程对象连接)
			HttpURLConnection connection = (HttpURLConnection) url.openConnection();// 此时cnnection只是为一个连接对象,待连接中
			// 设置连接输出流为true,默认false (post 请求是以流的方式隐式的传递参数)
			connection.setDoOutput(true);
			// 设置连接输入流为true
			connection.setDoInput(true);
			// 设置请求方式为post
			connection.setRequestMethod("POST");
			// post请求缓存设为false
			connection.setUseCaches(false);
			// 设置该HttpURLConnection实例是否自动执行重定向
			connection.setInstanceFollowRedirects(true);
			// 设置请求头里面的各个属性 (以下为设置内容的类型,设置为经过urlEncoded编码过的from参数)
			// application/x-javascript text/xml->xml数据 application/x-javascript->json对象 application/x-www-form-urlencoded->表单数据
			connection.setRequestProperty("Content-Type", ContentType);
			// 建立连接 (请求未开始,直到connection.getInputStream()方法调用时才发起,以上各个参数设置需在此方法之前进行)
			connection.connect();
			// 建立输入流,向指向的URL传入参数
			String queryString = "";
			if (paramMap != null) {
				for (Object e : paramMap.entrySet()) {
					Map.Entry<String, Object> entry = (Map.Entry<String, Object>) e;
					queryString += entry.getKey() + "=" + URLEncoder.encode(entry.getValue().toString(), "UTF-8") + "&";
				}
			}
			System.out.println("httpURLConnection_sendPost参数:" + queryString);
			if (queryString.length() > 0) {
				queryString = queryString.substring(0, queryString.length() - 1);
				out = connection.getOutputStream();
				dataOutputStream = new DataOutputStream(out);
				dataOutputStream.writeBytes(queryString);
				System.out.println("httpURLConnection_sendPost接收参数:" + connection.getOutputStream());
				dataOutputStream.flush();
				out.flush();
			}
			// 获得响应状态
			int responseCode = connection.getResponseCode();
			baos = new ByteArrayOutputStream();
			byte[] buffer = new byte[1024];
			int len = 0;
			in = connection.getInputStream();
			while ((len = in.read(buffer)) != -1) {
				baos.write(buffer, 0, len);
				baos.flush();
			}
			if (HttpURLConnection.HTTP_OK == responseCode) {
				try {
					result.putAll(JSON.parseObject(baos.toString("UTF-8")));
				} catch (RuntimeException e) {
					result.put("data", baos.toString("UTF-8"));
					result.put("dataCount", 1);
					result.put("msg", "请求成功");
				}
			} else {
				result.put("code", responseCode);
				result.put("msg", "源接口访问异常:" + baos.toString("UTF-8"));
			}
		} catch (Exception e) {
			result.put("code", 500);
			result.put("msg", "源接口访问异常:" + e.getClass() + "->" + e.getMessage());
		} finally {
			if (baos != null) {
				try {
					baos.close();
				} catch (IOException e) {
					result.put("code", 500);
					result.put("msg", "源接口访问异常:" + e.getClass() + "->" + e.getMessage());
				}
			}
			if (in != null) {
				try {
					in.close();
				} catch (IOException e) {
					result.put("code", 500);
					result.put("msg", "源接口访问异常:" + e.getClass() + "->" + e.getMessage());
				}
			}
			if (dataOutputStream != null) {
				try {
					dataOutputStream.close();
				} catch (IOException e) {
					result.put("code", 500);
					result.put("msg", "源接口访问异常:" + e.getClass() + "->" + e.getMessage());
				}
			}
			if (out != null) {
				try {
					out.close();
				} catch (IOException e) {
					result.put("code", 500);
					result.put("msg", "源接口访问异常:" + e.getClass() + "->" + e.getMessage());
				}
			}
		}
		System.out.println("httpURLConnection_sendPost执行结果:" + result);
		return result;
	}
	/**
	 * 空实现即可
	 * 跳过https的证书验证
	 * @author lilin
	 * @date 2020-12-09
	 */
	static class MyX509TrustManager implements X509TrustManager{
		@Override
		public void checkClientTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {
		}
		@Override
		public void checkServerTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException {
		}
		@Override
		public X509Certificate[] getAcceptedIssuers() {
			return new X509Certificate[0];
		}
	}
}

+ 43 - 0
svr/svr-cloud-care/src/main/java/com/yihu/jw/care/util/MD5Utils.java

@ -0,0 +1,43 @@
package com.yihu.jw.care.util;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
//杭州第三方接口 工具类
public class MD5Utils {
	
    /**利用MD5进行加密
    *
    * @param plainText
    *            明文
    * @return 32位密文
    */
   public static String encoderByMd5(String plainText) {
       String re_md5 = new String();
       try {
           MessageDigest md = MessageDigest.getInstance("MD5");
           md.update(plainText.getBytes());
           byte b[] = md.digest();
           int i;
           StringBuffer buf = new StringBuffer("");
           for (int offset = 0; offset < b.length; offset++) {
               i = b[offset];
               if (i < 0)
                   i += 256;
               if (i < 16)
                   buf.append("0");
               buf.append(Integer.toHexString(i));
           }
           re_md5 = buf.toString();
       } catch (NoSuchAlgorithmException e) {
           e.printStackTrace();
       }
       return re_md5;
   }
   
}