jiangping
2024-10-09 bfd87d12adb1d511334cd91cf6c7ff3608fae8b9
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
@@ -1,10 +1,8 @@
package com.doumee.core.haikang.model;
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 com.hikvision.artemis.sdk.ArtemisHttpUtil;
@@ -13,18 +11,14 @@
import org.apache.commons.lang3.StringUtils;
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.*;
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;
import java.util.*;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
@Slf4j
@@ -79,9 +73,9 @@
   private static Map<String, String> getPath(String str) {
      final String getCamsApi = HKConstants.ARTEMIS_PATH  + str;
      Map<String, String> path = new HashMap<String, String>(2) {
         {
            put(HKConstants.https, getCamsApi);// 根据现场环境部署确认是http还是https
         }
      {
         put(HKConstants.https, getCamsApi);// 根据现场环境部署确认是http还是https
      }
      };
      return  path;
   }
@@ -240,14 +234,26 @@
      Map<String, String> path = getPath(HKConstants.InterfacePath.facePicture[0]);
      //参数根据接口实际情况设置
      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("人脸下载出错");
      log.error("=========================ArtemisConfig.host***********************************"+ ArtemisConfig.host);
      log.error("=========================ArtemisConfig.key********************************"+ArtemisConfig.appKey);
      try {
         log.error("-------------------------ArtemisConfig.host***********************************"+ ArtemisConfig.host);
         log.error("-------------------------ArtemisConfig.key********************************"+ArtemisConfig.appKey);
         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{
            log.error("人脸下载出错");
            throw  new Exception("人脸下载出错");
         }
      }catch (Exception e){
         e.printStackTrace();
      }
      log.error("+++++++++++++++++++++++++ArtemisConfig.host***********************************"+ ArtemisConfig.host);
      log.error("+++++++++++++++++++++++++ArtemisConfig.key********************************"+ArtemisConfig.appKey);
      return  null;
   }
   /**
    * 获取访客记录中的图片
@@ -369,6 +375,15 @@
      return  startDoPostStringArtemis(HKConstants.InterfacePath.visitCancel,body);
   }
   public static String startDoGetStringArtemis(String[] pathStr,Map<String,String> body ){
      Map<String, String> path = getPath(pathStr[0]);
      Map<String, String> header = new HashMap<>();
      header.put("tagId", UUID.randomUUID().toString().replace("-", ""));
      String result = ArtemisHttpUtil.doGetArtemis(path, body, null,  "application/json", header);// post请求application/json类型参数
      saveInterfaceLog(JSONObject.toJSONString(body),result,path,pathStr[1]);
      return result;
   }
   public static String startDoPostStringArtemis(String[] pathStr,String body ){
      Map<String, String> path = getPath(pathStr[0]);
      Map<String, String> header = new HashMap<>();
@@ -529,6 +544,14 @@
   }
   /**
    *   获取全量组织信息
    * @param body
    * @return
    */
   public static String orgAllList(String body) {
      return startDoPostStringArtemis(HKConstants.InterfacePath.orgAllList,body);
   }
   /**
    *   获取访客预约记录列表
    * @param body
    * @return
@@ -546,12 +569,71 @@
      return startDoPostStringArtemis(HKConstants.InterfacePath.iccmAppointmentRecords,body);
   }
   /**
    *   获取全量组织列表
    *   根据微信公众号信息获取AccessToken
    * @return
    */
   public static String wxAccessToken(String configId,String tagId) {
      String[] wxAccessToken= HKConstants.InterfacePath.wxAccessToken;
      wxAccessToken[0] = HKConstants.InterfacePath.wxAccessToken+"?tagId="+tagId+"&configId"+configId;
      return startDoPostStringArtemis(wxAccessToken,"");
   }
   /**
    *   根据配置微信公众号编号查询微信公众号信息
    * @param body
    * @return
    */
   public static String orgAllList(String body) {
      return startDoPostStringArtemis(HKConstants.InterfacePath.orgAllList,body);
   public static String getWxConfig(Map<String,String>  body) {
      return startDoGetStringArtemis(HKConstants.InterfacePath.getWxConfig,body);
   }
   /**
    *   根据配置微信公众号编号查询微信公众号信息
    * @param body
    * @return
    */
   public static String nhEventPageList(Map<String,String> body) {
      return startDoGetStringArtemis(HKConstants.InterfacePath.nhEventPageList,body);
   }
   /**
    *   查询消防设备部件状态
    * @param body
    * @return
    */
   public static String fireDeviceStatusSearch(String body) {
      return startDoPostStringArtemis(HKConstants.InterfacePath.fireDeviceStatusSearch,body);
   }
   /**
    * 分页查询消防传感器部件状态
    * @param body
    * @return
    */
   public static String sensorStatusSearch(String body) {
      return startDoPostStringArtemis(HKConstants.InterfacePath.sensorStatusSearch,body);
   }
   /**
    * 分页查询设备下的所有报警记录
    * @param body
    * @return
    */
   public static String findDeviceAlarmPage(String body) {
      return startDoPostStringArtemis(HKConstants.InterfacePath.findDeviceAlarmPage,body);
   }
   /**
    *   询消防设备列表
    * @param body
    * @return
    */
   public static String fireChannelSearch(String body) {
      return startDoPostStringArtemis(HKConstants.InterfacePath.fireChannelSearch,body);
   }
   /**
    *   询消防设备列表
    * @param body
    * @return
    */
   public static String fireDeviceSearch(String body) {
      return startDoPostStringArtemis(HKConstants.InterfacePath.fireDeviceSearch,body);
   }
   /**
    *   获取全量用户列表
@@ -720,4 +802,9 @@
      return startDoPostStringArtemis(HKConstants.InterfacePath.applyST,body);
   }
   public static String getMenuUrl(String menuId, String token) {
      String url = HKConstants.InterfacePath.goMenuUrl[0];
      url = url.replace("${menuId}", menuId).replace("${token}",token);
      return  url;
   }
}