nidapeng
2024-04-10 6c5d0a4a9264b7508c7ffe81b45ba239cabf2244
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
@@ -2,6 +2,8 @@
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;
@@ -13,10 +15,7 @@
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;
@@ -34,26 +33,36 @@
   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());
@@ -62,7 +71,7 @@
         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);
      }
   }
@@ -291,6 +300,61 @@
      }
   }
   /**
    * 获取访客记录中的图片
    * @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
@@ -401,8 +465,270 @@
      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;
   }
   /**
    *   增量获取组织列表
    * @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;
   }
}