|  |  |  | 
|---|
|  |  |  | import com.doumee.core.haikang.model.param.request.*; | 
|---|
|  |  |  | import com.doumee.core.haikang.model.param.respose.*; | 
|---|
|  |  |  | import com.doumee.core.utils.Constants; | 
|---|
|  |  |  | import com.doumee.core.utils.DateUtil; | 
|---|
|  |  |  | import com.hikvision.artemis.sdk.config.ArtemisConfig; | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  | import org.apache.commons.lang3.StringUtils; | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import java.io.InputStream; | 
|---|
|  |  |  | import java.lang.reflect.Field; | 
|---|
|  |  |  | import java.util.HashMap; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.Map; | 
|---|
|  |  |  | import java.util.*; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Slf4j | 
|---|
|  |  |  | public class HKService { | 
|---|
|  |  |  | private static String[] args; | 
|---|
|  |  |  | private Logger logger = LoggerFactory.getLogger(HKService.class); | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取根组织数据 | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | *车位预约 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | *车位取消预约 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | 
|---|
|  |  |  | return  result; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("【海康访客预约签离】================失败====:\n"+ e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | *iccm访客预约签离 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public  static  BaseResponse  iccmSignoff(VisitAppointmentOutRequest param){ | 
|---|
|  |  |  | log.info("【海康iccm访客预约签离】================开始===="+JSONObject.toJSONString(param)); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String res = HKTools.iccmSignoff(JSONObject.toJSONString(param)); | 
|---|
|  |  |  | TypeReference typeReference = | 
|---|
|  |  |  | new TypeReference< BaseResponse>(){}; | 
|---|
|  |  |  | BaseResponse  result = JSONObject.parseObject(res, typeReference.getType()); | 
|---|
|  |  |  | logResult(result,"海康iccm访客预约签离"); | 
|---|
|  |  |  | return  result; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("【海康iccm访客预约签离】================失败====:\n"+ e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | *iccm访客预约取消 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public  static  BaseResponse  iccmCancelAppointment(VisitAppointmentCancelRequest param){ | 
|---|
|  |  |  | log.info("【海康iccm访客预约取消】================开始===="+JSONObject.toJSONString(param)); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String res = HKTools.iccmCancelAppointment(JSONObject.toJSONString(param)); | 
|---|
|  |  |  | TypeReference typeReference = | 
|---|
|  |  |  | new TypeReference< BaseResponse>(){}; | 
|---|
|  |  |  | BaseResponse  result = JSONObject.parseObject(res, typeReference.getType()); | 
|---|
|  |  |  | logResult(result,"海康iccm访客预约取消"); | 
|---|
|  |  |  | return  result; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("【海康iccm访客预约取消】================失败====:\n"+ e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | public  static  BaseResponse<String>   wxAccessToken(String configId,String tagId){ | 
|---|
|  |  |  | log.info("【海康根据微信公众号信息获取AccessToken】================开始====configId:"+configId+" && tagId:"+tagId); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String res = HKTools.wxAccessToken(configId,tagId); | 
|---|
|  |  |  | HashMap<String,String> params = new HashMap<>(); | 
|---|
|  |  |  | params.put("tagId",tagId); | 
|---|
|  |  |  | params.put("configId",configId); | 
|---|
|  |  |  | String res = HKTools.wxAccessToken(params); | 
|---|
|  |  |  | TypeReference typeReference = | 
|---|
|  |  |  | new TypeReference<BaseResponse<String>>(){}; | 
|---|
|  |  |  | BaseResponse<String>   result = JSONObject.parseObject(res, typeReference.getType()); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | *消防看板-4温湿度统计 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public  static  BaseResponse<BaseListPageResponse<TemperatureHumidityDataResponse>>  temperatureHumidityDataStatistic(TemperatureHumidityDataRequest param){ | 
|---|
|  |  |  | log.info("【海康消防看板-4温湿度统计】================开始===="+JSONObject.toJSONString(param)); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String res = HKTools.temperatureHumidityDataStatistic(JSONObject.toJSONString(param)); | 
|---|
|  |  |  | TypeReference typeReference = | 
|---|
|  |  |  | new TypeReference< BaseResponse<BaseListPageResponse<TemperatureHumidityDataResponse> >>(){}; | 
|---|
|  |  |  | BaseResponse<BaseListPageResponse<TemperatureHumidityDataResponse>>   result = JSONObject.parseObject(res, typeReference.getType()); | 
|---|
|  |  |  | logResult(result,"海康消防看板-4温湿度统计"); | 
|---|
|  |  |  | return  result; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("【海康消防看板-4温湿度统计】================失败====:\n"+ e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | *消防看板-4获取区域用量排名-能耗看板 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public  static  BaseResponse<List<RegionDataRankingDataResponse>>  regionDataRanking(RegionDataRankingDataRequest param){ | 
|---|
|  |  |  | log.info("【海康消防看板-4获取区域用量排名-能耗看板】================开始===="+JSONObject.toJSONString(param)); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String res = HKTools.regionDataRanking(JSONObject.toJSONString(param)); | 
|---|
|  |  |  | TypeReference typeReference = | 
|---|
|  |  |  | new TypeReference< BaseResponse<List<RegionDataRankingDataResponse> >>(){}; | 
|---|
|  |  |  | BaseResponse<List<RegionDataRankingDataResponse>>   result = JSONObject.parseObject(res, typeReference.getType()); | 
|---|
|  |  |  | logResult(result,"海康消防看板-4获取区域用量排名-能耗看板"); | 
|---|
|  |  |  | return  result; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("【海康消防看板-4获取区域用量排名-能耗看板】================失败====:\n"+ e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | *消防看板-4获取区域用量排名-能耗看板 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public  static  BaseResponse<EnergyTotalDataResponse>  energyTotal(EnergyTotalDataRequest param){ | 
|---|
|  |  |  | log.info("【海康消防看板-4根据时间和时间维度获取园区能耗数据】================开始===="+JSONObject.toJSONString(param)); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String res = HKTools.energyTotal(JSONObject.toJSONString(param)); | 
|---|
|  |  |  | TypeReference typeReference = | 
|---|
|  |  |  | new TypeReference< BaseResponse<EnergyTotalDataResponse >>(){}; | 
|---|
|  |  |  | BaseResponse<EnergyTotalDataResponse>   result = JSONObject.parseObject(res, typeReference.getType()); | 
|---|
|  |  |  | logResult(result,"海康消防看板-4根据时间和时间维度获取园区能耗数据"); | 
|---|
|  |  |  | return  result; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("【海康消防看板-4根据时间和时间维度获取园区能耗数据】================失败====:\n"+ e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | *分页查询消防设备部件状态 | 
|---|
|  |  |  | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public  static  String   getMenuUrl(Integer type,String token){ | 
|---|
|  |  |  | String componentId = HKConstants.MenuPageId.componentIds[0]; | 
|---|
|  |  |  | String menuId = HKConstants.MenuPageId.afzx; | 
|---|
|  |  |  | if(Constants.equalsInteger(type,Constants.ONE)){ | 
|---|
|  |  |  | menuId = HKConstants.MenuPageId.xkzx; | 
|---|
|  |  |  | 
|---|
|  |  |  | menuId = HKConstants.MenuPageId.jsc; | 
|---|
|  |  |  | }else  if(Constants.equalsInteger(type,Constants.FOUR)){ | 
|---|
|  |  |  | menuId = HKConstants.MenuPageId.kqgzt; | 
|---|
|  |  |  | }else  if(Constants.equalsInteger(type,Constants.FIVE)){ | 
|---|
|  |  |  | componentId = HKConstants.MenuPageId.componentIds[1]; | 
|---|
|  |  |  | menuId = HKConstants.MenuPageId.kqdbcl; | 
|---|
|  |  |  | }else  if(Constants.equalsInteger(type,Constants.SIX)){ | 
|---|
|  |  |  | componentId = HKConstants.MenuPageId.componentIds[2]; | 
|---|
|  |  |  | menuId = HKConstants.MenuPageId.stxf; | 
|---|
|  |  |  | //            return "https://10.50.250.253:443/xauthplus-plugin/thirdLogin?type=third&service=https://10.50.250.253:443/cems/config/generalCard&token="+token; | 
|---|
|  |  |  | }else if(Constants.equalsInteger(type,7)){ | 
|---|
|  |  |  | menuId = HKConstants.MenuPageId.hqzx; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | log.info("【海康获取工作台菜单免密登陆调整地址】================开始====menuId:"+menuId+"==token:"+token); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String res = HKTools.getMenuUrl(menuId,token); | 
|---|
|  |  |  | ///xauthplus-plugin/thirdLogin?type=third&componentId=${componentId}&componentMenuId=${menuId}&token=${token} | 
|---|
|  |  |  | String res = HKTools.getMenuUrl(componentId,menuId,token); | 
|---|
|  |  |  | return  res; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("【海康获取工作台菜单免密登陆调整地址】================失败====:\n"+ e.getMessage()); | 
|---|
|  |  |  | 
|---|
|  |  |  | Class<?> clazz = obj.getClass(); | 
|---|
|  |  |  | for (Field field : clazz.getDeclaredFields()) { | 
|---|
|  |  |  | field.setAccessible(true); // 使得私有字段也可以访问 | 
|---|
|  |  |  | map.put(field.getName(), (String) field.get(obj)); | 
|---|
|  |  |  | if(field.get(obj)!=null){ | 
|---|
|  |  |  | map.put(field.getName(), String.valueOf( field.get(obj))); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return map; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | *安防看板-- 分页查询未处理报警信息6 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public  static  BaseResponse<BaseListPageResponse<FindHomeAlarmInfoPageResponse>>   findHomeAlarmInfoPage(FindHomeAlarmInfoPageRequest param){ | 
|---|
|  |  |  | log.info("【海康安防看板-- 分页查询未处理报警信息6】================开始===="+JSONObject.toJSONString(param)); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String res = HKTools.findHomeAlarmInfoPage(JSONObject.toJSONString(param)); | 
|---|
|  |  |  | TypeReference typeReference = | 
|---|
|  |  |  | new TypeReference< BaseResponse<BaseListPageResponse<FindHomeAlarmInfoPageResponse>> >(){}; | 
|---|
|  |  |  | BaseResponse<BaseListPageResponse<FindHomeAlarmInfoPageResponse>>   result = JSONObject.parseObject(res, typeReference.getType()); | 
|---|
|  |  |  | logResult(result,"海康安防看板-- 分页查询未处理报警信息6"); | 
|---|
|  |  |  | return  result; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("【海康安防看板-- 分页查询未处理报警信息6】================失败====:\n"+ e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | *保存用户及openId绑定信息微信公众号 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public  static  BaseResponse<Integer>   userOpenidSave(UserOpenidSaveRequest param){ | 
|---|
|  |  |  | log.info("【海康保存用户及openId绑定信息微信公众号】================开始===="+JSONObject.toJSONString(param)); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String res = HKTools.userOpenidSave(JSONObject.toJSONString(param)); | 
|---|
|  |  |  | TypeReference typeReference = | 
|---|
|  |  |  | new TypeReference< BaseResponse<Integer>>(){}; | 
|---|
|  |  |  | BaseResponse<Integer>   result = JSONObject.parseObject(res, typeReference.getType()); | 
|---|
|  |  |  | logResult(result,"海康保存用户及openId绑定信息微信公众号"); | 
|---|
|  |  |  | return  result; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("【海康保存用户及openId绑定信息微信公众号】================失败====:\n"+ e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | *通过openId或userName等删除绑定信息 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public  static  BaseResponse  userOpenidDel(UserOpenidSaveRequest param){ | 
|---|
|  |  |  | log.info("【海康通过openId或userName等删除绑定信息】================开始===="+JSONObject.toJSONString(param)); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String res = HKTools.userOpenidDel(toMap(param)); | 
|---|
|  |  |  | TypeReference typeReference = | 
|---|
|  |  |  | new TypeReference< BaseResponse >(){}; | 
|---|
|  |  |  | BaseResponse<Integer>   result = JSONObject.parseObject(res, typeReference.getType()); | 
|---|
|  |  |  | logResult(result,"海康通过openId或userName等删除绑定信息"); | 
|---|
|  |  |  | return  result; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("【海康通过openId或userName等删除绑定信息】================失败====:\n"+ e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | *分页查询设备监测历史数据 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public  static  BaseResponse<BaseListPageResponse<MonitorDataSearchResponse>>   minitorDataSearch(MinitorDataSearchRequest param){ | 
|---|
|  |  |  | log.info("【海康分页查询设备监测历史数据】================开始===="+JSONObject.toJSONString(param)); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String res = HKTools.minitorDataSearch(JSONObject.toJSONString(param)); | 
|---|
|  |  |  | TypeReference typeReference = | 
|---|
|  |  |  | new TypeReference< BaseResponse<BaseListPageResponse<MonitorDataSearchResponse>> >(){}; | 
|---|
|  |  |  | BaseResponse<BaseListPageResponse<MonitorDataSearchResponse>>   result = JSONObject.parseObject(res, typeReference.getType()); | 
|---|
|  |  |  | logResult(result,"海康分页查询设备监测历史数据"); | 
|---|
|  |  |  | return  result; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("【海康分页查询设备监测历史数据】================失败====:\n"+ e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | *统计统安防看板--园区实时车数量4 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | 
|---|
|  |  |  | return  result; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("【海康安防看板--园区实时车数量4】================失败====:\n"+ e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 能耗看板-3.获取各区域用能及总能耗 | 
|---|
|  |  |  | * @param powerType 能源类型 电-1 水-2 气-3 热-4 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public  static  BaseResponse<RegionEnergyListResponse>   regionEnergyList(String  powerType){ | 
|---|
|  |  |  | log.info("【海康能耗看板-3.获取各区域用能及总能耗】================开始===="); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | Map<String,String>   map = new HashMap<>(); | 
|---|
|  |  |  | map.put("powerType",powerType); | 
|---|
|  |  |  | String res = HKTools.regionEnergyList(map); | 
|---|
|  |  |  | TypeReference typeReference = | 
|---|
|  |  |  | new TypeReference< BaseResponse<RegionEnergyListResponse>>(){}; | 
|---|
|  |  |  | BaseResponse<RegionEnergyListResponse>   result = JSONObject.parseObject(res, typeReference.getType()); | 
|---|
|  |  |  | logResult(result,"【海康能耗看板-3.获取各区域用能及总能耗】"); | 
|---|
|  |  |  | return  result; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("【海康能耗看板-3.获取各区域用能及总能耗】================失败====:\n"+ e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 能耗看板-4.获取上月用能费用,一天刷新,凌晨某个点刷 | 
|---|
|  |  |  | * @param powerType 能源类型 电-1 水-2 气-3 热-4 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public  static  BaseResponse<LastMonthFeeByMeterTypeResponse>   lastMonthFeeByMeterType(String  powerType){ | 
|---|
|  |  |  | log.info("【海康能耗看板-4.获取上月用能费用,一天刷新,凌晨某个点刷】================开始===="); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | Map<String,String>   map = new HashMap<>(); | 
|---|
|  |  |  | map.put("powerType",powerType); | 
|---|
|  |  |  | String res = HKTools.lastMonthFeeByMeterType(map); | 
|---|
|  |  |  | TypeReference typeReference =  new TypeReference< BaseResponse<LastMonthFeeByMeterTypeResponse>>(){}; | 
|---|
|  |  |  | BaseResponse<LastMonthFeeByMeterTypeResponse>   result = JSONObject.parseObject(res, typeReference.getType()); | 
|---|
|  |  |  | logResult(result,"【海康能耗看板-4.获取上月用能费用,一天刷新,凌晨某个点刷】"); | 
|---|
|  |  |  | return  result; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("【海康能耗看板-4.获取上月用能费用,一天刷新,凌晨某个点刷】================失败====:\n"+ e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 海康能耗看板-5.园区实时负荷曲线 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public  static  BaseResponse<List<EnergyTodayLoadDataResponse>>   energyTodayLoadData(){ | 
|---|
|  |  |  | log.info("【海康能耗看板-5.园区实时负荷曲线】================开始===="); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String res = HKTools.energyTodayLoadData(); | 
|---|
|  |  |  | TypeReference typeReference =  new TypeReference< BaseResponse<List<EnergyTodayLoadDataResponse>>>(){}; | 
|---|
|  |  |  | BaseResponse<List<EnergyTodayLoadDataResponse>>   result = JSONObject.parseObject(res, typeReference.getType()); | 
|---|
|  |  |  | logResult(result,"【海康能耗看板-5.园区实时负荷曲线】"); | 
|---|
|  |  |  | return  result; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("【海康能耗看板-5.园区实时负荷曲线】================失败====:\n"+ e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 能耗看板-2.获取区域用能前N位 | 
|---|
|  |  |  | * @param param | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public  static  BaseResponse<List<RegionTopPowerResponse>>   regionTopPower(RegionTopPowerRequest   param){ | 
|---|
|  |  |  | log.info("【海康能耗看板-2.获取区域用能前N位】================开始===="); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String res = HKTools.regionTopPower(toMap(param)); | 
|---|
|  |  |  | TypeReference typeReference = | 
|---|
|  |  |  | new TypeReference< BaseResponse<List<RegionTopPowerResponse>>>(){}; | 
|---|
|  |  |  | BaseResponse<List<RegionTopPowerResponse>>   result = JSONObject.parseObject(res, typeReference.getType()); | 
|---|
|  |  |  | logResult(result,"海康能耗看板-2.获取区域用能前N位"); | 
|---|
|  |  |  | return  result; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("【海康能耗看板-2.获取区域用能前N位】================失败====:\n"+ e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 能耗看板-1.获取本月用能总量-自然月 | 
|---|
|  |  |  | * @param powerType 能源类型 电-1 水-2 气-3 热-4 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public  static  BaseResponse<MonthDataByMeterTypeResponse>   getCurrentMonthDataByMeterType(String  powerType){ | 
|---|
|  |  |  | log.info("【能耗看板-1.获取本月用能总量-自然月】================开始===="); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | Map<String,String>   map = new HashMap<>(); | 
|---|
|  |  |  | map.put("powerType",powerType); | 
|---|
|  |  |  | String res = HKTools.getCurrentMonthDataByMeterType(map); | 
|---|
|  |  |  | TypeReference typeReference = | 
|---|
|  |  |  | new TypeReference< BaseResponse<MonthDataByMeterTypeResponse>>(){}; | 
|---|
|  |  |  | BaseResponse<MonthDataByMeterTypeResponse>   result = JSONObject.parseObject(res, typeReference.getType()); | 
|---|
|  |  |  | logResult(result,"能耗看板-1.获取本月用能总量-自然月"); | 
|---|
|  |  |  | return  result; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("【能耗看板-1.获取本月用能总量-自然月】================失败====:\n"+ e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | *能耗看板-6按月查询近12个月的用电总量数据 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public  static  BaseResponse<EnergyTrendResponse>   energyTrend(EnergyTrendRequest param){ | 
|---|
|  |  |  | log.info("【海康能耗看板-6按月查询近12个月的用电总量数据】================开始===="+JSONObject.toJSONString(param)); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String res = HKTools.energyTrend(JSONObject.toJSONString(param)); | 
|---|
|  |  |  | TypeReference typeReference = | 
|---|
|  |  |  | new TypeReference< BaseResponse<EnergyTrendResponse>>(){}; | 
|---|
|  |  |  | BaseResponse<EnergyTrendResponse>   result = JSONObject.parseObject(res, typeReference.getType()); | 
|---|
|  |  |  | logResult(result,"海康能耗看板-6按月查询近12个月的用电总量数据"); | 
|---|
|  |  |  | return  result; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("【海康能耗看板-6按月查询近12个月的用电总量数据】================失败====:\n"+ e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | *消防维保统计 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public  static  BaseResponse<FireStatisticResponse>   fireStatistic(FireStatisticRequest param){ | 
|---|
|  |  |  | log.info("【海康消防维保统计】================开始===="+JSONObject.toJSONString(param)); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String res = HKTools.fireStatistic(JSONObject.toJSONString(param)); | 
|---|
|  |  |  | TypeReference typeReference = | 
|---|
|  |  |  | new TypeReference< BaseResponse<FireStatisticResponse>>(){}; | 
|---|
|  |  |  | BaseResponse<FireStatisticResponse>   result = JSONObject.parseObject(res, typeReference.getType()); | 
|---|
|  |  |  | logResult(result,"海康消防维保统计"); | 
|---|
|  |  |  | return  result; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("【海康消防维保统计】================失败====:\n"+ e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | *本月新增维保设备数 | 
|---|
|  |  |  | * api_fire_statistic_month | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public  static  BaseResponse<FireStatisticResponse>   fireStatisticMonth(FireStatisticRequest param){ | 
|---|
|  |  |  | log.info("【海康消防维保统计每月新增】================开始===="+JSONObject.toJSONString(param)); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String res = HKTools.fireStatisticMonth(JSONObject.toJSONString(param)); | 
|---|
|  |  |  | TypeReference typeReference = | 
|---|
|  |  |  | new TypeReference< BaseResponse<FireStatisticResponse>>(){}; | 
|---|
|  |  |  | BaseResponse<FireStatisticResponse>   result = JSONObject.parseObject(res, typeReference.getType()); | 
|---|
|  |  |  | logResult(result,"海康消防维保统计每月新增"); | 
|---|
|  |  |  | return  result; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("【海康消防维保统计每月新增】================失败====:\n"+ e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | *消防看板-消防设备在离线1 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public  static  BaseResponse<List<SecureDevStatusTotalResponse> >  getFireDevStatusTotal(FireDevStatusTotalRequest param){ | 
|---|
|  |  |  | log.info("【海康消防看板-消防设备在离线1】================开始===="+JSONObject.toJSONString(param)); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String res = HKTools.getFireDevStatusTotal(JSONObject.toJSONString(param)); | 
|---|
|  |  |  | TypeReference typeReference = | 
|---|
|  |  |  | new TypeReference< BaseResponse<List<SecureDevStatusTotalResponse> >>(){}; | 
|---|
|  |  |  | BaseResponse<List<SecureDevStatusTotalResponse> >   result = JSONObject.parseObject(res, typeReference.getType()); | 
|---|
|  |  |  | logResult(result,"海康消防看板-消防设备在离线1"); | 
|---|
|  |  |  | return  result; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("【海康消防看板-消防设备在离线1】================失败====:\n"+ e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | *消防看板-各类型设备在线率2 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public  static  BaseResponse<List<FireDevStatusListResponse> >  getFireDevStatusList(FireDevStatusTotalRequest param){ | 
|---|
|  |  |  | log.info("【海康消防看板-各类型设备在线率2】================开始===="+JSONObject.toJSONString(param)); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String res = HKTools.getFireDevStatusList(JSONObject.toJSONString(param)); | 
|---|
|  |  |  | TypeReference typeReference = | 
|---|
|  |  |  | new TypeReference< BaseResponse<List<FireDevStatusListResponse> >>(){}; | 
|---|
|  |  |  | BaseResponse<List<FireDevStatusListResponse> >   result = JSONObject.parseObject(res, typeReference.getType()); | 
|---|
|  |  |  | logResult(result,"海康消防看板-各类型设备在线率2"); | 
|---|
|  |  |  | return  result; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("【海康消防看板-各类型设备在线率2】================失败====:\n"+ e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | *分页查询设备的以及下属传感器数据的状态统计 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public  static  BaseResponse<List<FindDeviceStatisticsResponse> >  findDeviceStatistics(FindDeviceStatisticsRequest param){ | 
|---|
|  |  |  | log.info("【分页查询设备的以及下属传感器数据的状态统计】================开始===="+JSONObject.toJSONString(param)); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String res = HKTools.findDeviceStatistics(JSONObject.toJSONString(param)); | 
|---|
|  |  |  | TypeReference typeReference = | 
|---|
|  |  |  | new TypeReference< BaseResponse<List<FindDeviceStatisticsResponse> >>(){}; | 
|---|
|  |  |  | BaseResponse<List<FindDeviceStatisticsResponse> >   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<ResourcesByParamsResponse>>  resourcesByParams(ResourcesByParamsRequest param){ | 
|---|
|  |  |  | log.info("【海康消防看板】根据条件查询目录下有权限的资源列表================开始===="+JSONObject.toJSONString(param)); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String res = HKTools.resourcesByParams(JSONObject.toJSONString(param)); | 
|---|
|  |  |  | TypeReference typeReference = | 
|---|
|  |  |  | new TypeReference< BaseResponse<BaseListPageResponse<ResourcesByParamsResponse> >>(){}; | 
|---|
|  |  |  | BaseResponse<BaseListPageResponse<ResourcesByParamsResponse> >   result = JSONObject.parseObject(res, typeReference.getType()); | 
|---|
|  |  |  | logResult(result,"【海康消防看板】根据条件查询目录下有权限的资源列表"); | 
|---|
|  |  |  | return  result; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("【海康消防看板】根据条件查询目录下有权限的资源列表================失败====:\n"+ e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | *消防看板-4报警信息统计 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public  static  BaseResponse<FindAlarmBaseDataStatisticResponse>  findAlarmBaseDataStatistic(FindAlarmBaseDataStatisticRequest param){ | 
|---|
|  |  |  | log.info("【海康消防看板-4报警信息统计】================开始===="+JSONObject.toJSONString(param)); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | String res = HKTools.findAlarmBaseDataStatistic(JSONObject.toJSONString(param)); | 
|---|
|  |  |  | TypeReference typeReference = | 
|---|
|  |  |  | new TypeReference< BaseResponse<FindAlarmBaseDataStatisticResponse >>(){}; | 
|---|
|  |  |  | BaseResponse<FindAlarmBaseDataStatisticResponse >   result = JSONObject.parseObject(res, typeReference.getType()); | 
|---|
|  |  |  | logResult(result,"海康消防看板-4报警信息统计"); | 
|---|
|  |  |  | return  result; | 
|---|
|  |  |  | }catch (Exception e){ | 
|---|
|  |  |  | log.error("【海康消防看板-4报警信息统计】================失败====:\n"+ e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return  null; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | *根据用户标识获取客户端TGC接口 | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|