From b5fce843589c19928ed7a1c02deefe0442e8ed87 Mon Sep 17 00:00:00 2001 From: pengjie <17373303529@163.com> Date: Tue, 12 Mar 2024 15:49:12 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=91=E6=8E=A7=E6=8E=A5=E5=8F=A3=E3=80=81?= =?UTF-8?q?=E8=BD=A6=E7=89=8C=E8=AF=86=E5=88=AB=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/zhgd/xmgl/call/HikvisionCall.java | 78 +++++++++++++++++++ .../controller/CarPassRecordController.java | 9 +++ 2 files changed, 87 insertions(+) diff --git a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java index 63f39b9e6..daf029d3d 100644 --- a/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java +++ b/src/main/java/com/zhgd/xmgl/call/HikvisionCall.java @@ -301,6 +301,44 @@ public class HikvisionCall { return null; } + /** + * 测试获取人员详情 + * + * @return + */ + @GetMapping("/getCameraOnline") + public Result getCameraOnline() { + Project project = projectMapper.selectOne(new LambdaQueryWrapper().eq(Project::getProjectSn, "B717CB992D054A878FDAFB4A5C169947")); + JSONArray cameraOnline = getCameraOnline(project).getJSONArray("list"); + long online = cameraOnline.stream().filter(c -> JSONObject.parseObject(c.toString()).getString("online").equals("1")).count(); + long online1 = cameraOnline.stream().filter(c -> JSONObject.parseObject(c.toString()).getString("online").equals("0")).count(); + long online2 = cameraOnline.stream().filter(c -> JSONObject.parseObject(c.toString()).getString("online") == null).count(); + Map resultMap = new HashMap<>(); + resultMap.put("online", online); + resultMap.put("online1", online1); + resultMap.put("online2", online2); + return Result.success(resultMap); + } + + /** + * 获取编码设备在线状态 + * + * @return + */ + @GetMapping("/getEncodeDeviceOnline") + public Result getEncodeDeviceOnline() { + Project project = projectMapper.selectOne(new LambdaQueryWrapper().eq(Project::getProjectSn, "B717CB992D054A878FDAFB4A5C169947")); + JSONArray encodedDevice = getEncodeDeviceOnline(project).getJSONArray("list"); + long online = encodedDevice.stream().filter(c -> JSONObject.parseObject(c.toString()).getString("online").equals("1")).count(); + long online1 = encodedDevice.stream().filter(c -> JSONObject.parseObject(c.toString()).getString("online").equals("0")).count(); + long online2 = encodedDevice.stream().filter(c -> JSONObject.parseObject(c.toString()).getString("online") == null).count(); + Map resultMap = new HashMap<>(); + resultMap.put("online", online); + resultMap.put("online1", online1); + resultMap.put("online2", online2); + return Result.success(resultMap); + } + /** * 获取车辆颜色 * @@ -1194,6 +1232,46 @@ public class HikvisionCall { return null; } + /** + * 获取监控点在线状态 + * @param project + */ + public JSONObject getCameraOnline(Project project) { + final String ARTEMIS_PATH = "/artemis"; + final String path = ARTEMIS_PATH + "/api/nms/v1/online/camera/get"; + String host = "https://" + project.getArtemisConfigHost(); + JSONObject requestParam = new JSONObject(); + String rs = HikvisionUtil.doPost(host, path, JSONArray.toJSONString(requestParam), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret()); + if (rs == null) { + return null; + } + JSONObject jod = HikvisionUtil.getJSONObjectData(rs); + if (jod != null) { + return jod; + } + return null; + } + + /** + * 获取编码设备在线状态 + * @param project + */ + public JSONObject getEncodeDeviceOnline(Project project) { + final String ARTEMIS_PATH = "/artemis"; + final String path = ARTEMIS_PATH + "/api/nms/v1/online/encode_device/get"; + String host = "https://" + project.getArtemisConfigHost(); + JSONObject requestParam = new JSONObject(); + String rs = HikvisionUtil.doPost(host, path, JSONArray.toJSONString(requestParam), null, project.getArtemisConfigAppKey(), project.getArtemisConfigAppSecret()); + JSONObject jod = HikvisionUtil.getJSONObjectData(rs); + if (rs == null) { + return null; + } + if (jod != null) { + return jod; + } + return null; + } + private HikvisionOrganization getHikvisionOrganization(Project project) { HikvisionOrganization hikvisionOrganization = new HikvisionOrganization(); hikvisionOrganization.setClientId(null); diff --git a/src/main/java/com/zhgd/xmgl/modules/car/controller/CarPassRecordController.java b/src/main/java/com/zhgd/xmgl/modules/car/controller/CarPassRecordController.java index c6bf43ea9..6f9b5b10f 100644 --- a/src/main/java/com/zhgd/xmgl/modules/car/controller/CarPassRecordController.java +++ b/src/main/java/com/zhgd/xmgl/modules/car/controller/CarPassRecordController.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.gexin.fastjson.JSON; import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.mybatis.EntityMap; +import com.zhgd.xmgl.modules.car.entity.CarCamera; import com.zhgd.xmgl.modules.car.entity.CarPassRecord; import com.zhgd.xmgl.modules.car.entity.vo.TodayOutInNumber; import com.zhgd.xmgl.modules.car.service.ICarCameraService; @@ -228,6 +229,14 @@ public class CarPassRecordController { return rs; } + @ApiOperation(value = "接收车辆摄像头传过来的车辆通行记录", notes = "接收车辆摄像头传过来的车辆通行记录", httpMethod = "POST") + @PostMapping(value = "/saveCarPassRecord") + public Result saveCarPassRecord(@RequestBody CarPassRecord carPassRecord) { + CarCamera camera = carCameraService.getOne(Wrappers.lambdaQuery().eq(CarCamera::getCameraId, carPassRecord.getCameraId())); + Map resultMap = carPassRecordService.saveCameraCarPassRecord(carPassRecord.getCarNumber(), carPassRecord.getCarLogo(), carPassRecord.getColor(), camera.getProjectSn(), carPassRecord.getCameraId(), carPassRecord.getType() == 0 ? "in" : "out", carPassRecord.getImageUrl(), null); + return Result.success(resultMap); + } + private List> getCarTitle(String action, String type, String plateNum, Integer redCode, Integer systemType) { List> list = new ArrayList<>(); String title = "";