球机IO bug修改

camera_merge
王一鸣 5 years ago
parent 3b508284f0
commit 840fb4a2f3

@ -9,7 +9,6 @@ import com.zhehekeji.web.entity.CameraIOConfig;
import com.zhehekeji.web.lib.PtzControlModule; import com.zhehekeji.web.lib.PtzControlModule;
import com.zhehekeji.web.pojo.camera.CameraConfigSearchReq; import com.zhehekeji.web.pojo.camera.CameraConfigSearchReq;
import com.zhehekeji.web.pojo.camera.CameraIOPtz; import com.zhehekeji.web.pojo.camera.CameraIOPtz;
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;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@ -96,13 +95,6 @@ public class CameraController {
return Result.success(cameraService.ioList(cameraId)); return Result.success(cameraService.ioList(cameraId));
} }
@PutMapping("/io")
@ApiOperation(value = "球机IO修改")
public Result editIO(@RequestBody CameraIO cameraIO){
cameraService.editIO(cameraIO);
return Result.success();
}
@PostMapping("/io/ptz") @PostMapping("/io/ptz")
@ApiOperation(value = "球机IO配置") @ApiOperation(value = "球机IO配置")
public Result<Integer> ptz(@RequestBody CameraIOPtz req) { public Result<Integer> ptz(@RequestBody CameraIOPtz req) {

@ -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.time.LocalDateTime; import java.time.LocalDateTime;
@ -18,12 +19,16 @@ public class CameraIO {
private String name; private String name;
@ApiModelProperty("位置")
private String position; private String position;
@ApiModelProperty("对焦")
private String focusing; private String focusing;
@ApiModelProperty("光圈")
private String aperture; private String aperture;
@ApiModelProperty("倍率")
private String multiple; private String multiple;
private Integer ptzId; private Integer ptzId;

@ -3,6 +3,9 @@ package com.zhehekeji.web.lib;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
/**
* sdk
*/
public class OrderCmdSerial { public class OrderCmdSerial {
public static ConcurrentHashMap<Integer, OrderInfo> orderCmdSerialMap = new ConcurrentHashMap<>(Short.MAX_VALUE * 4); public static ConcurrentHashMap<Integer, OrderInfo> orderCmdSerialMap = new ConcurrentHashMap<>(Short.MAX_VALUE * 4);

@ -0,0 +1,33 @@
package com.zhehekeji.web.lib;
import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
*
* sdk 使
*/
public class OrderRealtime {
/**
* key :streetId
* value:
*/
private static Map<Integer,String> orderMap = new ConcurrentHashMap<>();
public static void startOrder(Integer streetId,String orderNum){
synchronized (streetId.toString().intern()){
orderMap.put(streetId,orderNum);
}
}
public static String stopOrder(Integer streetId){
synchronized (streetId.toString().intern()){
String orderNum = orderMap.get(streetId);
orderMap.remove(streetId);
return orderNum;
}
}
}

@ -261,13 +261,13 @@ public class PtzControlModule {
/** /**
* *
* @param ioId ID,ID, * @param ptzId ID
* @param name * @param name
* @param cameraId ID, * @param cameraId ID,
*/ */
public static void ptz(Integer ioId,String name,Integer cameraId){ public static void ptz(Integer ptzId,String name,Integer cameraId){
int dwzCommand = NetSDKLib.NET_PTZ_ControlType.NET_PTZ_POINT_SET_CONTROL; int dwzCommand = NetSDKLib.NET_PTZ_ControlType.NET_PTZ_POINT_SET_CONTROL;
int nPressetIndex = ioId; int nPressetIndex = ptzId;
Boolean ok = ptzControler(dwzCommand,0,nPressetIndex,0,0,ToolKits.GetGBKStringToPointer(name),CameraConnMap.getConnId(cameraId)); Boolean ok = ptzControler(dwzCommand,0,nPressetIndex,0,0,ToolKits.GetGBKStringToPointer(name),CameraConnMap.getConnId(cameraId));
Assert.isTrue(ok,"设置失败"); Assert.isTrue(ok,"设置失败");
} }

@ -11,7 +11,7 @@ public interface CameraIOMapper extends BaseMapper<CameraIO> {
@Select("select t.name as name ,io.id ,io.aperture,io.camera_id,io.focusing,io.multiple,io.position,io.ptz_id,io.update_time\n" + @Select("select t.name as name ,io.id ,io.aperture,io.camera_id,io.focusing,io.multiple,io.position,io.ptz_id,io.update_time\n" +
"from camera_io_config t \n" + "from camera_io_config t \n" +
"left join (select * from camera_io where camera_id = #{cameraId}) io on io.name = t.name ") "left join (select * from camera_io where camera_id = #{cameraId}) io on io.name = t.name order by t.id")
List<CameraIO> cameraIOs (@Param("cameraId") Integer cameraId); List<CameraIO> cameraIOs (@Param("cameraId") Integer cameraId);
} }

@ -16,7 +16,7 @@ public class CameraIOPtz {
@ApiModelProperty("cameraIOId") @ApiModelProperty("cameraIOId")
private Integer cameraIOId; private Integer cameraIOId;
@NotEmpty(message = "O指令名称不能为空") @NotEmpty(message = "IO指令名称不能为空")
@ApiModelProperty("PLC IO指令名称") @ApiModelProperty("PLC IO指令名称")
private String name; private String name;

@ -145,11 +145,6 @@ public class CameraService {
return list; return list;
} }
public void editIO(CameraIO cameraIO) {
cameraIO.setUpdateTime(LocalDateTime.now());
ioMapper.updateById(cameraIO);
}
/** /**
* *
* synchronized ptzId * synchronized ptzId
@ -161,7 +156,7 @@ public class CameraService {
Assert.notNull(camera, "球机不存在"); Assert.notNull(camera, "球机不存在");
Integer cameraPtzId = camera.getPtzId() == null ? 0 : camera.getPtzId(); Integer cameraPtzId = camera.getPtzId() == null ? 0 : camera.getPtzId();
CameraIO cameraIO = null; CameraIO cameraIO = null;
Integer ptzId = cameraPtzId++; int ptzId = cameraPtzId + 1;
if (IOId == null || IOId == 0) { if (IOId == null || IOId == 0) {
//新增 //新增
cameraIO = new CameraIO(); cameraIO = new CameraIO();
@ -171,18 +166,20 @@ public class CameraService {
cameraIO.setPtzId(ptzId); cameraIO.setPtzId(ptzId);
conver(cameraIO,type); conver(cameraIO,type);
ioMapper.insert(cameraIO); ioMapper.insert(cameraIO);
camera.setPtzId(ptzId);
cameraMapper.updateById(camera);
} else { } else {
//修改 //修改
cameraIO = ioMapper.selectById(IOId); cameraIO = ioMapper.selectById(IOId);
Assert.notNull(cameraIO, "IO不存在"); Assert.notNull(cameraIO, "IO不存在");
cameraIO.setPtzId(ptzId); //将ptzId赋值为旧的不能用新的负责SDK里面就是新增预置点
ptzId = cameraIO.getPtzId();
//cameraIO.setPtzId(ptzId);
cameraIO.setUpdateTime(LocalDateTime.now()); cameraIO.setUpdateTime(LocalDateTime.now());
conver(cameraIO,type); conver(cameraIO,type);
ioMapper.updateById(cameraIO); ioMapper.updateById(cameraIO);
} }
camera.setPtzId(ptzId); PtzControlModule.ptz(ptzId, cameraIO.getName(), cameraId);
cameraMapper.updateById(camera);
PtzControlModule.ptz(IOId, cameraIO.getName(), cameraId);
log.info("设置 预置点 球机ID:{},预置点ID:{}", cameraId, ptzId); log.info("设置 预置点 球机ID:{},预置点ID:{}", cameraId, ptzId);
return cameraIO.getId(); return cameraIO.getId();
} }

Loading…
Cancel
Save