jiangping
2024-08-26 e23a1db0b60437f17d09d65c65f8fd0c8a5d88c7
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/model/HKTools.java
@@ -10,6 +10,7 @@
import com.hikvision.artemis.sdk.ArtemisHttpUtil;
import com.hikvision.artemis.sdk.config.ArtemisConfig;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.tomcat.util.bcel.Const;
@@ -60,7 +61,7 @@
   }
   public static InterfaceLogService interfaceLogService = null;
   private static void saveInterfaceLog(String s, String result,Map<String, String> path) {
   private static void saveInterfaceLog(String s, String result,Map<String, String> path,String name) {
//      InterfaceLogService bean = SpringContextUtil.getBean(InterfaceLogService.class);
      if(interfaceLogService !=null){
         InterfaceLog hkMonitoryLogDO=new InterfaceLog();
@@ -69,7 +70,7 @@
         hkMonitoryLogDO.setIsdeleted(0);
         hkMonitoryLogDO.setRequest(s);
         hkMonitoryLogDO.setRepose(result);
         hkMonitoryLogDO.setName(path.get(HKConstants.https));
         hkMonitoryLogDO.setName("【安防平台】"+name);
         hkMonitoryLogDO.setUrl(HKConstants.https + ArtemisConfig.host+path.get(HKConstants.https));
         interfaceLogService.create(hkMonitoryLogDO);
      }
@@ -237,7 +238,7 @@
    */
   public static InputStream getFaceInputStream(String body)  throws  Exception{
      Map<String, String> path = getPath(HKConstants.InterfacePath.facePicture);
      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()) {
@@ -254,7 +255,7 @@
    * @return
    */
   public static InputStream getVisitPicture(String body)  throws  Exception{
      Map<String, String> path = getPath(HKConstants.InterfacePath.visitPicture);
      Map<String, String> path = getPath(HKConstants.InterfacePath.visitPicture[0]);
      //参数根据接口实际情况设置
      HttpResponse resp = ArtemisHttpUtil.doPostStringImgArtemis( path, body, null, null,"application/json",null);
      if (200==resp.getStatusLine().getStatusCode()) {
@@ -272,7 +273,7 @@
    */
   public static InputStream getDevicePicture(String body)  throws  Exception{
      Map<String, String> path = getPath(HKConstants.InterfacePath.devicePicture);
      Map<String, String> path = getPath(HKConstants.InterfacePath.devicePicture[0]);
      //参数根据接口实际情况设置
      HttpResponse resp = ArtemisHttpUtil.doPostStringImgArtemis( path, body, null, null,"application/json",null);
      if (200==resp.getStatusLine().getStatusCode()) {
@@ -291,7 +292,7 @@
    */
   public static InputStream getCarPicture(String body)  throws  Exception{
      Map<String, String> path = getPath(HKConstants.InterfacePath.carPicture);
      Map<String, String> path = getPath(HKConstants.InterfacePath.carPicture[0]);
      //参数根据接口实际情况设置
      HttpResponse resp = ArtemisHttpUtil.doPostStringImgArtemis( path, body, null, null,"application/json",null);
      if (200==resp.getStatusLine().getStatusCode()) {
@@ -324,7 +325,7 @@
    * @return
    */
   public static String acsDeviceTimeRangeList(String body) {
      return startDoPostStringArtemis(HKConstants.InterfacePath.acsDeviceList,body);
      return startDoPostStringArtemis(HKConstants.InterfacePath.acsDeviceTimeRangeList,body);
   }
   /**
    *   访客预约
@@ -333,6 +334,22 @@
    */
   public static String visitAppiontment(String body) {
      return startDoPostStringArtemis(HKConstants.InterfacePath.visitAppiontment,body);
   }
   /**
    *   访客预约
    * @param body
    * @return
    */
   public static String iccmAppointment(String body) {
      return startDoPostStringArtemis(HKConstants.InterfacePath.iccmAppointment,body);
   }
   /**
    *   访客免登记预约
    * @param body
    * @return
    */
   public static String iccmAppointmentMDJ(String body) {
      return startDoPostStringArtemis(HKConstants.InterfacePath.iccmAppointmentMDJ,body);
   }
   /**
    *   访客免登记预约
@@ -352,12 +369,29 @@
      return  startDoPostStringArtemis(HKConstants.InterfacePath.visitCancel,body);
   }
   public static String startDoPostStringArtemis(String pathStr,String body){
      Map<String, String> path = getPath(pathStr);
   public static String startDoPostStringArtemis(String[] pathStr,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.doPostStringArtemis(path, body, null, null, "application/json", header);// post请求application/json类型参数
      saveInterfaceLog(body,result,path);
      saveInterfaceLog(body,result,path,pathStr[1]);
      return result;
   }
   public static String startDoPostStringArtemis(String[] pathStr,String param,String body ){
      Map<String, String> path = getPath(pathStr[0]+StringUtils.defaultString(param,""));
      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,pathStr[1]);
      return result;
   }
   public static String startDoPostStringArtemis(String[] pathStr,Map<String, String> querys,Map<String, String> header,String body){
      Map<String, String> path = getPath(pathStr[0]);
      header.put("tagId", UUID.randomUUID().toString().replace("-", ""));
      String result = ArtemisHttpUtil.doPostStringArtemis(path, body, querys, null, "application/json", header);// post请求application/json类型参数
      saveInterfaceLog(body,result,path,pathStr[1]);
      return result;
   }
@@ -502,6 +536,15 @@
   public static String appointmentRecords(String body) {
      return startDoPostStringArtemis(HKConstants.InterfacePath.appointmentRecords,body);
   }
   /**
    *   获取访客预约记录列表 iccm
    * @param body
    * @return
    */
   public static String iccmAppointmentRecords(String body) {
      return startDoPostStringArtemis(HKConstants.InterfacePath.iccmAppointmentRecords,body);
   }
   /**
    *   获取全量组织列表
    * @param body
@@ -583,6 +626,73 @@
   public static String acsDeviceStatus(String body) {
      return startDoPostStringArtemis(HKConstants.InterfacePath.acsDeviceStatus,body);
   }
   /**
    * 分页获取广播点
    * @param body
    * @return
    */
   public static String fetchAudioChannel(String body) {
      return startDoPostStringArtemis(HKConstants.InterfacePath.fetchAudioChannel,body);
   }
   /**
    * 分页获取广播设备列表
    * @param body
    * @return
    */
   public static String fetchAudioDevice(String body) {
      return startDoPostStringArtemis(HKConstants.InterfacePath.fetchAudioDevice,body);
   }
   /**
    * 根据设备信息获取广播点
    * @param body
    * @return
    */
   public static String fetchAudioChannelByDevice(String body) {
      return startDoPostStringArtemis(HKConstants.InterfacePath.fetchAudioChannelByDevice,body);
   }
   /**
    * 获取全部月台信息
    * @param body
    * @return
    */
   public static String platformsList(String body) {
      return startDoPostStringArtemis(HKConstants.InterfacePath.platformsList,body);
   }
   /**
    * 获取月台状态
    * @return
    */
   public static String platformStatus(String param) {
      if(StringUtils.isNotBlank(param)){
         return startDoPostStringArtemis(HKConstants.InterfacePath.platformStatus,"?platformIds="+param,null);
      }else{
         return startDoPostStringArtemis(HKConstants.InterfacePath.platformStatus,null);
      }
   }
   /**
    * 获取月台组件配置的LED设备清单
    * @param body
    * @return
    */
   public static String ledRecords(String body) {
      return startDoPostStringArtemis(HKConstants.InterfacePath.ledRecords,body);
   }
   /**
    * 用于设置广播的自定播放和停止
    * @param body
    * @return
    */
   public static String customBroadcast(String body) {
      return startDoPostStringArtemis(HKConstants.InterfacePath.customBroadcast,body);
   }
   /**
    * 发送消息给LED
    * @param body
    * @return
    */
   public static String transparentchannel(Map<String,String> header,String body) {
      return startDoPostStringArtemis(HKConstants.InterfacePath.transparentchannel,null,header,body);
   }
   /**
    * 查询场内车停车信息