lxw
2023-08-27 02b034d7e6433cec9ae3c9248dc95198cd9a2cfa
控制门禁
5个文件已修改
86 ■■■■■ 已修改文件
src/main/java/com/whyc/carCamera/Acs/AcsMain.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/carCamera/Acs/DoorManage.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/controller/CarCameraController.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/dto/Login.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/CarCameraService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/carCamera/Acs/AcsMain.java
@@ -295,4 +295,63 @@
        return carCamera;
    }
    /**
     * 控制
     *
     */
    public static boolean controllCarCamera(Login login){
        if(hCNetSDK == null)
        {
            if(!createSDKInstance())
            {
                System.out.println("Load SDK fail");
                return false;
            }
        }
        //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());
       //控制门径
        boolean bl=DoorManage.controllCarCamera(lUserID, login.getLgatewayIndex(), login.getDwstaic());
        /**登出操作*/
        AcsMain.logout();
        //释放SDK,程序退出前调用
        hCNetSDK.NET_DVR_Cleanup();
        return bl;
    }
}
src/main/java/com/whyc/carCamera/Acs/DoorManage.java
@@ -139,4 +139,16 @@
            System.out.println("远程控门成功");
        }
    }
    /**
     * 远程控门
     *
     * @param lUserID 用户登录句柄
     * @param lGatewayIndex 门禁序号(楼层编号、锁ID),从1开始,-1表示对所有门(或者梯控的所有楼层)进行操作
     * @param dwStaic 命令值:0- 关闭(对于梯控,表示受控),1- 打开(对于梯控,表示开门),2- 常开(对于梯控,表示自由、通道状态),3- 常关(对于梯控,表示禁用),4- 恢复(梯控,普通状态),5- 访客呼梯(梯控),6- 住户呼梯(梯控)
     */
    public static boolean controllCarCamera(int lUserID, int lGatewayIndex, int dwStaic) {
        boolean b_Gate =false;
        b_Gate = AcsMain.hCNetSDK.NET_DVR_ControlGateway(lUserID, lGatewayIndex, dwStaic);
        return  b_Gate;
    }
}
src/main/java/com/whyc/controller/CarCameraController.java
@@ -22,4 +22,10 @@
    public Response getCarCamera(@RequestBody Login login){
        return service.getCarCamera(login);
    }
    @ApiOperation(value = "控制门禁")
    @PostMapping("getCarCamera")
    public Response controllCarCamera(@RequestBody Login login){
        return service.controllCarCamera(login);
    }
}
src/main/java/com/whyc/dto/Login.java
@@ -8,4 +8,6 @@
    private String passWord;
    private String ip;
    private int port;
    private int lgatewayIndex;
    private int dwstaic;
}
src/main/java/com/whyc/service/CarCameraService.java
@@ -4,8 +4,10 @@
import com.whyc.dto.CarCamera;
import com.whyc.dto.Login;
import com.whyc.pojo.Response;
import javafx.scene.effect.Bloom;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestParam;
@Service
@@ -18,4 +20,9 @@
        CarCamera carCamera=acsMain.getCarCamera(login);
        return new Response().setII(1,carCamera!=null,carCamera,"获取门禁状态");
    }
    //控制门禁
    public Response controllCarCamera(Login login)  {
        Boolean bl=acsMain.controllCarCamera(login);
        return new Response().set(1,bl,"控制门禁");
    }
}