|  | @ -0,0 +1,392 @@
 | 
	
		
			
				|  |  | package com.yihu.iot.service.monitorPlatform;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import com.alibaba.fastjson.JSON;
 | 
	
		
			
				|  |  | import com.alibaba.fastjson.JSONArray;
 | 
	
		
			
				|  |  | import com.alibaba.fastjson.JSONObject;
 | 
	
		
			
				|  |  | import com.yihu.iot.service.common.MyJdbcTemplate;
 | 
	
		
			
				|  |  | import com.yihu.iot.service.device.IotPatientDeviceService;
 | 
	
		
			
				|  |  | import com.yihu.jw.util.date.DateUtil;
 | 
	
		
			
				|  |  | import com.yihu.jw.util.http.HttpClientUtil;
 | 
	
		
			
				|  |  | import io.swagger.annotations.ApiParam;
 | 
	
		
			
				|  |  | import iot.device.LocationDataVO;
 | 
	
		
			
				|  |  | import org.apache.http.Consts;
 | 
	
		
			
				|  |  | import org.apache.http.client.utils.URLEncodedUtils;
 | 
	
		
			
				|  |  | import org.apache.http.message.BasicNameValuePair;
 | 
	
		
			
				|  |  | import org.springframework.beans.factory.annotation.Autowired;
 | 
	
		
			
				|  |  | import org.springframework.beans.factory.annotation.Value;
 | 
	
		
			
				|  |  | import org.springframework.stereotype.Service;
 | 
	
		
			
				|  |  | import org.springframework.util.StringUtils;
 | 
	
		
			
				|  |  | import org.springframework.web.bind.annotation.RequestParam;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | import java.io.IOException;
 | 
	
		
			
				|  |  | import java.text.DecimalFormat;
 | 
	
		
			
				|  |  | import java.util.*;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | /**
 | 
	
		
			
				|  |  |  * Created by yeshijie on 2020/5/11.
 | 
	
		
			
				|  |  |  */
 | 
	
		
			
				|  |  | @Service
 | 
	
		
			
				|  |  | public class MonitorPlatformService  {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @Value("${spring.wlyy.url}")
 | 
	
		
			
				|  |  |     private String wlyyUrl;
 | 
	
		
			
				|  |  |     @Value("${spring.wlyy.appid}")
 | 
	
		
			
				|  |  |     private String appid;
 | 
	
		
			
				|  |  |     @Value("${spring.wlyy.appsecret}")
 | 
	
		
			
				|  |  |     private String appSecret;
 | 
	
		
			
				|  |  |     public static Map<String,String> tokenMap = new HashMap<>();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private HttpClientUtil httpClientUtil;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private IotPatientDeviceService iotPatientDeviceService;
 | 
	
		
			
				|  |  |     @Autowired
 | 
	
		
			
				|  |  |     private MyJdbcTemplate myJdbcTemplate;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 质控情况
 | 
	
		
			
				|  |  |      * @param page
 | 
	
		
			
				|  |  |      * @param pageSize
 | 
	
		
			
				|  |  |      * @param deviceSn
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public List<JSONObject> deviceOverhaulList(Integer page,Integer pageSize,String deviceSn){
 | 
	
		
			
				|  |  |         String sql = "SELECT o.time,o.`status`,o.remark from iot_patient_device d,iot_device_overhaul o" +
 | 
	
		
			
				|  |  |                 " WHERE d.device_sn = '"+deviceSn+"' and d.id = o.patient_device_id ORDER BY o.time desc limit ?,?";
 | 
	
		
			
				|  |  |         return myJdbcTemplate.queryJson(sql.toString(),new Object[]{(page-1)*pageSize,pageSize});
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 入住情况
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public JSONObject residentUserType(){
 | 
	
		
			
				|  |  |         String sql = "SELECT IFNULL(enter_type,'0') type,COUNT(id) num from iot_company WHERE del =1 GROUP BY enter_type";
 | 
	
		
			
				|  |  |         List<JSONObject> list = myJdbcTemplate.queryJson(sql.toString(),new Object[]{});
 | 
	
		
			
				|  |  |         int total = 0;
 | 
	
		
			
				|  |  |         int manufacturer = 0;//厂商
 | 
	
		
			
				|  |  |         int supplier = 0;// 供应商
 | 
	
		
			
				|  |  |         int agent = 0;//代理商
 | 
	
		
			
				|  |  |         int platform = 0;//接入平台
 | 
	
		
			
				|  |  |         for(JSONObject json:list){
 | 
	
		
			
				|  |  |             switch (json.getString("type")){
 | 
	
		
			
				|  |  |                 case "0":
 | 
	
		
			
				|  |  |                     platform = json.getInteger("num");
 | 
	
		
			
				|  |  |                     break;
 | 
	
		
			
				|  |  |                 case "3":
 | 
	
		
			
				|  |  |                     manufacturer = json.getInteger("num");
 | 
	
		
			
				|  |  |                     break;
 | 
	
		
			
				|  |  |                 case "1":
 | 
	
		
			
				|  |  |                     supplier = json.getInteger("num");
 | 
	
		
			
				|  |  |                     break;
 | 
	
		
			
				|  |  |                 case "2":
 | 
	
		
			
				|  |  |                     agent = json.getInteger("num");
 | 
	
		
			
				|  |  |                     break;
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         total = manufacturer+supplier+agent+platform;
 | 
	
		
			
				|  |  |         JSONObject json = new JSONObject();
 | 
	
		
			
				|  |  |         json.put("total",total);
 | 
	
		
			
				|  |  |         json.put("manufacturer",manufacturer);
 | 
	
		
			
				|  |  |         json.put("supplier",supplier);
 | 
	
		
			
				|  |  |         json.put("agent",agent);
 | 
	
		
			
				|  |  |         json.put("platform",platform);
 | 
	
		
			
				|  |  |         if(total>0){
 | 
	
		
			
				|  |  |             DecimalFormat df = new DecimalFormat("0.00");
 | 
	
		
			
				|  |  |             json.put("manufacturerRange", df.format(manufacturer > 0.0 ? (manufacturer/ (total * 1.0000) * 100) : 0.0) + "%");
 | 
	
		
			
				|  |  |             json.put("supplierRange", df.format(supplier > 0.0 ? (supplier/ (total * 1.0000) * 100) : 0.0) + "%");
 | 
	
		
			
				|  |  |             json.put("agentRange", df.format(agent > 0.0 ? (agent/ (total * 1.0000) * 100) : 0.0) + "%");
 | 
	
		
			
				|  |  |             json.put("platformRange", df.format(platform > 0.0 ? (platform/ (total * 1.0000) * 100) : 0.0) + "%");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             json.put("manufacturerRange","0.0%");
 | 
	
		
			
				|  |  |             json.put("supplierRange","0.0%");
 | 
	
		
			
				|  |  |             json.put("agentRange","0.0%");
 | 
	
		
			
				|  |  |             json.put("platformRange","0.0%");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return json;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 接口调用情况
 | 
	
		
			
				|  |  |      * @param startTime
 | 
	
		
			
				|  |  |      * @param endTime
 | 
	
		
			
				|  |  |      * @param type
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public List<JSONObject> intefaceLogList(String startTime,String endTime,String type){
 | 
	
		
			
				|  |  |         String sql = "SELECT ";
 | 
	
		
			
				|  |  |         switch (type){
 | 
	
		
			
				|  |  |             case "month":
 | 
	
		
			
				|  |  |                 sql+= " date_format(time,'%m') ";
 | 
	
		
			
				|  |  |                 break;
 | 
	
		
			
				|  |  |             case "year":
 | 
	
		
			
				|  |  |                 sql+= " date_format(time,'%Y') ";
 | 
	
		
			
				|  |  |                 break;
 | 
	
		
			
				|  |  |             case "day":
 | 
	
		
			
				|  |  |                 sql+= " date_format(time,'%j') ";
 | 
	
		
			
				|  |  |                 break;
 | 
	
		
			
				|  |  |             case "week":
 | 
	
		
			
				|  |  |                 sql+= " date_format(time,'%u') ";
 | 
	
		
			
				|  |  |                 break;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         sql+= " date ,COUNT(*) num from iot_interface_log where 1=1 ";
 | 
	
		
			
				|  |  |         if(StringUtils.isEmpty(startTime)){
 | 
	
		
			
				|  |  |             sql+= " and time>='"+startTime+"'";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if(StringUtils.isEmpty(endTime)){
 | 
	
		
			
				|  |  |             sql+= " and time>='"+endTime+"'";
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         sql+=" GROUP BY date ";
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return myJdbcTemplate.queryJson(sql.toString(),new Object[]{});
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 智能设备发放
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public JSONArray smartDeviceDistribution(String type,String name){
 | 
	
		
			
				|  |  |         String url = "/wlyygc/iot_monitoring/smartDeviceDistribution";
 | 
	
		
			
				|  |  |         Map<String, Object> params = new HashMap<>();
 | 
	
		
			
				|  |  |         params.put("type",type);
 | 
	
		
			
				|  |  |         params.put("name",name);
 | 
	
		
			
				|  |  |         String response = sendGet(url,params);
 | 
	
		
			
				|  |  |         JSONObject json = JSONObject.parseObject(response);
 | 
	
		
			
				|  |  |         if(json.getInteger("status")==200){
 | 
	
		
			
				|  |  |             return json.getJSONArray("data");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return new JSONArray();
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 设备使用数据
 | 
	
		
			
				|  |  |      * @param page
 | 
	
		
			
				|  |  |      * @param pageSize
 | 
	
		
			
				|  |  |      * @param deviceSn
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public JSONArray deviceUseData(Integer page,Integer pageSize,String deviceSn){
 | 
	
		
			
				|  |  |         String url = "/wlyygc/iot_monitoring/deviceUseData";
 | 
	
		
			
				|  |  |         Map<String, Object> params = new HashMap<>();
 | 
	
		
			
				|  |  |         params.put("page",page);
 | 
	
		
			
				|  |  |         params.put("pageSize",pageSize);
 | 
	
		
			
				|  |  |         params.put("deviceSn",deviceSn);
 | 
	
		
			
				|  |  |         String response = sendGet(url,params);
 | 
	
		
			
				|  |  |         JSONObject json = JSONObject.parseObject(response);
 | 
	
		
			
				|  |  |         if(json.getInteger("status")==200){
 | 
	
		
			
				|  |  |             return json.getJSONArray("data");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return new JSONArray();
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 设备使用数据
 | 
	
		
			
				|  |  |      * @param patient
 | 
	
		
			
				|  |  |      * @param deviceSn
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public JSONObject deviceInfo(String deviceSn,String patient){
 | 
	
		
			
				|  |  |         String url = "/wlyygc/iot_monitoring/deviceInfo";
 | 
	
		
			
				|  |  |         Map<String, Object> params = new HashMap<>();
 | 
	
		
			
				|  |  |         params.put("patient",patient);
 | 
	
		
			
				|  |  |         params.put("deviceSn",deviceSn);
 | 
	
		
			
				|  |  |         String response = sendGet(url,params);
 | 
	
		
			
				|  |  |         JSONObject json = JSONObject.parseObject(response);
 | 
	
		
			
				|  |  |         if(json.getInteger("status")==200){
 | 
	
		
			
				|  |  |             return json.getJSONObject("data");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return new JSONObject();
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 设备使用情况分析
 | 
	
		
			
				|  |  |      * @param type
 | 
	
		
			
				|  |  |      * @param name
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public JSONObject deviceUsageAnalysis(String type,String name){
 | 
	
		
			
				|  |  |         String url = "/wlyygc/iot_monitoring/deviceUsageAnalysis";
 | 
	
		
			
				|  |  |         Map<String, Object> params = new HashMap<>();
 | 
	
		
			
				|  |  |         params.put("type",type);
 | 
	
		
			
				|  |  |         params.put("name",name);
 | 
	
		
			
				|  |  |         String response = sendGet(url,params);
 | 
	
		
			
				|  |  |         JSONObject json = JSONObject.parseObject(response);
 | 
	
		
			
				|  |  |         if(json.getInteger("status")==200){
 | 
	
		
			
				|  |  |             return json.getJSONObject("data");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return new JSONObject();
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 预警信息警报
 | 
	
		
			
				|  |  |      * @param page
 | 
	
		
			
				|  |  |      * @param pageSize
 | 
	
		
			
				|  |  |      * @param startTime
 | 
	
		
			
				|  |  |      * @param endTime
 | 
	
		
			
				|  |  |      * @param deviceType
 | 
	
		
			
				|  |  |      * @param area
 | 
	
		
			
				|  |  |      * @param hospital
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public JSONArray warningInformationAlarm_new(Integer page,Integer pageSize,String startTime,String endTime,
 | 
	
		
			
				|  |  |                                                   String deviceType,String area,String hospital){
 | 
	
		
			
				|  |  |         String url = "/wlyygc/iot_monitoring/warningInformationAlarm_new";
 | 
	
		
			
				|  |  |         Map<String, Object> params = new HashMap<>();
 | 
	
		
			
				|  |  |         params.put("page",page);
 | 
	
		
			
				|  |  |         params.put("pageSize",pageSize);
 | 
	
		
			
				|  |  |         params.put("startTime",startTime);
 | 
	
		
			
				|  |  |         params.put("endTime",endTime);
 | 
	
		
			
				|  |  |         params.put("deviceType",deviceType);
 | 
	
		
			
				|  |  |         params.put("area",area);
 | 
	
		
			
				|  |  |         params.put("hospital",hospital);
 | 
	
		
			
				|  |  |         String response = sendGet(url,params);
 | 
	
		
			
				|  |  |         JSONObject json = JSONObject.parseObject(response);
 | 
	
		
			
				|  |  |         if(json.getInteger("status")==200){
 | 
	
		
			
				|  |  |             return json.getJSONArray("data");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return new JSONArray();
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 预警信息警报
 | 
	
		
			
				|  |  |      * @param startTime
 | 
	
		
			
				|  |  |      * @param endTime
 | 
	
		
			
				|  |  |      * @param deviceType
 | 
	
		
			
				|  |  |      * @param area
 | 
	
		
			
				|  |  |      * @param hospital
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public JSONObject yellowAndRedRange(String startTime,String endTime,
 | 
	
		
			
				|  |  |                                                  String deviceType,String area,String hospital){
 | 
	
		
			
				|  |  |         String url = "/wlyygc/iot_monitoring/yellowAndRedRange";
 | 
	
		
			
				|  |  |         Map<String, Object> params = new HashMap<>();
 | 
	
		
			
				|  |  |         params.put("startTime",startTime);
 | 
	
		
			
				|  |  |         params.put("endTime",endTime);
 | 
	
		
			
				|  |  |         params.put("deviceType",deviceType);
 | 
	
		
			
				|  |  |         params.put("area",area);
 | 
	
		
			
				|  |  |         params.put("hospital",hospital);
 | 
	
		
			
				|  |  |         String response = sendGet(url,params);
 | 
	
		
			
				|  |  |         JSONObject json = JSONObject.parseObject(response);
 | 
	
		
			
				|  |  |         if(json.getInteger("status")==200){
 | 
	
		
			
				|  |  |             return json.getJSONObject("data");
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return new JSONObject();
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 数据筛选
 | 
	
		
			
				|  |  |      * @param name
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public JSONArray datafiltering(String name){
 | 
	
		
			
				|  |  |         String url = "/wlyygc/iot_monitoring/datafiltering";
 | 
	
		
			
				|  |  |         Map<String, Object> params = new HashMap<>();
 | 
	
		
			
				|  |  |         params.put("name",name);
 | 
	
		
			
				|  |  |         String response = sendGet(url,params);
 | 
	
		
			
				|  |  |         JSONObject json = JSONObject.parseObject(response);
 | 
	
		
			
				|  |  |         if(json.getInteger("status")==200){
 | 
	
		
			
				|  |  |             JSONArray jsonArray = json.getJSONArray("data");
 | 
	
		
			
				|  |  |             for(int i=0;i<jsonArray.size();i++){
 | 
	
		
			
				|  |  |                 JSONObject data = jsonArray.getJSONObject(i);
 | 
	
		
			
				|  |  |                 String deviceSn = data.getString("deviceSn");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                 JSONArray jsonArray1 = new JSONArray();
 | 
	
		
			
				|  |  |                 JSONObject json1 = new JSONObject();
 | 
	
		
			
				|  |  |                 json1.put("andOr","and");
 | 
	
		
			
				|  |  |                 json1.put("field","deviceSn");
 | 
	
		
			
				|  |  |                 json1.put("condition","=");
 | 
	
		
			
				|  |  |                 json1.put("value",deviceSn);
 | 
	
		
			
				|  |  |                 jsonArray1.add(json1);
 | 
	
		
			
				|  |  |                 JSONObject jsonObject = new JSONObject();
 | 
	
		
			
				|  |  |                 jsonObject.put("filter",jsonArray1);
 | 
	
		
			
				|  |  |                 jsonObject.put("page",1);
 | 
	
		
			
				|  |  |                 jsonObject.put("size",5);
 | 
	
		
			
				|  |  |                 List<LocationDataVO> list = null;
 | 
	
		
			
				|  |  |                 try {
 | 
	
		
			
				|  |  |                     list = iotPatientDeviceService.findDeviceLocationsBySn(jsonObject.toString());
 | 
	
		
			
				|  |  |                     if(list.size()>0){
 | 
	
		
			
				|  |  |                         data.put("locationData",list.get(0).getLocation());
 | 
	
		
			
				|  |  |                     }else{
 | 
	
		
			
				|  |  |                         data.put("locationData","{}");
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }catch (Exception e){
 | 
	
		
			
				|  |  |                     e.printStackTrace();
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             return jsonArray;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return new JSONArray();
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 访问i健康接口,自带登录信息
 | 
	
		
			
				|  |  |      * @param url
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     private String sendGet(String url,Map<String, Object> params){
 | 
	
		
			
				|  |  |         String response = null;
 | 
	
		
			
				|  |  |         try{
 | 
	
		
			
				|  |  |             params.put("accesstoken",getAccessToken());
 | 
	
		
			
				|  |  |             List<BasicNameValuePair> jsonParams = new ArrayList<>();
 | 
	
		
			
				|  |  |             //配置参数
 | 
	
		
			
				|  |  |             if(params!=null) {
 | 
	
		
			
				|  |  |                 for (String key : params.keySet()) {
 | 
	
		
			
				|  |  |                     if (!StringUtils.isEmpty(String.valueOf(params.get(key))) && !"null".equals( String.valueOf(params.get(key)))) {
 | 
	
		
			
				|  |  |                         jsonParams.add(new BasicNameValuePair(key, String.valueOf(params.get(key))));
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             response = httpClientUtil.get(wlyyUrl+url+"?"+ URLEncodedUtils.format(jsonParams, Consts.UTF_8),"utf-8");
 | 
	
		
			
				|  |  |         }catch (Exception e){
 | 
	
		
			
				|  |  |             e.printStackTrace();
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         return response;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 返回accessToken
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws IOException
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     private synchronized String getAccessToken(){
 | 
	
		
			
				|  |  |         String token = "";
 | 
	
		
			
				|  |  |         if(tokenMap.get("token")!=null){
 | 
	
		
			
				|  |  |             token = tokenMap.get("token");
 | 
	
		
			
				|  |  |             Long outTime = Long.valueOf(tokenMap.get("outTime"));
 | 
	
		
			
				|  |  |             if(new Date().getTime()<outTime){
 | 
	
		
			
				|  |  |                 return token;
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             Map params = new HashMap();
 | 
	
		
			
				|  |  |             params.put("appid", appid);
 | 
	
		
			
				|  |  |             params.put("appSecret", appSecret);
 | 
	
		
			
				|  |  |             String url = "/gc/accesstoken";
 | 
	
		
			
				|  |  |             String response = httpClientUtil.httpPost(wlyyUrl + url, params);
 | 
	
		
			
				|  |  |             JSONObject jsonObject = JSON.parseObject(response);
 | 
	
		
			
				|  |  |             if(jsonObject.getInteger("status")==10000){
 | 
	
		
			
				|  |  |                 String accesstoken = jsonObject.getJSONObject("result").getString("accesstoken");
 | 
	
		
			
				|  |  |                 tokenMap.put("token",accesstoken);
 | 
	
		
			
				|  |  |                 tokenMap.put("outTime", jsonObject.getJSONObject("result").getLong("outTime")+"");
 | 
	
		
			
				|  |  |                 return accesstoken;
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }catch (Exception e){
 | 
	
		
			
				|  |  |             e.printStackTrace();
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return null;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | }
 |