| 
					
				 | 
			
			
				@ -1,6 +1,5 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				package com.yihu.jw.care.service.hz; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.JSONArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.care.dao.device.BaseHzInterfaceDictDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.care.util.DSLUtils; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -9,13 +8,6 @@ import com.yihu.jw.care.util.MD5Utils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.util.baseHzInterfaceDictEntity; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.util.date.DateUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.util.http.HttpClientUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.commons.httpclient.Header; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.commons.httpclient.HttpClient; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.commons.httpclient.methods.PostMethod; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.commons.httpclient.methods.multipart.Part; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.commons.httpclient.params.HttpMethodParams; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.commons.io.IOUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.slf4j.Logger; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.slf4j.LoggerFactory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -27,7 +19,11 @@ import org.springframework.jdbc.core.JdbcTemplate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.net.URLEncoder; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.io.BufferedReader; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.io.DataOutputStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.io.InputStreamReader; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.net.HttpURLConnection; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.net.URL; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.Date; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.HashMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.Map; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -51,31 +47,24 @@ public class HzInterfaceService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private HttpClientUtil httpClientUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public JSONObject electricityTable(String name,String date) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String cityApi = getAreaApi(date); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject jsonObject = JSONObject.parseObject(cityApi); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONArray dataArr = jsonObject.getJSONArray("data"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        for (Object o : dataArr) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject jsonObject = getAreaApi(date); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        System.out.println(jsonObject.toJSONString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        /*for (Object o : dataArr) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //JSONObject.parseObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private String getAreaApi(String date) throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseHzInterfaceDictEntity dbkey = DBKEY(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private JSONObject getAreaApi(String date) throws Exception{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseHzInterfaceDictEntity dbkey = requestDBKEY(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(!redisTemplate.hasKey(dbkey.getCode())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            PopBasicInfo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String privateKey = redisTemplate.opsForValue().get(dbkey.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //String privateKey = redisTemplate.opsForValue().get(dbkey.getCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //请求接口地址(政务网环境根据接口文档地址改动) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String electricityTableSql = "SELECT url FROM base_hz_interface_dict WHERE `status` = 1 AND `code` = 'zfjddjlrdbjk'"; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -87,82 +76,60 @@ public class HzInterfaceService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject json = new JSONObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        json.put("queryDate",date); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        /*json.put("sign",MD5Utils.encoderByMd5(dbkey.getAppKey()+ dbkey.getRequestSecret() + requestTime)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        json.put("requestTime",date); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        json.put("appKey",privateKey);*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        url +="?appKey="+privateKey+"&sign="+sign+"&requestTime="+date; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        url +="?appKey="+dbkey.getAppKey()+"&sign="+sign+"&requestTime="+requestTime+"&queryDate="+date; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String s = httpURLConnectionPOST(url, json); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        logger.info("自己封装的请求方式:" + s); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        HttpEntity<JSONObject> response = httpClientUtil.assesTokenPostHttp(url, json, HttpMethod.POST); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        logger.info("电表接口调用结果----> "+response); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject responseBody = response.getBody(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        logger.info("电表接口调用结果Body----> "+responseBody); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        /*String request = RSAUtils.encryptByPrivateKey(json.toJSONString(),privateKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sign = RSAUtils.sign(request,privateKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Part[] parts = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                new StringPart("request", request,"UTF-8"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                new StringPart("sign", sign,"UTF-8") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String result = post(url,parts);*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return JSONObject.parseObject(responseBody.get("data").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    //post方式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private static String post(String url, Part[] parts){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        /**导入SSL证书 [解决PKIX path building failed错误问题]**/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        initCert(url); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        HttpClient client = new HttpClient(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        PostMethod post = new PostMethod(url); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        post.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(parts != null) post.setRequestEntity(new MultipartRequestEntity(parts, post.getParams())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String response=""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //按需加载请求头参数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            post.setRequestHeader(new Header("systemDepartmentCode", URLEncoder.encode("请求部门","utf-8"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            post.setRequestHeader(new Header("areaCode", URLEncoder.encode("所在行政区域","utf-8"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            client.executeMethod(post); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            response = IOUtils.toString(post.getResponseBodyAsStream(),"UTF-8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }finally { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            post.releaseConnection(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return response; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private static void initCert(final String url){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         * 导入SSL证书 [解决PKIX path building failed错误问题] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         *    --使用[javax.net.ssl.trustStore]不能解决多域名证书问题 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         *    --建议将生成的证书文件 copy 到$JAVA_HOME/jre/lib/security目录下 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String[] c = url.replaceFirst("(http|https)://","").split("/")[0].split(":"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String host = c[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Integer port = (c.length == 1) ? 443 : Integer.parseInt(c[1]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(System.getProperty(host + "ssl_cert_path") != null) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String sslCertPath = InstallCert.createCert(host,port); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            System.out.println("证书文件生成路径--->" + sslCertPath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            System.setProperty(host + "ssl_cert_path", sslCertPath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            System.setProperty("javax.net.ssl.trustStore", sslCertPath); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }catch (Exception e){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        /****证书导入成功****/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    // 刷新密钥还存在时可以调用这个方法 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private String refreshKey(baseHzInterfaceDictEntity refreshdbkey,baseHzInterfaceDictEntity requestdbkey){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, String> params = new HashMap<String, String>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String appkey = refreshdbkey.getAppKey();   //appKey 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String requstSecret = refreshdbkey.getRefreshSecret();//刷新密钥 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String requestTime = DSLUtils.dateToLong(new Date()) + "";//时间戳 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String url = refreshdbkey.getUrl();  //请求url 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        logger.info("接口返回值:"+resultObj.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        System.out.println("接口返回值:"+resultObj.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject datasObj = JSONObject.parseObject(resultObj.get("datas").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        requestdbkey.setRequestSecret(datasObj.get("requestSecret").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        requestdbkey.setRequestSecretEndTime(DateUtil.strToDateLong(datasObj.get("requestSecretEndTime").toString())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseHzInterfaceDictDao.save(requestdbkey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        redisTemplate.opsForValue().set(requestdbkey.getCode(),resultObj.get("requestSecret").toString(),14, TimeUnit.MINUTES); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return datasObj.toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public String PopBasicInfo() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        Map<String, String> params = new HashMap<String, String>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseHzInterfaceDictEntity dbkey = DBKEY(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String appkey = dbkey.getAppKey();   //appKey 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String requstSecret = dbkey.getAppPwd();//app密钥 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseHzInterfaceDictEntity requestdbkey = requestDBKEY(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseHzInterfaceDictEntity refreshdbkey = refreshDBKEY(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        /*if(redisTemplate.hasKey(refreshdbkey.getCode())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            return refreshKey(refreshdbkey,requestdbkey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        }*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String appkey = requestdbkey.getAppKey();   //appKey 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String requstSecret = requestdbkey.getAppPwd();//app密钥 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String requestTime = DSLUtils.dateToLong(new Date()) + "";//时间戳 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String url = dbkey.getUrl();  //请求url 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String url = requestdbkey.getUrl();  //请求url 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //sign 格式:APP_KEY + APP秘钥+时间戳,经过MD5加密生成的串(字母小写) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sign = MD5Utils.encoderByMd5(appkey + requstSecret + requestTime); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -174,20 +141,77 @@ public class HzInterfaceService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        logger.info("接口返回值:"+resultObj.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        System.out.println("接口返回值:"+resultObj.toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //请求密钥 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        JSONObject datasObj = JSONObject.parseObject(resultObj.get("datas").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        dbkey.setRefreshSecret(datasObj.get("refreshSecret").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        dbkey.setRefreshSecretEndTime(DateUtil.strToDateLong(datasObj.get("refreshSecretEndTime").toString())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        dbkey.setRequestSecret(datasObj.get("requestSecret").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        dbkey.setRequestSecretEndTime(DateUtil.strToDateLong(datasObj.get("requestSecretEndTime").toString())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseHzInterfaceDictDao.save(dbkey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        requestdbkey.setRequestSecret(datasObj.get("requestSecret").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        requestdbkey.setRequestSecretEndTime(DateUtil.strToDateLong(datasObj.get("requestSecretEndTime").toString())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        //刷新密钥 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        refreshdbkey.setRefreshSecret(datasObj.get("refreshSecret").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseHzInterfaceDictDao.save(requestdbkey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        baseHzInterfaceDictDao.save(refreshdbkey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        redisTemplate.opsForValue().set(dbkey.getCode(),datasObj.get("requestSecret").toString(),14, TimeUnit.MINUTES); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        redisTemplate.opsForValue().set(requestdbkey.getCode(),datasObj.get("requestSecret").toString(),14, TimeUnit.MINUTES); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        redisTemplate.opsForValue().set(refreshdbkey.getCode(),datasObj.get("refreshSecret").toString(),47, TimeUnit.HOURS); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return resultObj.toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public baseHzInterfaceDictEntity DBKEY(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    // 请求密钥 15分钟过期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public baseHzInterfaceDictEntity requestDBKEY(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = "SELECT * FROM base_hz_interface_dict WHERE `status` = 1 AND `code` = 'dbmyhq'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<>(baseHzInterfaceDictEntity.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    // 刷新密钥 48小时过期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public baseHzInterfaceDictEntity refreshDBKEY(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        String sql = "SELECT * FROM base_hz_interface_dict WHERE `status` = 1 AND `code` = 'dbmysxhq'"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<>(baseHzInterfaceDictEntity.class)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private static String httpURLConnectionPOST(String url, JSONObject data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        StringBuffer strBf = new StringBuffer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            URL realUrl = new URL(url); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //将realUrl以 open方法返回的urlConnection  连接强转为HttpURLConnection连接  (标识一个url所引用的远程对象连接) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //此时cnnection只是为一个连接对象,待连接中 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //设置连接输出流为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参数) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            connection.setRequestProperty("Content-Type", "application/json;charset=utf-8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //建立连接 (请求未开始,直到connection.getInputStream()方法调用时才发起,以上各个参数设置需在此方法之前进行) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            connection.connect(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //创建输入输出流,用于往连接里面输出携带的参数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            DataOutputStream dataout = new DataOutputStream(connection.getOutputStream()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String query = data.toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            //将参数输出到连接 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            dataout.write(query.getBytes("UTF-8")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            // 输出完成后刷新并关闭流 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            dataout.flush(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            dataout.close(); // 关闭流 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            String lines; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            while ((lines = reader.readLine()) != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                lines = new String(lines.getBytes(), "utf-8"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                strBf.append(lines); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            reader.close(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            connection.disconnect(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return strBf.toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |