diff --git a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java index 266fdd6d2..deb57686f 100644 --- a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java +++ b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java @@ -154,8 +154,14 @@ public class HikvisionCall { for (int i = 0; i < eventsJa.size(); i++) { JSONObject jo1 = eventsJa.getJSONObject(i); JSONObject dataJo = jo1.getJSONObject("data"); + Integer status = jo1.getInteger("status"); String srcIndex = jo1.getString("srcIndex"); Long eventType = jo1.getLong("eventType"); + String plateNo = dataJo.getString("plateNo"); + if (!Objects.equals(status, 5)) { + log.info("status!=5没有图片的不记录,cameraId:{},plateNo:{}", srcIndex, plateNo); + continue; + } CarCamera carCamera = carCameraMapper.selectOne(new LambdaQueryWrapper() .eq(CarCamera::getCameraId, srcIndex)); if (carCamera == null) { @@ -169,17 +175,16 @@ public class HikvisionCall { return Result.error("海康事件车辆入场压线的project不存在,cameraId:" + cameraId); } - String plateNo = dataJo.getString("plateNo"); String time = DateUtil.formatDateTime(DateUtil.parse(dataJo.getString("time"))); if (eventType == 771760134 || eventType == 771760131) { - //出入场放行 - CarPassRecord carPassRecord = carPassRecordMapper.getNewestlineBreakingEvent(plateNo, time); - if (carPassRecord == null) { - log.info("海康回调出入场放行的压线不存在:plateNo:{}", plateNo); - return Result.error(""); - } - carPassRecord.setIsOpen(1); - carPassRecordMapper.updateById(carPassRecord); + //出入场放行,不通过这个判断车辆是否通行 + //CarPassRecord carPassRecord = carPassRecordMapper.getNewestlineBreakingEvent(plateNo, time); + //if (carPassRecord == null) { + // log.info("海康回调出入场放行的压线不存在:plateNo:{}", plateNo); + // return Result.error(""); + //} + //carPassRecord.setIsOpen(1); + //carPassRecordMapper.updateById(carPassRecord); } else if (eventType == 771760130 || eventType == 771760133) { //压线事件 CarPassRecord entity = new CarPassRecord(); @@ -204,7 +209,16 @@ public class HikvisionCall { entity.setProjectSn(carCamera.getProjectSn()); entity.setColor(getColor(dataJo.getInteger("vehicleColor"))); entity.setCameraId(srcIndex); - entity.setIsOpen(0); + List carInfos = carInfoMapper.selectList(new LambdaQueryWrapper() + .eq(CarInfo::getProjectSn, carCamera.getProjectSn()) + .eq(CarInfo::getCarNumber, plateNo) + .eq(CarInfo::getIsBlack, 0) + ); + if (CollUtil.isNotEmpty(carInfos)) { + entity.setIsOpen(1); + } else { + entity.setIsOpen(0); + } carPassRecordMapper.insert(entity); } }