camera_merge
王一鸣 5 years ago
parent 4e0ef0482a
commit 3a459cfb72

@ -5,6 +5,8 @@ import com.zhehekeji.common.util.ValidatorUtil;
import com.zhehekeji.core.pojo.Result; import com.zhehekeji.core.pojo.Result;
import com.zhehekeji.web.entity.Camera; import com.zhehekeji.web.entity.Camera;
import com.zhehekeji.web.entity.CameraIO; import com.zhehekeji.web.entity.CameraIO;
import com.zhehekeji.web.lib.PtzControlModule;
import com.zhehekeji.web.pojo.camera.CameraIOPtz;
import com.zhehekeji.web.pojo.camera.CameraSearchReq; import com.zhehekeji.web.pojo.camera.CameraSearchReq;
import com.zhehekeji.web.pojo.street.StreetSearch; import com.zhehekeji.web.pojo.street.StreetSearch;
import com.zhehekeji.web.service.CameraService; import com.zhehekeji.web.service.CameraService;
@ -85,4 +87,20 @@ public class CameraController {
cameraService.delIO(id); cameraService.delIO(id);
return Result.success(); return Result.success();
} }
@PostMapping("/io/ptz")
@ApiOperation(value = "球机IO配置")
public Result ptz(@RequestBody CameraIOPtz req) {
validatorUtil.validate(req);
cameraService.ptz(req.getCameraIOId(),req.getCameraId());
return Result.success();
}
@PostMapping("/io/toPtz")
@ApiOperation(value = "转至球机IO配置点")
public Result toPtz(@RequestBody CameraIOPtz req) {
validatorUtil.validate(req);
PtzControlModule.toPtz(req.getCameraIOId(),req.getCameraId());
return Result.success();
}
} }

@ -3,6 +3,7 @@ package com.zhehekeji.web.entity;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
@ -27,13 +28,16 @@ public class Camera {
private String rtsp; private String rtsp;
private String position; // private String position;
//
// private String focusing;
//
// private String aperture;
//
// private BigDecimal multiple;
private String focusing; @ApiModelProperty(value = "预置点 增长值",hidden = true)
private Integer ptzId;
private String aperture;
private BigDecimal multiple;
private LocalDateTime updateTime; private LocalDateTime updateTime;
} }

@ -20,5 +20,13 @@ public class CameraIO {
private Integer ptzId; private Integer ptzId;
private String position;
private String focusing;
private String aperture;
private String multiple;
private LocalDateTime updateTime; private LocalDateTime updateTime;
} }

@ -2,7 +2,9 @@ package com.zhehekeji.web.lib;
import com.sun.jna.Pointer; import com.sun.jna.Pointer;
import com.sun.jna.ptr.IntByReference; import com.sun.jna.ptr.IntByReference;
import com.zhehekeji.core.util.Assert;
import com.zhehekeji.web.lib.common.ErrorCode; import com.zhehekeji.web.lib.common.ErrorCode;
import lombok.extern.slf4j.Slf4j;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.UUID; import java.util.UUID;
@ -11,6 +13,7 @@ import java.util.UUID;
* *
* *
*/ */
@Slf4j
public class PtzControlModule { public class PtzControlModule {
private static CallBack.Mp4ReceiveCB mp4ReceiveCB = new CallBack.Mp4ReceiveCB(); private static CallBack.Mp4ReceiveCB mp4ReceiveCB = new CallBack.Mp4ReceiveCB();
@ -256,6 +259,39 @@ public class PtzControlModule {
} }
} }
/**
*
* @param ioId ID,ID,
* @param name
* @param cameraId ID,
*/
public static void ptz(Integer ioId,String name,Integer cameraId){
int dwzCommand = NetSDKLib.NET_PTZ_ControlType.NET_PTZ_POINT_SET_CONTROL;
int nPressetIndex = ioId;
Boolean ok = ptzControler(dwzCommand,0,nPressetIndex,0,0,ToolKits.GetGBKStringToPointer(name),CameraConnMap.getConnId(cameraId));
Assert.isTrue(ok,"设置失败");
}
public static Boolean ptzControler(int dwPTZCOmmand, int lParam1, int lParam2, int lParam3, int dwStop, Pointer pointer, NetSDKLib.LLong loginId){
return LoginModule.netsdk.CLIENT_DHPTZControlEx2(loginId,0,dwPTZCOmmand,lParam1,lParam2,lParam3,dwStop,pointer);
}
/**
*
* @param ioId
* @param cameraId
*/
public static void toPtz(Integer ioId,Integer cameraId){
int dwPTZCommand = NetSDKLib.NET_PTZ_ControlType.NET_PTZ_POINT_MOVE_CONTROL;
int nPresetIndex = ioId;
Boolean ok = ptzControler(dwPTZCommand, 0, nPresetIndex, 0, 0, null,CameraConnMap.getConnId(cameraId));
if(!ok ){
log.error("转至预置点 失败 cameraId:{},ioId:{}",cameraId,ioId);
}
}

@ -0,0 +1,15 @@
package com.zhehekeji.web.pojo.camera;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
public class CameraIOPtz {
@NotNull(message = "cameraId不能为空")
private Integer cameraId;
@NotNull(message = "球机IO id不能为空")
private Integer cameraIOId;
}

@ -4,9 +4,11 @@ import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.sun.xml.internal.ws.policy.privateutil.PolicyUtils;
import com.zhehekeji.core.util.Assert; import com.zhehekeji.core.util.Assert;
import com.zhehekeji.web.entity.Camera; import com.zhehekeji.web.entity.Camera;
import com.zhehekeji.web.entity.CameraIO; import com.zhehekeji.web.entity.CameraIO;
import com.zhehekeji.web.lib.PtzControlModule;
import com.zhehekeji.web.mapper.CameraIOMapper; import com.zhehekeji.web.mapper.CameraIOMapper;
import com.zhehekeji.web.mapper.CameraMapper; import com.zhehekeji.web.mapper.CameraMapper;
import com.zhehekeji.web.mapper.StreetMapper; import com.zhehekeji.web.mapper.StreetMapper;
@ -60,6 +62,7 @@ public class CameraService {
public void edit(Camera camera){ public void edit(Camera camera){
camera.setUpdateTime(LocalDateTime.now()); camera.setUpdateTime(LocalDateTime.now());
camera.setPtzId(null);
try { try {
cameraMapper.updateById(camera); cameraMapper.updateById(camera);
}catch (DuplicateKeyException e){ }catch (DuplicateKeyException e){
@ -85,6 +88,7 @@ public class CameraService {
public Integer addIO(CameraIO cameraIO){ public Integer addIO(CameraIO cameraIO){
cameraIO.setUpdateTime(LocalDateTime.now()); cameraIO.setUpdateTime(LocalDateTime.now());
cameraIO.setPtzId(0);
ioMapper.insert(cameraIO); ioMapper.insert(cameraIO);
return cameraIO.getId(); return cameraIO.getId();
} }
@ -104,5 +108,13 @@ public class CameraService {
ioMapper.deleteById(id); ioMapper.deleteById(id);
} }
public void ptz(Integer IOId,Integer cameraId){
CameraIO cameraIO = ioMapper.selectById(IOId);
Assert.notNull(cameraIO,"IO不存在");
PtzControlModule.ptz(IOId,cameraIO.getName(),cameraId);
log.info("设置 预置点 球机ID:{},预置点ID:{}",cameraId, IOId);
}
} }

Loading…
Cancel
Save