jiangping
2025-06-30 e8a050f2e5e9f868b16971b2facba4024d81abbe
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKService.java
@@ -11,6 +11,7 @@
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;
@@ -19,12 +20,11 @@
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);
    /**
     * 获取根组织数据
@@ -361,6 +361,8 @@
        }
        return  null;
    }
    /**
     *车位预约
     * @return
@@ -379,6 +381,7 @@
        }
        return  null;
    }
    /**
     *车位取消预约
     * @return
@@ -466,6 +469,42 @@
            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;
    }
@@ -888,7 +927,10 @@
    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());
@@ -935,6 +977,65 @@
        }
        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;
    }
    /**
     *分页查询消防设备部件状态
@@ -1086,6 +1187,7 @@
     * @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;
@@ -1095,10 +1197,22 @@
            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;
            componentId = "";
//            return "https://10.50.250.253:443/portal/ui/index?menuId=002656&token="+token;
        }
        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());
@@ -1404,7 +1518,9 @@
        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;
    }
@@ -1480,7 +1596,7 @@
            TypeReference typeReference =
                    new TypeReference< BaseResponse<BaseListPageResponse<PageCameraInfoResponse>> >(){};
            BaseResponse<BaseListPageResponse<PageCameraInfoResponse>>   result = JSONObject.parseObject(res, typeReference.getType());
            logResult(result,"海康分页获取监控点资源");
//            logResult(result,"海康分页获取监控点资源");
            return  result;
        }catch (Exception e){
            log.error("【海康分页获取监控点资源】================失败====:\n"+ e.getMessage());
@@ -1527,17 +1643,206 @@
     *安防看板-今日告警事件-根据eventType字段3
     * @return
     */
    public  static  BaseResponse< RuleEventSearchResponse>   ruleEventSearch(RuleEventSearchRequest param){
    public  static  BaseResponse<BaseListPageResponse<RuleEventSearchDataResponse>>   ruleEventSearch(RuleEventSearchRequest param){
        log.info("【海康安防看板-今日告警事件-根据eventType字段3】================开始===="+JSONObject.toJSONString(param));
        try {
            String res = HKTools.ruleEventSearch(JSONObject.toJSONString(param));
            TypeReference typeReference =
                    new TypeReference< BaseResponse<RuleEventSearchResponse> >(){};
            BaseResponse<RuleEventSearchResponse>   result = JSONObject.parseObject(res, typeReference.getType());
                    new TypeReference< BaseResponse<BaseListPageResponse<RuleEventSearchDataResponse>> >(){};
            BaseResponse<BaseListPageResponse<RuleEventSearchDataResponse>>   result = JSONObject.parseObject(res, typeReference.getType());
            logResult(result,"海康安防看板-今日告警事件-根据eventType字段3");
            return  result;
        }catch (Exception e){
            log.error("【海康安防看板-今日告警事件-根据eventType字段3】================失败====:\n"+ e.getMessage());
        }
        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
     */
    public  static  BaseResponse<ParkingStatisticResponse>   getParkingStatistics(){
        log.info("【海康安防看板--园区实时车数量4】================开始====");
        try {
            String res = HKTools.getParkingStatistics();
            TypeReference typeReference =
                    new TypeReference< BaseResponse<ParkingStatisticResponse>>(){};
            BaseResponse<ParkingStatisticResponse>   result = JSONObject.parseObject(res, typeReference.getType());
            logResult(result,"海康安防看板--园区实时车数量4");
            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;
    }
@@ -1578,6 +1883,152 @@
        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
     */