package com.doumee.core.haikang.model; 
 | 
  
 | 
import com.alibaba.fastjson.JSONObject; 
 | 
import com.doumee.core.haikang.model.param.request.CarPictureRequest; 
 | 
import com.doumee.core.haikang.model.param.request.FacePictureCheckRequest; 
 | 
import com.doumee.core.haikang.service.HKService; 
 | 
import com.doumee.dao.business.model.InterfaceLog; 
 | 
import com.doumee.service.business.InterfaceLogService; 
 | 
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 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 
 | 
public class HKTools { 
 | 
  
 | 
//    private static final Logger logger = LoggerFactory.getLogger(HKUtil.class); 
 | 
  
 | 
  
 | 
    public static void main(String[] args) throws Exception { 
 | 
        ArtemisConfig.host = "10.50.250.253:1443"; 
 | 
  
 | 
        ArtemisConfig.appKey = "23154099"; 
 | 
        ArtemisConfig.appSecret = "88wFsg3xfn7o8QMsWEO2"; 
 | 
        HKConstants.https = "https://"; 
 | 
    /*    CarPictureRequest param = new CarPictureRequest(); 
 | 
        param.setPicUri( "HKIMG=/pic?0dd400=4c40ip-feo831-933*9o4=3=2109*2l0001893117*0t7=6*2ps==014b*=787d*069d70361-95754d-9*l108od0b192=001"); 
 | 
        param.setAswSyscode("3fa3e5e3-db3e-41ba-97fc-39c948778dfe"); 
 | 
        InputStream is = HKService.getCarPicture(param); 
 | 
        File imageFile = new File("D:\\visit\\111"+UUID.randomUUID().toString()+".png"); 
 | 
        try { 
 | 
            byte[] bytes = new byte[1024]; 
 | 
            FileOutputStream outStream = new FileOutputStream(imageFile); 
 | 
            int index; 
 | 
            while ((index = is.read(bytes)) != -1) { 
 | 
                outStream.write(bytes, 0, index); 
 | 
                outStream.flush(); 
 | 
            } 
 | 
//            outStream = new FileOutputStream(imageFile); 
 | 
//            outStream.write(bytes); 
 | 
            //关闭输出流 
 | 
            outStream.close(); //写入数据 
 | 
        } catch ( Exception e) { 
 | 
            throw new RuntimeException(e); 
 | 
        }*/ 
 | 
  
 | 
        FacePictureCheckRequest param = new FacePictureCheckRequest(); 
 | 
        param.setFacePicUrl("http://10.50.250.253:8088/file/member/20241016/d0cded86-a55d-43be-bc01-4f628a1400cf.jpg"); 
 | 
        System.out.println(facePictureCheck(JSONObject.toJSONString(param))); 
 | 
  
 | 
    } 
 | 
    public static InterfaceLogService interfaceLogService = null; 
 | 
    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(); 
 | 
            hkMonitoryLogDO.setType(0); 
 | 
            hkMonitoryLogDO.setCreateDate(new Date()); 
 | 
            hkMonitoryLogDO.setIsdeleted(0); 
 | 
            hkMonitoryLogDO.setRequest(s); 
 | 
            hkMonitoryLogDO.setRepose(result); 
 | 
            hkMonitoryLogDO.setName("【安防平台】"+name); 
 | 
            hkMonitoryLogDO.setUrl(HKConstants.https + ArtemisConfig.host+path.get(HKConstants.https)); 
 | 
            interfaceLogService.create(hkMonitoryLogDO); 
 | 
        } 
 | 
    } 
 | 
  
 | 
    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 
 | 
        } 
 | 
        }; 
 | 
        return  path; 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 获取门禁时间数据集合 
 | 
     * @return 
 | 
     */ 
 | 
    public static String getRootOrg() { 
 | 
        return  startDoPostStringArtemis(HKConstants.InterfacePath.rootOrg,null); 
 | 
    } 
 | 
  
 | 
  
 | 
    /** 
 | 
     * 更新组织信息 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String editOrg(String body) { 
 | 
        return   startDoPostStringArtemis(HKConstants.InterfacePath.editOrg,body); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 新增组织信息 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String addBatchOrg(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.addBatchOrg,body); 
 | 
    } 
 | 
    /** 
 | 
     * 删除组织信息 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String delOrg(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.delBatchOrg,body); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 新增人员信息 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String addUser(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.addUser,body); 
 | 
    } 
 | 
  
 | 
  
 | 
    /** 
 | 
     * 批量新增人员信息 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String addBatchUser(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.addBatchUser,body); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 批量删除人员信息 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String delBatchUser(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.delBatchUser,body); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 修改人员信息 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String editUser(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.editUser,body); 
 | 
    } 
 | 
    /** 
 | 
     *    添加人脸信息 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String addFace(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.addFace,body); 
 | 
    } 
 | 
    /** 
 | 
     *    编辑人脸信息 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String editFace(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.editFace,body); 
 | 
    } 
 | 
    /** 
 | 
     *    删除人脸信息 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String delFace(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.delFace,body); 
 | 
    } 
 | 
    /** 
 | 
     *    全量获取车库信息 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String parkList(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.getParkList,body); 
 | 
    } 
 | 
    /** 
 | 
     *    根据车库编码查询出入口列表 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String entranceList(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.getEntranceList,body); 
 | 
    } 
 | 
    /** 
 | 
     *    车辆预约 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String parkAddition(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.parkAddition,body); 
 | 
    } 
 | 
    /** 
 | 
     *    车辆取消预约 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String parkDeletion(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.parkDeletion,body); 
 | 
    } 
 | 
    /** 
 | 
     *    固定车辆充值(包期) 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String carChargeAddtion(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.carChargeAddtion,body); 
 | 
    } 
 | 
    /** 
 | 
     *    固定车辆取消包期 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String carChargeDeletion(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.carChargeDeletion,body); 
 | 
    } 
 | 
  
 | 
  
 | 
    /** 
 | 
     * 获取人脸数据(提取人脸访问地址) 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static InputStream getFaceInputStream(String body)  throws  Exception{ 
 | 
  
 | 
        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{ 
 | 
            log.error("人脸下载出错"); 
 | 
            throw  new Exception("人脸下载出错"); 
 | 
        } 
 | 
    } 
 | 
    /** 
 | 
     * 获取访客记录中的图片 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static InputStream getVisitPicture(String body)  throws  Exception{ 
 | 
        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()) { 
 | 
            HttpEntity entity = resp.getEntity(); 
 | 
            InputStream in = entity.getContent(); 
 | 
            return  in; 
 | 
        }else{ 
 | 
            throw  new Exception("获取访客记录中的图片下载出错"); 
 | 
        } 
 | 
    } 
 | 
    /** 
 | 
     * 获取门禁事件的图片 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static InputStream getDevicePicture(String body)  throws  Exception{ 
 | 
  
 | 
        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()) { 
 | 
            HttpEntity entity = resp.getEntity(); 
 | 
            InputStream in = entity.getContent(); 
 | 
            return  in; 
 | 
        }else{ 
 | 
            throw  new Exception("获取门禁事件的图片下载出错"); 
 | 
        } 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 查询车辆抓拍图片 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static InputStream getCarPicture(String body)  throws  Exception{ 
 | 
  
 | 
        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()) { 
 | 
            HttpEntity entity = resp.getEntity(); 
 | 
            InputStream in = entity.getContent(); 
 | 
            return  in; 
 | 
        }else{ 
 | 
            throw  new Exception("查询车辆抓拍图片下载出错"); 
 | 
        } 
 | 
    } 
 | 
    /** 
 | 
     * 分页获取待办列表 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String getTodoListPage(Map<String, String> body)  throws  Exception{ 
 | 
        return startDoGetStringArtemis(HKConstants.InterfacePath.getTodoListPage,body); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     *消防看板-4温湿度数据 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String temperatureHumidityDataStatistic(String body) { 
 | 
        return startDoPostStringArtemisAdmin(HKConstants.InterfacePath.temperatureHumidityDataStatistic,body); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     *消防看板-4获取区域用量排名-能耗看板 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String regionDataRanking(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.regionDataRanking,body); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     *消防看板-4根据时间和时间维度获取园区能耗数据 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String energyTotal(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.energyTotal,body); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     *    获取门禁点列表 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String doorSearch(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.doorSearch,body); 
 | 
    } 
 | 
    /** 
 | 
     *    获取门禁设备列表 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String acsDeviceList(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.acsDeviceList,body); 
 | 
    } 
 | 
    /** 
 | 
     *    增量获取门禁设备列表 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String acsDeviceTimeRangeList(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.acsDeviceTimeRangeList,body); 
 | 
    } 
 | 
    /** 
 | 
     *    访客预约 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    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); 
 | 
    } 
 | 
    /** 
 | 
     *    访客免登记预约 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String visitAppiontmentMDJ(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.visitAppiontmentMDJ,body); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     *    取消访客预约 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String visitCancel(String body) { 
 | 
        return  startDoPostStringArtemis(HKConstants.InterfacePath.visitCancel,body); 
 | 
    } 
 | 
  
 | 
  
 | 
    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,pathStr[1]); 
 | 
        return result; 
 | 
    } 
 | 
  
 | 
  
 | 
    public static String startDoPostStringArtemisAdmin(String[] pathStr,String body){ 
 | 
        Map<String, String> path = getPath(pathStr[0]); 
 | 
        Map<String, String> header = new HashMap<>(); 
 | 
        header.put("userId", "admin"); 
 | 
        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 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, null,  header); 
 | 
        saveInterfaceLog(JSONObject.toJSONString(body),result,path,pathStr[1]); 
 | 
        return result; 
 | 
    } 
 | 
    public static String startDoGetStringArtemis(String[] pathStr,Map<String,String> querys ,Map<String, String> header ){ 
 | 
        Map<String, String> path = getPath(pathStr[0]); 
 | 
        String result = ArtemisHttpUtil.doGetArtemis(path, querys, null, null,  header); 
 | 
        saveInterfaceLog(JSONObject.toJSONString(querys),result,path,pathStr[1]); 
 | 
        return result; 
 | 
    } 
 | 
    public static String startDoGetStringArtemisJson(String[] pathStr,Map<String,String> body ){ 
 | 
        Map<String, String> path = getPath(pathStr[0]); 
 | 
        Map<String, String> header = new HashMap<>(); 
 | 
        String result = ArtemisHttpUtil.doGetArtemis(path, body, null, "application/json",  header); 
 | 
        saveInterfaceLog(JSONObject.toJSONString(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; 
 | 
    } 
 | 
    /** 
 | 
     *    签离访客预约 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String visitOut(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.visitOut,body); 
 | 
    } 
 | 
    /** 
 | 
     *    访客权限组 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String privilegeGroup(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.privilegeGroup,body); 
 | 
    } 
 | 
    public static String privilegIccmeGroup(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.privilegIccmeGroup,body); 
 | 
    } 
 | 
    /** 
 | 
     *    事件订阅 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String eventSub(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.eventSub,body); 
 | 
    } 
 | 
    /** 
 | 
     *    取消事件订阅 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String cancelEventSub(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.cancelEventSub,body); 
 | 
    } 
 | 
    /** 
 | 
     *    创建一卡通权限下载任务 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String taskAddition(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.taskAddition,body); 
 | 
    } 
 | 
    /** 
 | 
     *    查询一卡通权限查询设备通道的人员权限下载详情总数v2 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String taskProgress(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.taskProgress,body); 
 | 
    } 
 | 
    /** 
 | 
     *    查询一卡通权限下载任务进度 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String taskProgressNum(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.taskProgressNum,body); 
 | 
    } 
 | 
    /** 
 | 
     *    一卡通权限下载任务中添加数据_根据人员与设备通道指定下载 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String taskDataAddition(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.taskDataAddition,body); 
 | 
    } 
 | 
    /** 
 | 
     *    一卡通开始下载任务 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String taskStart(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.taskStart,body); 
 | 
    } 
 | 
    /** 
 | 
     * 查询权限条目列表 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String authItemList(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.authItemList,body); 
 | 
    } 
 | 
    /** 
 | 
     * 批量开卡 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String cardBingding(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.cardBingding,body); 
 | 
    } 
 | 
    /** 
 | 
     * 退卡 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String cardDeletion(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.cardDeletion,body); 
 | 
    } 
 | 
    /** 
 | 
     * 批量挂失 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String cardLoss(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.cardLoss,body); 
 | 
    } 
 | 
    /** 
 | 
     * 批量解挂 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String cardUnloss(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.cardUnloss,body); 
 | 
    } 
 | 
    /** 
 | 
     * 查询设备通道的人员权限下载详情 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String taskPersoDetail(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.taskPersoDetail,body); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     *    获取访客预约记录列表 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String visitingRecords(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.visitingRecords,body); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     *    获取全量组织信息 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String orgAllList(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.orgAllList,body); 
 | 
    } 
 | 
    /** 
 | 
     *    获取访客预约记录列表 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    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); 
 | 
    } 
 | 
    /** 
 | 
     *    根据微信公众号信息获取AccessToken 
 | 
     * @return 
 | 
     */ 
 | 
    public static String wxAccessToken(HashMap<String,String> params ) { 
 | 
//        String[] wxAccessToken= new String[2]; 
 | 
//        String url = HKConstants.InterfacePath.wxAccessToken[0]+"?tagId="+tagId+"&configId="+configId; 
 | 
//        String t = HKConstants.InterfacePath.wxAccessToken[1]; 
 | 
//        wxAccessToken[0] = url; 
 | 
//        wxAccessToken[1] = t; 
 | 
        return startDoGetStringArtemisJson(HKConstants.InterfacePath.wxAccessToken,params); 
 | 
    } 
 | 
    /** 
 | 
     *    根据配置微信公众号编号查询微信公众号信息 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    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); 
 | 
    } 
 | 
    /** 
 | 
     *    获取全量用户列表 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String userAllList(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.userAllList,body); 
 | 
    } 
 | 
    /** 
 | 
     *    获取全量用户列表2(根据条件分页查询) 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String personList(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.personList,body); 
 | 
    } 
 | 
    /** 
 | 
     *    增量获取组织列表 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String orgTimeRangeList(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.orgTimeRangeList,body); 
 | 
    } 
 | 
    /** 
 | 
     *    增量获取用户列表 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String userTimeRangeList(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.userTimeRangeList,body); 
 | 
    } 
 | 
    /** 
 | 
     *    增量获取车辆列表 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String vehicleTimeRangeList(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.vehicleTimeRangeList,body); 
 | 
    } 
 | 
    /** 
 | 
     *    全量获取车辆列表 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String vehicleList(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.vehicleList,body); 
 | 
    } 
 | 
    /** 
 | 
     *    停车场过车记录查询 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String parkCrossRecords(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.parkCrossRecords,body); 
 | 
    } 
 | 
    /** 
 | 
     *    人脸评分 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String facePictureCheck(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.facePictureCheck,body); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 获取门禁设备在线状态 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    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); 
 | 
    } 
 | 
    /** 
 | 
     * 获取消防传感器列表 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String pageFireChannel(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.pageFireChannel,body); 
 | 
    } 
 | 
    /** 
 | 
     * 查询消防传感器部件状态v2 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String pageSensorStatus(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.pageSensorStatus,body); 
 | 
    } 
 | 
    /** 
 | 
     * 安防看板-今日告警事件-根据eventType字段3 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String ruleEventSearch(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.ruleEventSearch,body); 
 | 
    } 
 | 
    /** 
 | 
     * 安防看板-园区安防设备-各类型设备状态数据列表 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String getSecureDevStatusList(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.getSecureDevStatusList,body); 
 | 
    } 
 | 
    /** 
 | 
     * 能耗看板-6按月查询近12个月的用电总量数据 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String energyTrend(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.energyTrend,body); 
 | 
    } 
 | 
    /** 
 | 
     * 消防维保统计 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String fireStatistic(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.fireStatistic,body); 
 | 
    } 
 | 
    /** 
 | 
     * 消防维保每月新增统计 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String fireStatisticMonth(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.fireStatisticMonth,body); 
 | 
    } 
 | 
    /** 
 | 
     * 消防看板-消防设备在离线1 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String getFireDevStatusTotal(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.getFireDevStatusTotal,body); 
 | 
    } 
 | 
    /** 
 | 
     * 消防看板-各类型设备在线率2 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String getFireDevStatusList(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.getFireDevStatusList,body); 
 | 
    } 
 | 
    /** 
 | 
     *消防看板-4报警信息统计 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String findAlarmBaseDataStatistic(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.findAlarmBaseDataStatistic,body); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     *安防看板-- b 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String findHomeAlarmInfoPage(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.findHomeAlarmInfoPage,body); 
 | 
    } 
 | 
    /** 
 | 
     *保存用户及openId绑定信息微信公众号 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String userOpenidSave(String body) { 
 | 
        Map<String,String> header = new HashMap<>(); 
 | 
        header.put("userId","admin"); 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.userOpenidSave,null,header,body); 
 | 
    } 
 | 
    /** 
 | 
     *通过openId或userName等删除绑定信息 
 | 
     * @param param 
 | 
     * @return 
 | 
     */ 
 | 
    public static String userOpenidDel(Map<String,String>  param) { 
 | 
        Map<String,String> header = new HashMap<>(); 
 | 
        header.put("userId","admin"); 
 | 
        return startDoGetStringArtemis(HKConstants.InterfacePath.userOpenidDel,param,header); 
 | 
    } 
 | 
    /** 
 | 
     *分页查询设备监测历史数据 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String minitorDataSearch(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.minitorDataSearchV1,body); 
 | 
    } 
 | 
    /** 
 | 
     * 统计园区总体的安防设备数量,在线数、在线率、离线数、离线率 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String getSecureDevStatusTotal(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.getSecureDevStatusTotal,body); 
 | 
    } 
 | 
    /** 
 | 
     * 统安防看板--园区实时车数量4 
 | 
     * @return 
 | 
     */ 
 | 
    public static String getParkingStatistics() { 
 | 
        return startDoGetStringArtemis(HKConstants.InterfacePath.getParkingStatistics,null); 
 | 
    } 
 | 
    /** 
 | 
     * 能耗看板-1.获取本月用能总量-自然月 
 | 
     * @return 
 | 
     */ 
 | 
    public static String getCurrentMonthDataByMeterType(Map<String,String>   powerType) { 
 | 
        return startDoGetStringArtemis(HKConstants.InterfacePath.getCurrentMonthDataByMeterType,powerType); 
 | 
    } 
 | 
    /** 
 | 
     * 能耗看板-2.获取区域用能前N位 
 | 
     * @return 
 | 
     */ 
 | 
    public static String regionTopPower(Map<String,String>   params) { 
 | 
        return startDoGetStringArtemis(HKConstants.InterfacePath.regionTopPower,params); 
 | 
    } 
 | 
    /** 
 | 
     * 能耗看板-3.获取各区域用能及总能耗 
 | 
     * @return 
 | 
     */ 
 | 
    public static String regionEnergyList(Map<String,String>   params) { 
 | 
        return startDoGetStringArtemis(HKConstants.InterfacePath.regionEnergyList,params); 
 | 
    } 
 | 
    /** 
 | 
     * 能耗看板-4.获取上月用能费用,一天刷新,凌晨某个点刷 
 | 
     * @return 
 | 
     */ 
 | 
    public static String lastMonthFeeByMeterType(Map<String,String>   params) { 
 | 
        return startDoGetStringArtemis(HKConstants.InterfacePath.lastMonthFeeByMeterType,params); 
 | 
    } 
 | 
    /** 
 | 
     * 能耗看板-5.园区实时负荷曲线 
 | 
     * @return 
 | 
     */ 
 | 
    public static String energyTodayLoadData( ) { 
 | 
        return startDoGetStringArtemis(HKConstants.InterfacePath.energyTodayLoadData,null); 
 | 
    } 
 | 
    /** 
 | 
     * 获取月台状态 
 | 
     * @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); 
 | 
        } 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 获取菜单 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String getHkMenu(Map<String,String> body) { 
 | 
        return startDoGetStringArtemis(HKConstants.InterfacePath.getMenus,body); 
 | 
    } 
 | 
    /** 
 | 
     * 分页获取区域列表 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String pageRegions(Map<String,String> header,String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.pageRegions,null,header,body); 
 | 
    } 
 | 
    /** 
 | 
     * 分页获取监控点资源 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String pageCameras(Map<String,String> header,String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.pageCameras,null,header,body); 
 | 
    } 
 | 
    /** 
 | 
     * 获取监控点预览取流URL 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String cameraPreviewURLs(Map<String,String> header,String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.cameraPreviewURLs,null,header,body); 
 | 
    } 
 | 
  
 | 
  
 | 
    /** 
 | 
     * 发送短信验证码 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String sendSms(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.sendSms,body); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 获取月台组件配置的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); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 查询场内车停车信息 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String tempCarInRecords(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.tempCarInRecords,body); 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 根据用户标识获取客户端TGC接口 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String applyCTGT(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.applyCTGT,body); 
 | 
    } 
 | 
    /** 
 | 
     * 根据登录标识TGC申请登录凭证ST接口 
 | 
     * @param body 
 | 
     * @return 
 | 
     */ 
 | 
    public static String applyST(String body) { 
 | 
        return startDoPostStringArtemis(HKConstants.InterfacePath.applyST,body); 
 | 
    } 
 | 
  
 | 
    public static String getMenuUrl(String componentId,String menuId, String token) { 
 | 
        String url = HKConstants.InterfacePath.goMenuUrl[0]; 
 | 
        url = url.replace("${componentId}",componentId).replace("${menuId}", menuId).replace("${token}",token); 
 | 
        return  url; 
 | 
    } 
 | 
} 
 |