| | |
| | | import com.ruoyi.device.camera.mapper.ArdCamerasMapper; |
| | | import com.ruoyi.device.hiksdk.common.global.globalVariable; |
| | | import com.ruoyi.device.camera.domain.ArdCameras; |
| | | import com.ruoyi.device.camera.service.IArdCamerasService; |
| | | import com.ruoyi.device.cameracalibration.domain.ArdCamerasCalibration; |
| | | import com.ruoyi.device.hiksdk.domain.recordInfo; |
| | | import com.ruoyi.device.cameracalibration.service.IArdCamerasCalibrationService; |
| | | import com.ruoyi.device.hiksdk.util.hikSdkUtil.GisUtil; |
| | | import com.ruoyi.device.hiksdk.util.hikSdkUtil.HCNetSDK; |
| | | import com.ruoyi.device.hiksdk.service.hikClientService; |
| | | import com.ruoyi.device.hiksdk.util.imageUtil.waterMarkUtil; |
| | | import com.ruoyi.device.hiksdk.util.minioUtil.MinioUtil; |
| | | import com.ruoyi.system.mapper.SysUserMapper; |
| | | import com.ruoyi.system.service.ISysUserService; |
| | | import com.sun.jna.Native; |
| | | import com.sun.jna.Platform; |
| | | import com.sun.jna.Pointer; |
| | |
| | | import sun.misc.BASE64Encoder; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.imageio.ImageIO; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.*; |
| | | import java.math.BigDecimal; |
| | | import java.net.URLEncoder; |
| | | import java.nio.ByteBuffer; |
| | | import java.text.DecimalFormat; |
| | | import java.text.SimpleDateFormat; |
| | |
| | | * @修改人和其它信息 |
| | | */ |
| | | @Override |
| | | @SdkOperate |
| | | // @SdkOperate |
| | | public boolean PTZControlWithSpeed(CameraCmd cmd) { |
| | | String cameraId = cmd.getCameraId(); |
| | | boolean enable = cmd.isEnable(); |
| | |
| | | } |
| | | return bool; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 设置聚焦值 |
| | |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public boolean setTargetPosition(CameraCmd cmd) { |
| | | String cameraId = cmd.getCameraId(); |
| | | Integer channelNum = cmd.getChannelNum(); |
| | | if (!globalVariable.loginMap.containsKey(cameraId)) { |
| | | return false; |
| | | } |
| | | Integer userId = globalVariable.loginMap.get(cameraId); |
| | | HCNetSDK.NET_DVR_PTZPOS m_ptzPosCurrent = new HCNetSDK.NET_DVR_PTZPOS(); |
| | | m_ptzPosCurrent.wAction = 1; |
| | | try { |
| | | double[] cameraPositon = Arrays.stream(cmd.getCamPosition().split(",")).mapToDouble(Double::parseDouble).toArray(); |
| | | double[] targetPositions = Arrays.stream(cmd.getTargetPosition().split(",")).mapToDouble(Double::parseDouble).toArray(); |
| | | double[] cameraPTZ = GisUtil.getCameraPTZ(cameraPositon, targetPositions, 20, 150); |
| | | String p = String.valueOf((int) ( cameraPTZ[0] * 10)); |
| | | String t = String.valueOf((int) ( cameraPTZ[1] * 10)); |
| | | String z = String.valueOf((int) (cameraPTZ[2]* 10)); |
| | | m_ptzPosCurrent.wPanPos = (short) (Integer.parseInt(p, 16)); |
| | | m_ptzPosCurrent.wTiltPos = (short) (Integer.parseInt(t, 16)); |
| | | m_ptzPosCurrent.wZoomPos = (short) (Integer.parseInt(z, 16)); |
| | | Pointer point = m_ptzPosCurrent.getPointer(); |
| | | m_ptzPosCurrent.write(); |
| | | boolean bool = hCNetSDK.NET_DVR_SetDVRConfig(userId, NET_DVR_SET_PTZPOS, channelNum, point, m_ptzPosCurrent.size()); |
| | | if (!bool) { |
| | | int code = hCNetSDK.NET_DVR_GetLastError(); |
| | | log.info("设置ptz失败,请稍后重试" + code); |
| | | } |
| | | return bool; |
| | | } catch (Exception ex) { |
| | | log.error(ex.getMessage()); |
| | | return false; |
| | | } |
| | | } |
| | | /** |
| | | * @描述 操控锁定 |
| | | * @参数 [userId, channelNum] |