lishuai
2023-12-26 70577a6d6cf2bded29e71dcad11a0c2605193d20
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
@@ -13,8 +13,14 @@
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.net.HttpURLConnection;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URL;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
@@ -26,21 +32,38 @@
//   private static final Logger logger = LoggerFactory.getLogger(HKUtil.class);
   public static void main(String[] args) throws ParseException {
   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);
      }
      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.setIsdeleted(0);
         hkMonitoryLogDO.setRequest(s);
         hkMonitoryLogDO.setRemark(result);
         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);
      }
   }
@@ -269,6 +292,71 @@
      }
   }
   /**
    * 获取访客记录中的图片
    * @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
    */
   public static String doorSearch(String body) {
      Map<String, String> path = getPath(HKConstants.InterfacePath.doorSearch);
      String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
      saveInterfaceLog(body,result,path);
      return  result;
   }
   /**
    *   获取门禁设备列表
    * @param body
    * @return
@@ -357,21 +445,84 @@
      saveInterfaceLog(body,result,path);
      return  result;
   }
   /**
     * 传入Data类型日期,返回字符串类型时间(ISO8601标准时间)
     * @param date
     * @return
     */
    public static String getISO8601Timestamp(Date date){
        TimeZone tz = TimeZone.getTimeZone("Asia/Shanghai");
        //TimeZone tz = TimeZone.getTimeZone("GMT-01");
        DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
        df.setTimeZone(tz);
        String nowAsISO = df.format(date);
        return nowAsISO;
    }
    *   取消事件订阅
    * @param body
    * @return
    */
   public static String cancelEventSub(String body) {
      Map<String, String> path = getPath(HKConstants.InterfacePath.cancelEventSub);
      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 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("-", ""));
      String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", header);// post请求application/json类型参数
      saveInterfaceLog(body,result,path);
      return  result;
   }
}