| | |
| | | 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; |
| | | } |
| | | |
| | | } |
| | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | public Response getCarCamera(@RequestBody Login login){ |
| | | return service.getCarCamera(login); |
| | | } |
| | | |
| | | @ApiOperation(value = "控制门禁") |
| | | @PostMapping("getCarCamera") |
| | | public Response controllCarCamera(@RequestBody Login login){ |
| | | return service.controllCarCamera(login); |
| | | } |
| | | } |
| | |
| | | private String passWord; |
| | | private String ip; |
| | | private int port; |
| | | private int lgatewayIndex; |
| | | private int dwstaic; |
| | | } |
| | |
| | | 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 |
| | |
| | | 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,"控制门禁"); |
| | | } |
| | | } |