|  |  | 
 |  |  |  | 
 |  |  | import com.alibaba.fastjson.JSONObject; | 
 |  |  | import com.doumee.config.SpringContextUtil; | 
 |  |  | import com.doumee.core.haikang.model.param.request.CarPictureRequest; | 
 |  |  | import com.doumee.core.haikang.service.HKService; | 
 |  |  | import com.doumee.core.utils.Constants; | 
 |  |  | import com.doumee.dao.business.model.InterfaceLog; | 
 |  |  | import com.doumee.service.business.InterfaceLogService; | 
 |  |  | 
 |  |  | import org.apache.tomcat.util.bcel.Const; | 
 |  |  | import org.yaml.snakeyaml.scanner.Constant; | 
 |  |  |  | 
 |  |  | import java.io.BufferedReader; | 
 |  |  | import java.io.IOException; | 
 |  |  | import java.io.InputStream; | 
 |  |  | import java.io.InputStreamReader; | 
 |  |  | import java.io.*; | 
 |  |  | import java.net.HttpURLConnection; | 
 |  |  | import java.net.InetSocketAddress; | 
 |  |  | import java.net.Proxy; | 
 |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |    public static void main(String[] args) throws Exception { | 
 |  |  | //         Proxy proxy = new Proxy(Proxy.Type.DIRECT, new InetSocketAddress("127.0.0.1",Integer.valueOf("1080"))); | 
 |  |  |          URL realUrl = new URL("https://10.50.60.253/artemis/api/eventService/v1/eventSubscriptionByEventTypes"); | 
 |  |  |          HttpURLConnection con = (HttpURLConnection) realUrl.openConnection(); | 
 |  |  |       con.setRequestMethod("GET"); | 
 |  |  | //      con.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:57.0) ;Gecko/20100101 Firefox/57.0"); | 
 |  |  |       BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); | 
 |  |  |       String inputLine; | 
 |  |  |       StringBuffer content = new StringBuffer(); | 
 |  |  |       while ((inputLine = in.readLine()) != null) { | 
 |  |  |          content.append(inputLine); | 
 |  |  |       ArtemisConfig.host = "10.50.60.253"; | 
 |  |  |       ArtemisConfig.appKey = "27786546"; | 
 |  |  |       ArtemisConfig.appSecret = "kC5dohxU7CvEqgGhVt4R"; | 
 |  |  |       HKConstants.https = "https://"; | 
 |  |  |       CarPictureRequest param = new CarPictureRequest(); | 
 |  |  |       param.setPicUri( "HKIMG=/pic?0dd400=4c40ip-feo831-933*9o4=3=2109*2l0001893117*0t7=6*2ps==014b*=787d*069d70361-95754d-9*l108od0b192=001"); | 
 |  |  |       param.setAswSyscode("3fa3e5e3-db3e-41ba-97fc-39c948778dfe"); | 
 |  |  |       InputStream is = HKService.getCarPicture(param); | 
 |  |  |       File imageFile = new File("D:\\visit\\111"+UUID.randomUUID().toString()+".png"); | 
 |  |  |       try { | 
 |  |  |          byte[] bytes = new byte[1024]; | 
 |  |  |          FileOutputStream outStream = new FileOutputStream(imageFile); | 
 |  |  |          int index; | 
 |  |  |          while ((index = is.read(bytes)) != -1) { | 
 |  |  |             outStream.write(bytes, 0, index); | 
 |  |  |             outStream.flush(); | 
 |  |  |          } | 
 |  |  | //            outStream = new FileOutputStream(imageFile); | 
 |  |  | //            outStream.write(bytes); | 
 |  |  |          //关闭输出流 | 
 |  |  |          outStream.close(); //写入数据 | 
 |  |  |       } catch ( Exception e) { | 
 |  |  |          throw new RuntimeException(e); | 
 |  |  |       } | 
 |  |  |       in.close(); | 
 |  |  |       con.disconnect(); | 
 |  |  |  | 
 |  |  |       System.out.println(content.toString()); | 
 |  |  |  | 
 |  |  |    } | 
 |  |  |    public static InterfaceLogService interfaceLogService = null; | 
 |  |  |    private static void saveInterfaceLog(String s, String result,Map<String, String> path) { | 
 |  |  |       InterfaceLogService bean = SpringContextUtil.getBean(InterfaceLogService.class); | 
 |  |  |       if(bean !=null){ | 
 |  |  | //      InterfaceLogService bean = SpringContextUtil.getBean(InterfaceLogService.class); | 
 |  |  |       if(interfaceLogService !=null){ | 
 |  |  |          InterfaceLog hkMonitoryLogDO=new InterfaceLog(); | 
 |  |  |          hkMonitoryLogDO.setType(0); | 
 |  |  |          hkMonitoryLogDO.setCreateDate(new Date()); | 
 |  |  | 
 |  |  |          hkMonitoryLogDO.setRepose(result); | 
 |  |  |          hkMonitoryLogDO.setName(path.get(HKConstants.https)); | 
 |  |  |          hkMonitoryLogDO.setUrl(HKConstants.https + ArtemisConfig.host+path.get(HKConstants.https)); | 
 |  |  |          bean.create(hkMonitoryLogDO); | 
 |  |  |          interfaceLogService.create(hkMonitoryLogDO); | 
 |  |  |       } | 
 |  |  |    } | 
 |  |  |  | 
 |  |  | 
 |  |  |       } | 
 |  |  |    } | 
 |  |  |    /** | 
 |  |  |     * 获取访客记录中的图片 | 
 |  |  |     * @param body | 
 |  |  |     * @return | 
 |  |  |     */ | 
 |  |  |    public static InputStream getVisitPicture(String body)  throws  Exception{ | 
 |  |  |  | 
 |  |  |       Map<String, String> path = getPath(HKConstants.InterfacePath.visitPicture); | 
 |  |  |       //参数根据接口实际情况设置 | 
 |  |  |       HttpResponse resp = ArtemisHttpUtil.doPostStringImgArtemis( path, body, null, null,"application/json",null); | 
 |  |  |       if (200==resp.getStatusLine().getStatusCode()) { | 
 |  |  |          HttpEntity entity = resp.getEntity(); | 
 |  |  |          InputStream in = entity.getContent(); | 
 |  |  |          return  in; | 
 |  |  |       }else{ | 
 |  |  |          throw  new Exception("获取访客记录中的图片下载出错"); | 
 |  |  |       } | 
 |  |  |    } | 
 |  |  |    /** | 
 |  |  |     * 获取门禁事件的图片 | 
 |  |  |     * @param body | 
 |  |  |     * @return | 
 |  |  |     */ | 
 |  |  |    public static InputStream getDevicePicture(String body)  throws  Exception{ | 
 |  |  |  | 
 |  |  |       Map<String, String> path = getPath(HKConstants.InterfacePath.devicePicture); | 
 |  |  |       //参数根据接口实际情况设置 | 
 |  |  |       HttpResponse resp = ArtemisHttpUtil.doPostStringImgArtemis( path, body, null, null,"application/json",null); | 
 |  |  |       if (200==resp.getStatusLine().getStatusCode()) { | 
 |  |  |          HttpEntity entity = resp.getEntity(); | 
 |  |  |          InputStream in = entity.getContent(); | 
 |  |  |          return  in; | 
 |  |  |       }else{ | 
 |  |  |          throw  new Exception("获取门禁事件的图片下载出错"); | 
 |  |  |       } | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |    /** | 
 |  |  |     * 查询车辆抓拍图片 | 
 |  |  |     * @param body | 
 |  |  |     * @return | 
 |  |  |     */ | 
 |  |  |    public static InputStream getCarPicture(String body)  throws  Exception{ | 
 |  |  |  | 
 |  |  |       Map<String, String> path = getPath(HKConstants.InterfacePath.carPicture); | 
 |  |  |       //参数根据接口实际情况设置 | 
 |  |  |       HttpResponse resp = ArtemisHttpUtil.doPostStringImgArtemis( path, body, null, null,"application/json",null); | 
 |  |  |       if (200==resp.getStatusLine().getStatusCode()) { | 
 |  |  |          HttpEntity entity = resp.getEntity(); | 
 |  |  |          InputStream in = entity.getContent(); | 
 |  |  |          return  in; | 
 |  |  |       }else{ | 
 |  |  |          throw  new Exception("查询车辆抓拍图片下载出错"); | 
 |  |  |       } | 
 |  |  |    } | 
 |  |  |    /** | 
 |  |  |     *   获取门禁点列表 | 
 |  |  |     * @param body | 
 |  |  |     * @return | 
 |  |  | 
 |  |  |       saveInterfaceLog(body,result,path); | 
 |  |  |       return  result; | 
 |  |  |    } | 
 |  |  |    /** | 
 |  |  |     *   创建一卡通权限下载任务 | 
 |  |  |     * @param body | 
 |  |  |     * @return | 
 |  |  |     */ | 
 |  |  |    public static String taskAddition(String body) { | 
 |  |  |       Map<String, String> path = getPath(HKConstants.InterfacePath.taskAddition); | 
 |  |  |       String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 | 
 |  |  |       saveInterfaceLog(body,result,path); | 
 |  |  |       return  result; | 
 |  |  |    } | 
 |  |  |    /** | 
 |  |  |     *   查询一卡通权限查询设备通道的人员权限下载详情总数v2 | 
 |  |  |     * @param body | 
 |  |  |     * @return | 
 |  |  |     */ | 
 |  |  |    public static String taskProgress(String body) { | 
 |  |  |       Map<String, String> path = getPath(HKConstants.InterfacePath.taskProgress); | 
 |  |  |       String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 | 
 |  |  |       saveInterfaceLog(body,result,path); | 
 |  |  |       return  result; | 
 |  |  |    } | 
 |  |  |    /** | 
 |  |  |     *   查询一卡通权限下载任务进度 | 
 |  |  |     * @param body | 
 |  |  |     * @return | 
 |  |  |     */ | 
 |  |  |    public static String taskProgressNum(String body) { | 
 |  |  |       Map<String, String> path = getPath(HKConstants.InterfacePath.taskProgressNum); | 
 |  |  |       String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 | 
 |  |  |       saveInterfaceLog(body,result,path); | 
 |  |  |       return  result; | 
 |  |  |    } | 
 |  |  |    /** | 
 |  |  |     *   一卡通权限下载任务中添加数据_根据人员与设备通道指定下载 | 
 |  |  |     * @param body | 
 |  |  |     * @return | 
 |  |  |     */ | 
 |  |  |    public static String taskDataAddition(String body) { | 
 |  |  |       Map<String, String> path = getPath(HKConstants.InterfacePath.taskDataAddition); | 
 |  |  |       String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 | 
 |  |  |       saveInterfaceLog(body,result,path); | 
 |  |  |       return  result; | 
 |  |  |    } | 
 |  |  |    /** | 
 |  |  |     *   一卡通开始下载任务 | 
 |  |  |     * @param body | 
 |  |  |     * @return | 
 |  |  |     */ | 
 |  |  |    public static String taskStart(String body) { | 
 |  |  |       Map<String, String> path = getPath(HKConstants.InterfacePath.taskStart); | 
 |  |  |       String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 | 
 |  |  |       saveInterfaceLog(body,result,path); | 
 |  |  |       return  result; | 
 |  |  |    } | 
 |  |  |    /** | 
 |  |  |     * 查询权限条目列表 | 
 |  |  |     * @param body | 
 |  |  |     * @return | 
 |  |  |     */ | 
 |  |  |    public static String authItemList(String body) { | 
 |  |  |       Map<String, String> path = getPath(HKConstants.InterfacePath.authItemList); | 
 |  |  |       Map<String, String> header = new HashMap<>(); | 
 |  |  |       header.put("tagId", UUID.randomUUID().toString().replace("-", "")); | 
 |  |  | //      header.put("tagId", "frs"); | 
 |  |  |       String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", header);// post请求application/json类型参数 | 
 |  |  |       saveInterfaceLog(body,result,path); | 
 |  |  |       return  result; | 
 |  |  |    } | 
 |  |  |    /** | 
 |  |  |     * 批量开卡 | 
 |  |  |     * @param body | 
 |  |  |     * @return | 
 |  |  |     */ | 
 |  |  |    public static String cardBingding(String body) { | 
 |  |  |       Map<String, String> path = getPath(HKConstants.InterfacePath.cardBingding); | 
 |  |  |       Map<String, String> header = new HashMap<>(); | 
 |  |  |       String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", header);// post请求application/json类型参数 | 
 |  |  |       saveInterfaceLog(body,result,path); | 
 |  |  |       return  result; | 
 |  |  |    } | 
 |  |  |    /** | 
 |  |  |     * 退卡 | 
 |  |  |     * @param body | 
 |  |  |     * @return | 
 |  |  |     */ | 
 |  |  |    public static String cardDeletion(String body) { | 
 |  |  |       Map<String, String> path = getPath(HKConstants.InterfacePath.cardDeletion); | 
 |  |  |       Map<String, String> header = new HashMap<>(); | 
 |  |  |       String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", header);// post请求application/json类型参数 | 
 |  |  |       saveInterfaceLog(body,result,path); | 
 |  |  |       return  result; | 
 |  |  |    } | 
 |  |  |    /** | 
 |  |  |     * 批量挂失 | 
 |  |  |     * @param body | 
 |  |  |     * @return | 
 |  |  |     */ | 
 |  |  |    public static String cardLoss(String body) { | 
 |  |  |       Map<String, String> path = getPath(HKConstants.InterfacePath.cardLoss); | 
 |  |  |       Map<String, String> header = new HashMap<>(); | 
 |  |  |       String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", header);// post请求application/json类型参数 | 
 |  |  |       saveInterfaceLog(body,result,path); | 
 |  |  |       return  result; | 
 |  |  |    } | 
 |  |  |    /** | 
 |  |  |     * 批量解挂 | 
 |  |  |     * @param body | 
 |  |  |     * @return | 
 |  |  |     */ | 
 |  |  |    public static String cardUnloss(String body) { | 
 |  |  |       Map<String, String> path = getPath(HKConstants.InterfacePath.cardUnloss); | 
 |  |  |       Map<String, String> header = new HashMap<>(); | 
 |  |  |       String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", header);// post请求application/json类型参数 | 
 |  |  |       saveInterfaceLog(body,result,path); | 
 |  |  |       return  result; | 
 |  |  |    } | 
 |  |  |    /** | 
 |  |  |     * 查询设备通道的人员权限下载详情 | 
 |  |  |     * @param body | 
 |  |  |     * @return | 
 |  |  |     */ | 
 |  |  |    public static String taskPersoDetail(String body) { | 
 |  |  |       Map<String, String> path = getPath(HKConstants.InterfacePath.taskPersoDetail); | 
 |  |  |       Map<String, String> header = new HashMap<>(); | 
 |  |  |       String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", header);// post请求application/json类型参数 | 
 |  |  |       saveInterfaceLog(body,result,path); | 
 |  |  |       return  result; | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |    /** | 
 |  |  |     *   获取访客预约记录列表 | 
 |  |  |     * @param body | 
 |  |  |     * @return | 
 |  |  |     */ | 
 |  |  |    public static String visitingRecords(String body) { | 
 |  |  |       Map<String, String> path = getPath(HKConstants.InterfacePath.visitingRecords); | 
 |  |  |       String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 | 
 |  |  |       saveInterfaceLog(body,result,path); | 
 |  |  |       return  result; | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |    /** | 
 |  |  |     *   获取访客预约记录列表 | 
 |  |  |     * @param body | 
 |  |  |     * @return | 
 |  |  |     */ | 
 |  |  |    public static String appointmentRecords(String body) { | 
 |  |  |       Map<String, String> path = getPath(HKConstants.InterfacePath.appointmentRecords); | 
 |  |  |       String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 | 
 |  |  |       saveInterfaceLog(body,result,path); | 
 |  |  |       return  result; | 
 |  |  |    } | 
 |  |  |    /** | 
 |  |  |     *   获取全量组织列表 | 
 |  |  |     * @param body | 
 |  |  |     * @return | 
 |  |  |     */ | 
 |  |  |    public static String orgAllList(String body) { | 
 |  |  |       Map<String, String> path = getPath(HKConstants.InterfacePath.orgAllList); | 
 |  |  |       String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 | 
 |  |  |       saveInterfaceLog(body,result,path); | 
 |  |  |       return  result; | 
 |  |  |    } | 
 |  |  |    /** | 
 |  |  |     *   获取全量用户列表 | 
 |  |  |     * @param body | 
 |  |  |     * @return | 
 |  |  |     */ | 
 |  |  |    public static String userAllList(String body) { | 
 |  |  |       Map<String, String> path = getPath(HKConstants.InterfacePath.userAllList); | 
 |  |  |       String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 | 
 |  |  |       saveInterfaceLog(body,result,path); | 
 |  |  |       return  result; | 
 |  |  |    } | 
 |  |  |    /** | 
 |  |  |     *   获取全量用户列表2(根据条件分页查询) | 
 |  |  |     * @param body | 
 |  |  |     * @return | 
 |  |  |     */ | 
 |  |  |    public static String personList(String body) { | 
 |  |  |       Map<String, String> path = getPath(HKConstants.InterfacePath.personList); | 
 |  |  |       String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 | 
 |  |  |       saveInterfaceLog(body,result,path); | 
 |  |  |       return  result; | 
 |  |  |    } | 
 |  |  |    /** | 
 |  |  |     *   增量获取组织列表 | 
 |  |  |     * @param body | 
 |  |  |     * @return | 
 |  |  |     */ | 
 |  |  |    public static String orgTimeRangeList(String body) { | 
 |  |  |       Map<String, String> path = getPath(HKConstants.InterfacePath.orgTimeRangeList); | 
 |  |  |       String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 | 
 |  |  |       saveInterfaceLog(body,result,path); | 
 |  |  |       return  result; | 
 |  |  |    } | 
 |  |  |    /** | 
 |  |  |     *   增量获取用户列表 | 
 |  |  |     * @param body | 
 |  |  |     * @return | 
 |  |  |     */ | 
 |  |  |    public static String userTimeRangeList(String body) { | 
 |  |  |       Map<String, String> path = getPath(HKConstants.InterfacePath.userTimeRangeList); | 
 |  |  |       String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 | 
 |  |  |       saveInterfaceLog(body,result,path); | 
 |  |  |       return  result; | 
 |  |  |    } | 
 |  |  |    /** | 
 |  |  |     *   增量获取车辆列表 | 
 |  |  |     * @param body | 
 |  |  |     * @return | 
 |  |  |     */ | 
 |  |  |    public static String vehicleTimeRangeList(String body) { | 
 |  |  |       Map<String, String> path = getPath(HKConstants.InterfacePath.vehicleTimeRangeList); | 
 |  |  |       String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 | 
 |  |  |       saveInterfaceLog(body,result,path); | 
 |  |  |       return  result; | 
 |  |  |    } | 
 |  |  |    /** | 
 |  |  |     *   全量获取车辆列表 | 
 |  |  |     * @param body | 
 |  |  |     * @return | 
 |  |  |     */ | 
 |  |  |    public static String vehicleList(String body) { | 
 |  |  |       Map<String, String> path = getPath(HKConstants.InterfacePath.vehicleList); | 
 |  |  |       String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 | 
 |  |  |       saveInterfaceLog(body,result,path); | 
 |  |  |       return  result; | 
 |  |  |    } | 
 |  |  |    /** | 
 |  |  |     *   停车场过车记录查询 | 
 |  |  |     * @param body | 
 |  |  |     * @return | 
 |  |  |     */ | 
 |  |  |    public static String parkCrossRecords(String body) { | 
 |  |  |       Map<String, String> path = getPath(HKConstants.InterfacePath.parkCrossRecords); | 
 |  |  |       String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 | 
 |  |  |       saveInterfaceLog(body,result,path); | 
 |  |  |       return  result; | 
 |  |  |    } | 
 |  |  |    /** | 
 |  |  |     *   停车场过车记录查询 | 
 |  |  |     * @param body | 
 |  |  |     * @return | 
 |  |  |     */ | 
 |  |  |    public static String facePictureCheck(String body) { | 
 |  |  |       Map<String, String> path = getPath(HKConstants.InterfacePath.facePictureCheck); | 
 |  |  |       String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 | 
 |  |  |       saveInterfaceLog(body,result,path); | 
 |  |  |       return  result; | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |    /** | 
 |  |  |     * 获取门禁设备在线状态 | 
 |  |  |     * @param body | 
 |  |  |     * @return | 
 |  |  |     */ | 
 |  |  |    public static String acsDeviceStatus(String body) { | 
 |  |  |       Map<String, String> path = getPath(HKConstants.InterfacePath.acsDeviceStatus); | 
 |  |  |       String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 | 
 |  |  |       saveInterfaceLog(body,result,path); | 
 |  |  |       return  result; | 
 |  |  |    } | 
 |  |  |  | 
 |  |  |    /** | 
 |  |  |     * 查询场内车停车信息 | 
 |  |  |     * @param body | 
 |  |  |     * @return | 
 |  |  |     */ | 
 |  |  |    public static String tempCarInRecords(String body) { | 
 |  |  |       Map<String, String> path = getPath(HKConstants.InterfacePath.tempCarInRecords); | 
 |  |  |       String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数 | 
 |  |  |       saveInterfaceLog(body,result,path); | 
 |  |  |       return  result; | 
 |  |  |    } | 
 |  |  |  | 
 |  |  | } |