|  |  | 
 |  |  | import com.doumee.core.haikang.model.param.BaseResponse; | 
 |  |  | import com.doumee.core.haikang.model.param.request.*; | 
 |  |  | import com.doumee.core.haikang.model.param.respose.*; | 
 |  |  | import com.doumee.core.utils.Constants; | 
 |  |  | import com.hikvision.artemis.sdk.config.ArtemisConfig; | 
 |  |  | import lombok.extern.slf4j.Slf4j; | 
 |  |  | import org.apache.commons.lang3.ObjectUtils; | 
 |  |  | import org.apache.commons.lang3.StringUtils; | 
 |  |  | import org.slf4j.Logger; | 
 |  |  | import org.slf4j.LoggerFactory; | 
 |  |  | 
 |  |  |      */ | 
 |  |  |     public static InputStream getFaceInputStream(FacePictureRequest param) { | 
 |  |  |         log.info("【海康人脸访问图片流】================开始===="+JSONObject.toJSONString(param)); | 
 |  |  |         log.error("********************ArtemisConfig.host***********************************"+ ArtemisConfig.host); | 
 |  |  |         log.error("********************ArtemisConfig.key********************************"+ArtemisConfig.appKey); | 
 |  |  |         try { | 
 |  |  |             InputStream res = HKTools.getFaceInputStream(JSONObject.toJSONString(param)); | 
 |  |  |             log.error("【海康人脸访问图片流】================成功====\n"); | 
 |  |  | 
 |  |  |     public  static  BaseResponse   parkReservationDeletion(ParkReservationDelRequest param){ | 
 |  |  |         log.info("【海康车位取消预约】================开始===="+JSONObject.toJSONString(param)); | 
 |  |  |         try { | 
 |  |  |             String res = HKTools.carChargeDeletion(JSONObject.toJSONString(param)); | 
 |  |  |             String res = HKTools.parkDeletion(JSONObject.toJSONString(param)); | 
 |  |  |             TypeReference typeReference = | 
 |  |  |                     new TypeReference< BaseResponse>(){}; | 
 |  |  |             BaseResponse  result = JSONObject.parseObject(res, typeReference.getType()); | 
 |  |  | 
 |  |  |             TypeReference typeReference = | 
 |  |  |                     new TypeReference< BaseResponse<VisitAppointmentResponse>>(){}; | 
 |  |  |             BaseResponse<VisitAppointmentResponse>  result = JSONObject.parseObject(res, typeReference.getType()); | 
 |  |  |            logResult(result,"海康访客预约"); | 
 |  |  |             return  result; | 
 |  |  |         }catch (Exception e){ | 
 |  |  |             log.error("【海康访客预约】================失败====:\n"+ e.getMessage()); | 
 |  |  |         } | 
 |  |  |         return  null; | 
 |  |  |     } | 
 |  |  |     /** | 
 |  |  |      *访客预约 | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public  static  BaseResponse<IccmAppointmentResponse>   iccmAppointment(IccmAppointmentRequest param){ | 
 |  |  |         log.info("【海康访客预约】================开始===="+JSONObject.toJSONString(param)); | 
 |  |  |         try { | 
 |  |  |             String res = HKTools.iccmAppointment(JSONObject.toJSONString(param)); | 
 |  |  |             TypeReference typeReference = | 
 |  |  |                     new TypeReference< BaseResponse<IccmAppointmentResponse>>(){}; | 
 |  |  |             BaseResponse<IccmAppointmentResponse>  result = JSONObject.parseObject(res, typeReference.getType()); | 
 |  |  |            logResult(result,"海康访客预约"); | 
 |  |  |             return  result; | 
 |  |  |         }catch (Exception e){ | 
 |  |  | 
 |  |  |             return  result; | 
 |  |  |         }catch (Exception e){ | 
 |  |  |             log.error("【海康访客免登记预约】================失败====:\n"+ e.getMessage()); | 
 |  |  |         } | 
 |  |  |         return  null; | 
 |  |  |     } | 
 |  |  |     /** | 
 |  |  |      *访客免登记预约 | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public  static  BaseResponse<IccmAppointmentMDJResponse>   iccmAppiontmentMDJ(IccmAppointmentMDJRequest param){ | 
 |  |  |         log.info("【海康访客免登记预约】================iccm开始===="+JSONObject.toJSONString(param)); | 
 |  |  |         try { | 
 |  |  |             String res = HKTools.iccmAppointmentMDJ(JSONObject.toJSONString(param)); | 
 |  |  |             TypeReference typeReference = | 
 |  |  |                     new TypeReference< BaseResponse<IccmAppointmentMDJResponse> >(){}; | 
 |  |  |             BaseResponse<IccmAppointmentMDJResponse>   result = JSONObject.parseObject(res, typeReference.getType()); | 
 |  |  |             logResult(result,"海康访客免登记预约"); | 
 |  |  |             return  result; | 
 |  |  |         }catch (Exception e){ | 
 |  |  |             log.error("【海康访客免登记预约】================iccm失败====:\n"+ e.getMessage()); | 
 |  |  |         } | 
 |  |  |         return  null; | 
 |  |  |     } | 
 |  |  | 
 |  |  |         return  null; | 
 |  |  |     } | 
 |  |  |     /** | 
 |  |  |      *查询访客预约记录(分页) | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public  static  BaseResponse<BaseListPageResponse<IccmAppointmentListResponse>>   iccmAppointmentRecords(IccmAppointmentListRequest param){ | 
 |  |  |         log.info("【海康访客预约记录查询】================开始===="+JSONObject.toJSONString(param)); | 
 |  |  |         try { | 
 |  |  |             String res = HKTools.iccmAppointmentRecords(JSONObject.toJSONString(param)); | 
 |  |  |             TypeReference typeReference = | 
 |  |  |                     new TypeReference<BaseResponse<BaseListPageResponse<IccmAppointmentListResponse>>>(){}; | 
 |  |  |             BaseResponse<BaseListPageResponse<IccmAppointmentListResponse>>   result = JSONObject.parseObject(res, typeReference.getType()); | 
 |  |  |             logResult(result,"海康访客预约记录查询"); | 
 |  |  |             return  result; | 
 |  |  |         }catch (Exception e){ | 
 |  |  |             log.error("【海康访客预约记录查询】================失败====:\n"+ e.getMessage()); | 
 |  |  |         } | 
 |  |  |         return  null; | 
 |  |  |     } | 
 |  |  |     /** | 
 |  |  |      *1.9.1根据微信公众号信息获取AccessToken(分页) | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public  static  BaseResponse<String>   wxAccessToken(String configId,String tagId){ | 
 |  |  |         log.info("【海康根据微信公众号信息获取AccessToken】================开始====configId:"+configId+" && tagId:"+tagId); | 
 |  |  |         try { | 
 |  |  |             String res = HKTools.wxAccessToken(configId,tagId); | 
 |  |  |             TypeReference typeReference = | 
 |  |  |                     new TypeReference<BaseResponse<String>>(){}; | 
 |  |  |             BaseResponse<String>   result = JSONObject.parseObject(res, typeReference.getType()); | 
 |  |  |             logResult(result,"海康根据微信公众号信息获取AccessToken"); | 
 |  |  |             return  result; | 
 |  |  |         }catch (Exception e){ | 
 |  |  |             log.error("【海康根据微信公众号信息获取AccessToken】================失败====:\n"+ e.getMessage()); | 
 |  |  |         } | 
 |  |  |         return  null; | 
 |  |  |     } | 
 |  |  |     /** | 
 |  |  |      *根据配置微信公众号编号查询微信公众号信息 | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public  static  BaseResponse< WxConfigInfoResponse>  getWxConfig(WxConfigInfoRequest param){ | 
 |  |  |         log.info("【海康根据配置微信公众号编号查询微信公众号信息】================开始===="+JSONObject.toJSONString(param)); | 
 |  |  |         try { | 
 |  |  |             String res = HKTools.getWxConfig(toMap(param)); | 
 |  |  |             TypeReference typeReference = | 
 |  |  |                     new TypeReference<BaseResponse<WxConfigInfoResponse>>(){}; | 
 |  |  |             BaseResponse<WxConfigInfoResponse>   result = JSONObject.parseObject(res, typeReference.getType()); | 
 |  |  |             logResult(result,"海康根据配置微信公众号编号查询微信公众号信息"); | 
 |  |  |             return  result; | 
 |  |  |         }catch (Exception e){ | 
 |  |  |             log.error("【海康根据配置微信公众号编号查询微信公众号信息】================失败====:\n"+ e.getMessage()); | 
 |  |  |         } | 
 |  |  |         return  null; | 
 |  |  |     } | 
 |  |  |     /** | 
 |  |  |      *分页获取待办列表 | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public  static  BaseResponse<BaseListPageResponse<GetTodoListResponse>>   getTodoListPage(GetTodoListRequest param){ | 
 |  |  |         log.info("【海康分页获取待办列表】================开始===="+JSONObject.toJSONString(param)); | 
 |  |  |         try { | 
 |  |  |             String res = HKTools.getTodoListPage(toMap(param)); | 
 |  |  |             TypeReference typeReference = | 
 |  |  |                     new TypeReference<BaseResponse<BaseListPageResponse<GetTodoListResponse>>>(){}; | 
 |  |  |             BaseResponse<BaseListPageResponse<GetTodoListResponse>>   result = JSONObject.parseObject(res, typeReference.getType()); | 
 |  |  |             logResult(result,"海康分页获取待办列表"); | 
 |  |  |             return  result; | 
 |  |  |         }catch (Exception e){ | 
 |  |  |             log.error("【海康分页获取待办列表】================失败====:\n"+ e.getMessage()); | 
 |  |  |         } | 
 |  |  |         return  null; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      *分页查询消防设备部件状态 | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public  static  BaseResponse<BaseListPageResponse<FireDeviceStatusListResponse>>   fireDeviceStatusSearch(FireDeviceStatuslListRequest param){ | 
 |  |  |         log.info("【海康查询消防设备部件状态】================开始===="+JSONObject.toJSONString(param)); | 
 |  |  |         try { | 
 |  |  |             String res = HKTools.fireDeviceStatusSearch(JSONObject.toJSONString(param)); | 
 |  |  |             TypeReference typeReference = | 
 |  |  |                     new TypeReference<BaseResponse<BaseListPageResponse<FireDeviceStatusListResponse>>>(){}; | 
 |  |  |             BaseResponse<BaseListPageResponse<FireDeviceStatusListResponse>>   result = JSONObject.parseObject(res, typeReference.getType()); | 
 |  |  |             logResult(result,"海康分页查询消防传感器部件状态"); | 
 |  |  |             return  result; | 
 |  |  |         }catch (Exception e){ | 
 |  |  |             log.error("【海康查询消防设备部件状态】================失败====:\n"+ e.getMessage()); | 
 |  |  |         } | 
 |  |  |         return  null; | 
 |  |  |     } | 
 |  |  |     /** | 
 |  |  |      *分页查询消防传感器部件状态 | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public  static  BaseResponse<BaseListPageResponse<SensorStatusListResponse>>   sensorStatusSearch(SensorStatusListRequest param){ | 
 |  |  |         log.info("【海康分页查询消防传感器部件状态】================开始===="+JSONObject.toJSONString(param)); | 
 |  |  |         try { | 
 |  |  |             String res = HKTools.sensorStatusSearch(JSONObject.toJSONString(param)); | 
 |  |  |             TypeReference typeReference = | 
 |  |  |                     new TypeReference<BaseResponse<BaseListPageResponse<SensorStatusListResponse>>>(){}; | 
 |  |  |             BaseResponse<BaseListPageResponse<SensorStatusListResponse>>   result = JSONObject.parseObject(res, typeReference.getType()); | 
 |  |  |             logResult(result,"海康分页查询消防传感器部件状态"); | 
 |  |  |             return  result; | 
 |  |  |         }catch (Exception e){ | 
 |  |  |             log.error("【海康分页查询消防传感器部件状态】================失败====:\n"+ e.getMessage()); | 
 |  |  |         } | 
 |  |  |         return  null; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      *查询消防传感器列表 | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public  static  BaseResponse<BaseListPageResponse<FireChannelListResponse>>   fireChannelSearch(FireChannelListRequest param){ | 
 |  |  |         log.info("【海康查询消防传感器列表】================开始===="+JSONObject.toJSONString(param)); | 
 |  |  |         try { | 
 |  |  |             String res = HKTools.fireChannelSearch(JSONObject.toJSONString(param)); | 
 |  |  |             TypeReference typeReference = | 
 |  |  |                     new TypeReference<BaseResponse<BaseListPageResponse<FireChannelListResponse>>>(){}; | 
 |  |  |             BaseResponse<BaseListPageResponse<FireChannelListResponse>>   result = JSONObject.parseObject(res, typeReference.getType()); | 
 |  |  |             logResult(result,"海康查询消防传感器列表"); | 
 |  |  |             return  result; | 
 |  |  |         }catch (Exception e){ | 
 |  |  |             log.error("【海康查询消防传感器列表】================失败====:\n"+ e.getMessage()); | 
 |  |  |         } | 
 |  |  |         return  null; | 
 |  |  |     } | 
 |  |  |     /** | 
 |  |  |      *分页查询设备下的所有报警记录 | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public  static  BaseResponse<BaseListPageResponse<FindDeviceAlarmListResponse>>   findDeviceAlarmPage(FindDeviceAlarmListRequest param){ | 
 |  |  |         log.info("【海康分页查询设备下的所有报警记录】================开始===="+JSONObject.toJSONString(param)); | 
 |  |  |         try { | 
 |  |  |             String res = HKTools.findDeviceAlarmPage(JSONObject.toJSONString(param)); | 
 |  |  |             TypeReference typeReference = | 
 |  |  |                     new TypeReference<BaseResponse<BaseListPageResponse<FindDeviceAlarmListResponse>>>(){}; | 
 |  |  |             BaseResponse<BaseListPageResponse<FindDeviceAlarmListResponse>>   result = JSONObject.parseObject(res, typeReference.getType()); | 
 |  |  |             logResult(result,"海康分页查询设备下的所有报警记录"); | 
 |  |  |             return  result; | 
 |  |  |         }catch (Exception e){ | 
 |  |  |             log.error("【海康分页查询设备下的所有报警记录】================失败====:\n"+ e.getMessage()); | 
 |  |  |         } | 
 |  |  |         return  null; | 
 |  |  |     } | 
 |  |  |     /** | 
 |  |  |      *询消防设备列表 | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public  static  BaseResponse<BaseListPageResponse<FireDeviceListResponse>>   fireDeviceSearch(FireDeviceListRequest param){ | 
 |  |  |         log.info("【海康询消防设备列表】================开始===="+JSONObject.toJSONString(param)); | 
 |  |  |         try { | 
 |  |  |             String res = HKTools.fireDeviceSearch(JSONObject.toJSONString(param)); | 
 |  |  |             TypeReference typeReference = | 
 |  |  |                     new TypeReference<BaseResponse<BaseListPageResponse<FireDeviceListResponse>>>(){}; | 
 |  |  |             BaseResponse<BaseListPageResponse<FireDeviceListResponse>>   result = JSONObject.parseObject(res, typeReference.getType()); | 
 |  |  |             logResult(result,"海康询消防设备列表"); | 
 |  |  |             return  result; | 
 |  |  |         }catch (Exception e){ | 
 |  |  |             log.error("【海康询消防设备列表】================失败====:\n"+ e.getMessage()); | 
 |  |  |         } | 
 |  |  |         return  null; | 
 |  |  |     } | 
 |  |  |     /** | 
 |  |  |      *分页获取告警事件 | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public  static  BaseResponse<BaseListPageResponse<NhEventPageListResponse>>   nhEventPageList(NhEventPageListRequest param){ | 
 |  |  |         log.info("【海康分页获取告警事件】================开始===="+JSONObject.toJSONString(param)); | 
 |  |  |         try { | 
 |  |  |             String res = HKTools.nhEventPageList(toMap(param)); | 
 |  |  |             TypeReference typeReference = | 
 |  |  |                     new TypeReference<BaseResponse<BaseListPageResponse<NhEventPageListResponse>>>(){}; | 
 |  |  |             BaseResponse<BaseListPageResponse<NhEventPageListResponse>>   result = JSONObject.parseObject(res, typeReference.getType()); | 
 |  |  |             logResult(result,"海康分页获取告警事件"); | 
 |  |  |             return  result; | 
 |  |  |         }catch (Exception e){ | 
 |  |  |             log.error("【海康分页获取告警事件】================失败====:\n"+ e.getMessage()); | 
 |  |  |         } | 
 |  |  |         return  null; | 
 |  |  |     } | 
 |  |  |     /** | 
 |  |  |      *查询访客来访记录(已登记)(分页) | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  | 
 |  |  |             return  result; | 
 |  |  |         }catch (Exception e){ | 
 |  |  |             log.error("【海康全量组织查询】================失败====:\n"+ e.getMessage()); | 
 |  |  |         } | 
 |  |  |         return  null; | 
 |  |  |     } | 
 |  |  |     /** | 
 |  |  |      *获取工作台菜单免密登陆调整地址 | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public  static  String   getMenuUrl(Integer type,String token){ | 
 |  |  |         String menuId = HKConstants.MenuPageId.afzx; | 
 |  |  |         if(Constants.equalsInteger(type,Constants.ONE)){ | 
 |  |  |             menuId = HKConstants.MenuPageId.xkzx; | 
 |  |  |         }else  if(Constants.equalsInteger(type,Constants.TWO)){ | 
 |  |  |             menuId = HKConstants.MenuPageId.ngzx; | 
 |  |  |         }else  if(Constants.equalsInteger(type,Constants.THREE)){ | 
 |  |  |             menuId = HKConstants.MenuPageId.jsc; | 
 |  |  |         }else  if(Constants.equalsInteger(type,Constants.FOUR)){ | 
 |  |  |             menuId = HKConstants.MenuPageId.kqgl; | 
 |  |  |         } | 
 |  |  |         log.info("【海康获取工作台菜单免密登陆调整地址】================开始====menuId:"+menuId+"==token:"+token); | 
 |  |  |         try { | 
 |  |  |             String res = HKTools.getMenuUrl(menuId,token); | 
 |  |  |             return  res; | 
 |  |  |         }catch (Exception e){ | 
 |  |  |             log.error("【海康获取工作台菜单免密登陆调整地址】================失败====:\n"+ e.getMessage()); | 
 |  |  |         } | 
 |  |  |         return  null; | 
 |  |  |     } | 
 |  |  | 
 |  |  |      *用于设置广播的自定播放和停止 | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     public  static  BaseResponse<BaseListPageResponse<LedRecordsInfoResponse>>   customBroadcast(LedRecordsRequest param){ | 
 |  |  |     public  static  BaseResponse    customBroadcast(CustomBroadcastRequest param){ | 
 |  |  |         log.info("【海康用于设置广播的自定播放和停止】================开始===="+JSONObject.toJSONString(param)); | 
 |  |  |         try { | 
 |  |  |             String res = HKTools.customBroadcast(JSONObject.toJSONString(param)); | 
 |  |  |             TypeReference typeReference = | 
 |  |  |                     new TypeReference< BaseResponse<BaseListPageResponse<LedRecordsInfoResponse>> >(){}; | 
 |  |  |             BaseResponse<BaseListPageResponse<LedRecordsInfoResponse>>   result = JSONObject.parseObject(res, typeReference.getType()); | 
 |  |  |                     new TypeReference< BaseResponse>(){}; | 
 |  |  |             BaseResponse    result = JSONObject.parseObject(res, typeReference.getType()); | 
 |  |  |             logResult(result,"海康用于设置广播的自定播放和停止"); | 
 |  |  |             return  result; | 
 |  |  |         }catch (Exception e){ | 
 |  |  | 
 |  |  |     public  static  BaseResponse<BaseListPageResponse<PlatformStatusInfoResponse>>   platformStatus(PlatformStatusRequest param) { | 
 |  |  |         log.info("【海康获取全部月台信息】================开始====" + JSONObject.toJSONString(param)); | 
 |  |  |         try { | 
 |  |  |             String res = HKTools.platformStatus(JSONObject.toJSONString(param)); | 
 |  |  |             String res = HKTools.platformStatus(param.getPlatformIds()); | 
 |  |  |             TypeReference typeReference = | 
 |  |  |                     new TypeReference<BaseResponse<BaseListPageResponse<PlatformStatusInfoResponse>>>() { | 
 |  |  |                     }; | 
 |  |  | 
 |  |  |             log.error("【海康获取全部月台信息】================失败====:\n" + e.getMessage()); | 
 |  |  |         } | 
 |  |  |         return null; | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |     /** | 
 |  |  |      *发送消息给LED |