whyclxw
2024-03-11 70189eed5b6e57530e17dc74288a52c1af6f18cf
src/main/java/com/whyc/carCamera/Acs/AcsMain.java
@@ -280,7 +280,7 @@
        /**登录*/
        login_V40(login.getIp(),login.getUserName(),login.getPassWord(),(short)login.getPort());
        login_V40(login.getIp(),login.getUserName(),login.getPassword(),(short)login.getPort());
        /**门禁主机参数设置(获取)*/
@@ -340,7 +340,7 @@
        /**登录*/
        login_V40(login.getIp(),login.getUserName(),login.getPassWord(),(short)login.getPort());
        login_V40(login.getIp(),login.getUserName(),login.getPassword(),(short)login.getPort());
       //控制门径
        boolean bl=DoorManage.controllCarCamera(lUserID, login.getLgatewayIndex(), login.getDwstaic());
@@ -354,4 +354,65 @@
        return bl;
    }
    /**
     * 获取门禁状态
     *
     */
    public static String getFaceCInfo(Login login,String carId){
        if(hCNetSDK == null)
        {
            if(!createSDKInstance())
            {
                System.out.println("Load SDK fail");
                return null;
            }
        }
        //linux系统建议调用以下接口加载组件库
        if (osSelect.isLinux())
        {
            HCNetSDK.BYTE_ARRAY ptrByteArray1 = new HCNetSDK.BYTE_ARRAY(256);
            HCNetSDK.BYTE_ARRAY ptrByteArray2 = new HCNetSDK.BYTE_ARRAY(256);
            //这里是库的绝对路径,请根据实际情况修改,注意改路径必须有访问权限
            String strPath1 = System.getProperty("user.dir")+"/lib/libcrypto.so.1.1";
            String strPath2 = System.getProperty("user.dir")+"/lib/libssl.so.1.1";
            System.arraycopy(strPath1.getBytes(), 0, ptrByteArray1.byValue, 0, strPath1.length());
            ptrByteArray1.write();
            hCNetSDK.NET_DVR_SetSDKInitCfg(3, ptrByteArray1.getPointer());
            System.arraycopy(strPath2.getBytes(), 0, ptrByteArray2.byValue, 0, strPath2.length());
            ptrByteArray2.write();
            hCNetSDK.NET_DVR_SetSDKInitCfg(4, ptrByteArray2.getPointer());
            String strPathCom = System.getProperty("user.dir")+"/lib/";
            HCNetSDK.NET_DVR_LOCAL_SDK_PATH struComPath = new HCNetSDK.NET_DVR_LOCAL_SDK_PATH();
            System.arraycopy(strPathCom.getBytes(), 0, struComPath.sPath, 0, strPathCom.length());
            struComPath.write();
            hCNetSDK.NET_DVR_SetSDKInitCfg(2, struComPath.getPointer());
        }
        /**初始化*/
        hCNetSDK.NET_DVR_Init();
        /**加载日志*/
        boolean i= hCNetSDK.NET_DVR_SetLogToFile(3, "./sdklog", false);
        /**登录*/
        login_V40(login.getIp(),login.getUserName(),login.getPassword(),(short)login.getPort());
        /**查询单张卡号关联的人脸信息*/
        String facePath=FaceManage.getFaceCInfo(lUserID,carId);
        /**登出操作*/
        AcsMain.logout();
        //释放SDK,程序退出前调用
        hCNetSDK.NET_DVR_Cleanup();
        return facePath;
    }
}