lishuai
2023-12-26 70577a6d6cf2bded29e71dcad11a0c2605193d20
server/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
@@ -1,13 +1,26 @@
package com.doumee.core.haikang.model;
import com.alibaba.fastjson.JSONObject;
import com.doumee.config.SpringContextUtil;
import com.doumee.core.utils.Constants;
import com.doumee.dao.business.model.InterfaceLog;
import com.doumee.service.business.InterfaceLogService;
import com.hikvision.artemis.sdk.ArtemisHttpUtil;
import com.hikvision.artemis.sdk.config.ArtemisConfig;
import lombok.extern.slf4j.Slf4j;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
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;
@@ -20,9 +33,40 @@
//   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(interfaceLogService !=null){
         InterfaceLog hkMonitoryLogDO=new InterfaceLog();
         hkMonitoryLogDO.setType(0);
         hkMonitoryLogDO.setCreateDate(new Date());
         hkMonitoryLogDO.setIsdeleted(0);
         hkMonitoryLogDO.setRequest(s);
         hkMonitoryLogDO.setRepose(result);
         hkMonitoryLogDO.setName(path.get(HKConstants.https));
         hkMonitoryLogDO.setUrl(HKConstants.https + ArtemisConfig.host+path.get(HKConstants.https));
         interfaceLogService.create(hkMonitoryLogDO);
      }
   }
   private static Map<String, String> getPath(String str) {
      final String getCamsApi = HKConstants.ARTEMIS_PATH  + str;
      Map<String, String> path = new HashMap<String, String>(2) {
@@ -40,8 +84,10 @@
   public static String getRootOrg() {
      Map<String, String> path = getPath(HKConstants.InterfacePath.rootOrg);
      String result = ArtemisHttpUtil.doPostStringArtemis(path, "", null, null, "application/json", null);// post请求application/json类型参数
      saveInterfaceLog("",result,path);
      return  result;
   }
   /**
    * 更新组织信息
@@ -51,6 +97,7 @@
   public static String editOrg(String body) {
      Map<String, String> path = getPath(HKConstants.InterfacePath.editOrg);
      String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
      saveInterfaceLog(body,result,path);
      return  result;
   }
@@ -62,6 +109,7 @@
   public static String addBatchOrg(String body) {
      Map<String, String> path = getPath(HKConstants.InterfacePath.addBatchOrg);
      String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
      saveInterfaceLog(body,result,path);
      return  result;
   }
   /**
@@ -72,6 +120,7 @@
   public static String delOrg(String body) {
      Map<String, String> path = getPath(HKConstants.InterfacePath.delBatchOrg);
      String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
      saveInterfaceLog(body,result,path);
      return  result;
   }
@@ -83,6 +132,7 @@
   public static String addUser(String body) {
      Map<String, String> path = getPath(HKConstants.InterfacePath.addUser);
      String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
      saveInterfaceLog(body,result,path);
      return  result;
   }
@@ -95,6 +145,7 @@
   public static String addBatchUser(String body) {
      Map<String, String> path = getPath(HKConstants.InterfacePath.addBatchUser);
      String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
      saveInterfaceLog(body,result,path);
      return  result;
   }
@@ -106,6 +157,7 @@
   public static String delBatchUser(String body) {
      Map<String, String> path = getPath(HKConstants.InterfacePath.delBatchUser);
      String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
      saveInterfaceLog(body,result,path);
      return  result;
   }
@@ -117,6 +169,7 @@
   public static String editUser(String body) {
      Map<String, String> path = getPath(HKConstants.InterfacePath.editUser);
      String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
      saveInterfaceLog(body,result,path);
      return  result;
   }
   /**
@@ -127,6 +180,7 @@
   public static String addFace(String body) {
      Map<String, String> path = getPath(HKConstants.InterfacePath.addFace);
      String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
      saveInterfaceLog(body,result,path);
      return  result;
   }
   /**
@@ -137,6 +191,7 @@
   public static String editFace(String body) {
      Map<String, String> path = getPath(HKConstants.InterfacePath.editFace);
      String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
      saveInterfaceLog(body,result,path);
      return  result;
   }
   /**
@@ -147,6 +202,7 @@
   public static String delFace(String body) {
      Map<String, String> path = getPath(HKConstants.InterfacePath.delFace);
      String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
      saveInterfaceLog(body,result,path);
      return  result;
   }
   /**
@@ -157,6 +213,7 @@
   public static String parkList(String body) {
      Map<String, String> path = getPath(HKConstants.InterfacePath.getParkList);
      String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
      saveInterfaceLog(body,result,path);
      return  result;
   }
   /**
@@ -167,6 +224,7 @@
   public static String entranceList(String body) {
      Map<String, String> path = getPath(HKConstants.InterfacePath.getEntranceList);
      String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
      saveInterfaceLog(body,result,path);
      return  result;
   }
   /**
@@ -177,6 +235,7 @@
   public static String parkAddition(String body) {
      Map<String, String> path = getPath(HKConstants.InterfacePath.parkAddition);
      String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
      saveInterfaceLog(body,result,path);
      return  result;
   }
   /**
@@ -187,6 +246,7 @@
   public static String parkDeletion(String body) {
      Map<String, String> path = getPath(HKConstants.InterfacePath.parkDeletion);
      String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
      saveInterfaceLog(body,result,path);
      return  result;
   }
   /**
@@ -197,6 +257,7 @@
   public static String carChargeAddtion(String body) {
      Map<String, String> path = getPath(HKConstants.InterfacePath.carChargeAddtion);
      String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
      saveInterfaceLog(body,result,path);
      return  result;
   }
   /**
@@ -207,6 +268,7 @@
   public static String carChargeDeletion(String body) {
      Map<String, String> path = getPath(HKConstants.InterfacePath.carChargeDeletion);
      String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
      saveInterfaceLog(body,result,path);
      return  result;
   }
@@ -230,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
@@ -237,6 +364,7 @@
   public static String acsDeviceList(String body) {
      Map<String, String> path = getPath(HKConstants.InterfacePath.acsDeviceList);
      String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
      saveInterfaceLog(body,result,path);
      return  result;
   }
   /**
@@ -247,6 +375,7 @@
   public static String acsDeviceTimeRangeList(String body) {
      Map<String, String> path = getPath(HKConstants.InterfacePath.acsDeviceList);
      String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
      saveInterfaceLog(body,result,path);
      return  result;
   }
   /**
@@ -257,6 +386,7 @@
   public static String visitAppiontment(String body) {
      Map<String, String> path = getPath(HKConstants.InterfacePath.visitAppiontment);
      String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
      saveInterfaceLog(body,result,path);
      return  result;
   }
   /**
@@ -267,6 +397,7 @@
   public static String visitAppiontmentMDJ(String body) {
      Map<String, String> path = getPath(HKConstants.InterfacePath.visitAppiontmentMDJ);
      String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
      saveInterfaceLog(body,result,path);
      return  result;
   }
@@ -278,6 +409,18 @@
   public static String visitCancel(String body) {
      Map<String, String> path = getPath(HKConstants.InterfacePath.visitCancel);
      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 visitOut(String body) {
      Map<String, String> path = getPath(HKConstants.InterfacePath.visitOut);
      String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
      saveInterfaceLog(body,result,path);
      return  result;
   }
   /**
@@ -288,23 +431,98 @@
   public static String privilegeGroup(String body) {
      Map<String, String> path = getPath(HKConstants.InterfacePath.privilegeGroup);
      String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, "application/json", null);// post请求application/json类型参数
      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 eventSub(String body) {
      Map<String, String> path = getPath(HKConstants.InterfacePath.eventSub);
      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 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;
   }
}