From a423c5424fb14f3469a90e7180b2dc803fc95bb8 Mon Sep 17 00:00:00 2001 From: litao Date: Fri, 22 Dec 2023 13:33:58 +0800 Subject: [PATCH] =?UTF-8?q?bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AppDataController.java | 43 +++++++++++++------ .../springblade/hospital/hik/alarm/Alarm.java | 28 +++++++++--- .../communicationCom/HTTPClientUtil.java | 4 +- 3 files changed, 51 insertions(+), 24 deletions(-) diff --git a/src/main/java/org/springblade/hospital/controller/AppDataController.java b/src/main/java/org/springblade/hospital/controller/AppDataController.java index d8f0ac1..8ac877d 100644 --- a/src/main/java/org/springblade/hospital/controller/AppDataController.java +++ b/src/main/java/org/springblade/hospital/controller/AppDataController.java @@ -124,16 +124,21 @@ public class AppDataController extends BladeController { for (Map map : pictureList) { String url = String.valueOf(map.get("url")); String substring = url.substring(url.lastIndexOf(".") + 1); + // 图片 if ("png".equals(substring) || "jpg".equals(substring)) { map.put("type", 2); String base64 = ImageBase64Util.encodeImgageToBase64(url); map.put("base64", base64); map.remove("url"); - } else if ("mp3".equals(substring)) { - map.put("type", 2); - map.put("base64", ImageBase64Util.getBase64(url)); - map.remove("url"); - } else { + } + // 语音 +// else if ("mp3".equals(substring)) { +// map.put("type", 2); +// map.put("base64", ImageBase64Util.getBase64(url)); +// map.remove("url"); +// } + // 其他 + else { map.put("type", 1); map.put("url", url); } @@ -153,9 +158,6 @@ public class AppDataController extends BladeController { String zfcAll = "1234567890"; char[] zfc = zfcAll.toCharArray(); String nonce = RandomStringUtils.random(32, zfc); -// UUID id = UUID.randomUUID(); -// String[] idd = id.toString().split("-"); -// String nonce = idd[0] + idd[1] + idd[2] + idd[3] + idd[4]; String timestamp = String.valueOf(System.currentTimeMillis()); try { @@ -263,6 +265,25 @@ public class AppDataController extends BladeController { return map; } + /** + * 子系统消警 + */ + @PostMapping("/clearAlarm") + public R clearAlarm(@RequestParam String hostSerialNumber, @RequestParam String num) { + String[] splitHost = hostSerialNumber.split(","); + String[] splitNum = num.split(","); + String status = ""; + for (int i = 0; i < splitHost.length; i++) { + String[] split = splitNum[i].split("_"); + if (Alarm.clearAlarm(splitHost[i], Integer.parseInt(split[split.length - 1]))) { + status += "子系统:" + split[split.length - 2] + "_" + split[split.length - 1] + "消警成功!"; + } else { + status += "子系统:" + split[split.length - 2] + "_" + split[split.length - 1] + "消警失败!"; + } + } + return R.success(status); + } + /** * 子系统布防 */ @@ -365,10 +386,4 @@ public class AppDataController extends BladeController { return R.data(new JoysuchCoordinate((double) x, (double) y, lng, lat)); } - public static void main(String[] args) throws IOException { - String url = "http://171.16.8.51:9000/hospital/upload/20231221/afe50cd7d6bc8227e6079193cbb9f00c.mp3"; - String base64 = ImageBase64Util.getBase64(url); - System.out.println("base64:" + base64); - } - } diff --git a/src/main/java/org/springblade/hospital/hik/alarm/Alarm.java b/src/main/java/org/springblade/hospital/hik/alarm/Alarm.java index 886976f..6e7c704 100644 --- a/src/main/java/org/springblade/hospital/hik/alarm/Alarm.java +++ b/src/main/java/org/springblade/hospital/hik/alarm/Alarm.java @@ -360,13 +360,27 @@ public class Alarm implements CommandLineRunner { return false; } return false; -// boolean b = hCNetSDK.NET_DVR_AlarmHostClearAlarm(numMap.get(hostSerialNumber), num); -// if (b) { -// System.out.println("消警成功"); -// } else { -// System.out.println("消警失败" + hCNetSDK.NET_DVR_GetLastError()); -// } -// return b; + } + + /** + * 子系统消警 + */ + public static boolean clearAlarm(String hostSerialNumber, int num) { + try { + String rzUrl = "http://" + ipMap.get(hostSerialNumber) + ":" + portMap.get(hostSerialNumber) + "/ISAPI/System/deviceInfo"; + String renzheng = HTTPClientUtil.renzheng(rzUrl, HTTPClientUtil.client); + if (renzheng.contains(hostSerialNumber)) { + // 下发消警指令 + String xjUrl = "http://" + ipMap.get(hostSerialNumber) + ":" + portMap.get(hostSerialNumber) + "/ISAPI/SecurityCP/control/clearAlarm/" + num; + String respx = HTTPClientUtil.doPut(xjUrl, "", HTTPClientUtil.client); + log.info("respx:" + respx); + return true; + } + } catch (Exception e) { + e.printStackTrace(); + return false; + } + return false; } /** diff --git a/src/main/java/org/springblade/hospital/newalarm/communicationCom/HTTPClientUtil.java b/src/main/java/org/springblade/hospital/newalarm/communicationCom/HTTPClientUtil.java index bdd0d6f..ccf479d 100644 --- a/src/main/java/org/springblade/hospital/newalarm/communicationCom/HTTPClientUtil.java +++ b/src/main/java/org/springblade/hospital/newalarm/communicationCom/HTTPClientUtil.java @@ -224,9 +224,7 @@ public class HTTPClientUtil { alarmInformation.setDeviceId(tagsMap.get("pmac").toString()); Map bizProduct = JSONObject.parseObject(JSON.toJSONString(map.get("bizProduct")), Map.class); alarmInformation.setProductName(bizProduct.get("name").toString()); - if (tagsMap.get("cameraCode") != null) { - alarmInformation.setCameraCode(DictBizCache.getValue("hikvision_camera", map.get("name").toString())); - } + alarmInformation.setCameraCode(DictBizCache.getValue("hikvision_camera", map.get("name").toString())); // 主动修改设备状态-物联网平台 if ("3401".equals(sCIDCode)) {