From 7ebbbbf33166d8963709d133a208d362cf7fd3e8 Mon Sep 17 00:00:00 2001 From: litao Date: Thu, 2 Nov 2023 15:10:50 +0800 Subject: [PATCH] =?UTF-8?q?2023=E5=B9=B411=E6=9C=882=E6=97=A515:10:40?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hospital/agent/utils/QueueUtils.java | 2 +- .../AlarmInformationController.java | 12 +- .../controller/AppDataController.java | 25 +- .../springblade/hospital/hik/alarm/Alarm.java | 20 +- .../communicationCom/HTTPClientUtil.java | 41 ++- .../hospital/utils/CornJobUtil.java | 6 +- .../hospital/utils/ExternalUtils.java | 242 +++++++++--------- .../hospital/websocket/WebSocketServer.java | 8 +- 8 files changed, 192 insertions(+), 164 deletions(-) diff --git a/src/main/java/org/springblade/hospital/agent/utils/QueueUtils.java b/src/main/java/org/springblade/hospital/agent/utils/QueueUtils.java index ef23518..26fcf95 100644 --- a/src/main/java/org/springblade/hospital/agent/utils/QueueUtils.java +++ b/src/main/java/org/springblade/hospital/agent/utils/QueueUtils.java @@ -56,7 +56,7 @@ public class QueueUtils { public boolean saveQueueDataStatus(Point point) { //存放数据 - System.out.println("队列数据数量:"+blockingQueue_status.size()); +// System.out.println("队列数据数量:"+blockingQueue_status.size()); return blockingQueue_status.offer(point); } diff --git a/src/main/java/org/springblade/hospital/controller/AlarmInformationController.java b/src/main/java/org/springblade/hospital/controller/AlarmInformationController.java index aea135d..57802ac 100644 --- a/src/main/java/org/springblade/hospital/controller/AlarmInformationController.java +++ b/src/main/java/org/springblade/hospital/controller/AlarmInformationController.java @@ -66,7 +66,7 @@ public class AlarmInformationController extends BladeController { @PostMapping("/hikRemote") public R hikRemote(@RequestBody Map params) { - System.out.println("-------params:" + params); +// System.out.println("-------params:" + params); // String data = params.get("data"); // System.out.println("-------data:" + data); // Point point = new Gson().fromJson(JSON.toJSONString(params), Point.class); @@ -82,13 +82,13 @@ public class AlarmInformationController extends BladeController { // .setPntTypeValue(Integer.parseInt(String.valueOf(params.get("pntTypeValue_")))) .build(); - System.out.println("-------point:" + point); +// System.out.println("-------point:" + point); if (point == null) { return R.success("请求参数不能为空"); } // 上报海信iot平台 - System.out.println(point); +// System.out.println(point); boolean b = queueUtils.saveQueueDataStatus(point); return R.status(b); } @@ -161,7 +161,7 @@ public class AlarmInformationController extends BladeController { @GetMapping("/playback") public R playback(String cameraIndexCode, String beginTime, String endTime) throws Exception { String result = ArtemisPostTest.callPostApiGetRegions(cameraIndexCode, beginTime, endTime); - System.out.println("res:" + result); +// System.out.println("res:" + result); Map map = JSON.parseObject(result, Map.class); if ("0".equals(map.get("code"))) { Map url = (Map) map.get("data"); @@ -182,13 +182,13 @@ public class AlarmInformationController extends BladeController { if (map2.get("type") != null && "device_event".equals(map2.get("type").toString())) { Map map3 = JSON.parseObject(map2.get("data").toString(), Map.class); - System.out.println("map3:" + map3); +// System.out.println("map3:" + map3); // 报警信息数据过滤 if (map3.get("eventList") != null) { List eventList = JSON.parseObject(map3.get("eventList").toString(), List.class); if ("manualAlarm".equals(eventList.get(0))) { - System.out.println("ruku:--------------"); +// System.out.println("ruku:--------------"); AlarmInformation alarmInformation = new AlarmInformation(); alarmInformation.setType("device_event"); alarmInformation.setReportTime(new Date(Long.parseLong(map.get("time").toString()))); diff --git a/src/main/java/org/springblade/hospital/controller/AppDataController.java b/src/main/java/org/springblade/hospital/controller/AppDataController.java index 7096ff1..beb2291 100644 --- a/src/main/java/org/springblade/hospital/controller/AppDataController.java +++ b/src/main/java/org/springblade/hospital/controller/AppDataController.java @@ -118,8 +118,8 @@ public class AppDataController extends BladeController { String url = paramService.getValue("url"); // 设置请求Header - String appKey = "aS6T6X0u"; - String appSecret = "F5pFaRzKdUA7jBzQWlg4UV36Hvej5AdntqjqkWRigio="; + String appKey = "BLjfCFWB"; + String appSecret = "V/VznZDAm7v+8NF2f53p9SYpTZQvaS5lyntQOqQFV6Q="; String zfcAll = "1234567890"; char[] zfc = zfcAll.toCharArray(); @@ -408,18 +408,19 @@ public class AppDataController extends BladeController { // public static void main(String[] args) { try { - RestTemplate restTemplate = new RestTemplate(); - String url = "http://171.16.8.58:8080/prod-api/api/safeCare/callBack/getDeviceCamera?sn=1918FC32532E"; - HttpHeaders headers = new HttpHeaders(); - headers.setContentType(MediaType.parseMediaType("application/json;charset=UTF-8")); - HttpEntity request = new HttpEntity(headers); - // 发送get请求,并输出结果 - ResponseEntity exchange = restTemplate.exchange(url, HttpMethod.GET, request, String.class); - // 返回数据 - Map cameraMap = JSONObject.parseObject(exchange.getBody(), Map.class); +// RestTemplate restTemplate = new RestTemplate(); +// String url = "http://171.16.8.58:8080/prod-api/api/safeCare/callBack/getDeviceCamera?sn=1918FC32532E"; +// HttpHeaders headers = new HttpHeaders(); +// headers.setContentType(MediaType.parseMediaType("application/json;charset=UTF-8")); +// HttpEntity request = new HttpEntity(headers); +// // 发送get请求,并输出结果 +// ResponseEntity exchange = restTemplate.exchange(url, HttpMethod.GET, request, String.class); +// // 返回数据 +// Map cameraMap = JSONObject.parseObject(exchange.getBody(), Map.class); // String rzUrl = "http://" + HTTPClientUtil.strIP + ":" + HTTPClientUtil.iPort + "/ISAPI/System/deviceInfo"; -// String renzheng = HTTPClientUtil.renzheng(rzUrl, HTTPClientUtil.client); + String rzUrl = "http://171.16.206.140:80/ISAPI/System/deviceInfo"; + String renzheng = HTTPClientUtil.renzheng(rzUrl, HTTPClientUtil.client); // System.out.println(renzheng.contains("DS-PWA32-H20230524AACHQ25788522WU1")); // System.out.println("shuchu:" + HTTPClientUtil.renzheng(rzUrl, HTTPClientUtil.client)); 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 f8a3bc7..052dfd8 100644 --- a/src/main/java/org/springblade/hospital/hik/alarm/Alarm.java +++ b/src/main/java/org/springblade/hospital/hik/alarm/Alarm.java @@ -29,7 +29,6 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Scanner; import java.util.stream.Collectors; /** @@ -47,7 +46,7 @@ public class Alarm implements CommandLineRunner { static FMSGCallBack_V31 fMSFCallBack_V31 = null; static FMSGCallBack fMSFCallBack; static Map numMap; - static Map clientMap = new HashMap<>(); +// static Map clientMap = new HashMap<>(); public static Map ipMap; public static Map portMap; public static Map macMap; @@ -521,9 +520,6 @@ public class Alarm implements CommandLineRunner { @Override public void run(String... args) { try { - if (clientMap == null) { - clientMap = new HashMap<>(); - } if (ipMap == null) { ipMap = new HashMap<>(); } @@ -538,23 +534,23 @@ public class Alarm implements CommandLineRunner { AtomicInteger size = new AtomicInteger(0); List threadList = new ArrayList<>(); ScheduledFuture scheduledFuture = scheduled.scheduleAtFixedRate(() -> { + log.info("我执行了1"); List list = externalUtils.getList(0, 0, null, null, "105", null); log.info("获取报警主机列表数量为:" + list.size()); - if(list.size() != size.get()){ + if (list.size() != size.get()) { size.set(list.size()); - if(threadList.size() > 0){ - for(Thread thread : threadList){ + if (threadList.size() > 0) { + for (Thread thread : threadList) { thread.interrupt(); } } threadList.clear(); // 物联网平台获取的报警主机列表 - getList(list,threadList); + getList(list, threadList); } }, 0, 1, TimeUnit.DAYS); - } catch (Exception e) { e.printStackTrace(); } @@ -656,7 +652,7 @@ public class Alarm implements CommandLineRunner { // hCNetSDK.NET_DVR_Cleanup(); } - public void getList(List list,List threadList){ + public void getList(List list, List threadList) { if (CollectionUtils.isNotEmpty(list)) { HTTPClientUtil clientUtil = new HTTPClientUtil(); for (Map map : list) { @@ -672,7 +668,7 @@ public class Alarm implements CommandLineRunner { String mac = tagsMap.get("mac").toString(); HttpClient client = new HttpClient(); - clientMap.put(number, client); +// clientMap.put(number, client); ipMap.put(number, ip); portMap.put(number, port); macMap.put(mac, number); 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 4e5b713..b9024c1 100644 --- a/src/main/java/org/springblade/hospital/newalarm/communicationCom/HTTPClientUtil.java +++ b/src/main/java/org/springblade/hospital/newalarm/communicationCom/HTTPClientUtil.java @@ -34,6 +34,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; + @Slf4j public class HTTPClientUtil { @@ -57,7 +58,7 @@ public class HTTPClientUtil { byte[] responseData = method.getResponseBodyAsString().getBytes(method.getResponseCharSet()); strResponseData = new String(responseData, "utf-8"); } catch (IOException e) { - log.error("url:"+rzUrl+",通讯出现错误,错误信息是:" + e.toString()); + log.error("url:" + rzUrl + ",通讯出现错误,错误信息是:" + e.toString()); //出现错误,每隔1s,重新尝试调用 try { Thread.sleep(1000); @@ -72,7 +73,21 @@ public class HTTPClientUtil { return strResponseData; } - public static String doGet(String url, HttpClient client){ + public static String statusRz(String rzUrl, HttpClient client) throws IOException { + // 设置用户名和密码 + UsernamePasswordCredentials creds = new UsernamePasswordCredentials("admin", "hao12345"); + client.getState().setCredentials(AuthScope.ANY, creds); + GetMethod method = new GetMethod(rzUrl); + method.setDoAuthentication(true); + int statusCode = client.executeMethod(method); + byte[] responseData = method.getResponseBodyAsString().getBytes(method.getResponseCharSet()); + String strResponseData = new String(responseData, "utf-8"); + method.releaseConnection(); + // 输出接收的消息 + return strResponseData; + } + + public static String doGet(String url, HttpClient client) { GetMethod method = new GetMethod(url); method.setDoAuthentication(true); @@ -85,7 +100,7 @@ public class HTTPClientUtil { // Use encoding in the Return response message (utf-8 or gb2312) response = new String(responseBody, "utf-8"); } catch (IOException e) { - log.error("url:"+url+",通讯出现错误,错误信息是:" + e.toString()); + log.error("url:" + url + ",通讯出现错误,错误信息是:" + e.toString()); //出现错误,每隔1s,重新尝试调用 try { Thread.sleep(1000); @@ -136,10 +151,12 @@ public class HTTPClientUtil { List list = new ArrayList<>(); while ((str = br.readLine()) != null && !Thread.currentThread().isInterrupted()) { +// log.info("读取导数据,开始解析" + str); try { - Thread.sleep(1000); + // 检查线程是否打断 + Thread.sleep(10); } catch (Exception e) { - System.out.println("Thread 停止!"); + log.info("Thread 停止!"); break; } if (str.contains("--boundary")) { @@ -148,7 +165,7 @@ public class HTTPClientUtil { if (resMap.get("CIDEvent") != null) { // 报警信息 Map cidMap = JSON.parseObject(resMap.get("CIDEvent").toString(), Map.class); - System.out.println("报警信息:" + cidMap); + log.info("报警信息:" + cidMap); if (externalUtils == null) { externalUtils = SpringUtil.getBean(ExternalUtils.class); @@ -179,7 +196,9 @@ public class HTTPClientUtil { alarmInformation.setReportTime(new Date()); alarmInformation.setType(sCIDCode); alarmInformation.setContent(DictBizCache.getValue("alarm_message_type", sCIDCode)); - alarmInformation.setSystemNum(Integer.parseInt(cidMap.get("system").toString())); + if (cidMap.get("system") != null) { + alarmInformation.setSystemNum(Integer.parseInt(cidMap.get("system").toString())); + } alarmInformation.setHostSerialNumber(sSerialNumber); alarmInformation.setHostIp(resMap.get("ipAddress").toString()); alarmInformation.setAlarmType(1); @@ -270,12 +289,12 @@ public class HTTPClientUtil { } // System.out.println("接收到的数据:" + resMap); } -// System.out.println(sSerialNumber + "接收到的数据:" + str); +// log.info("开始下次循环读数据。"); } - + log.info("读数据结束,释放连接"); method.releaseConnection(); - } catch (IOException e) { - log.error("url:"+url+",通讯出现错误,错误信息是:" + e.toString()); + } catch (Exception e) { + log.error("url:" + url + ",通讯出现错误,错误信息是:" + e.toString()); //出现错误,每隔1s,重新尝试调用 try { Thread.sleep(1000); diff --git a/src/main/java/org/springblade/hospital/utils/CornJobUtil.java b/src/main/java/org/springblade/hospital/utils/CornJobUtil.java index 83f5630..c1a4fbc 100644 --- a/src/main/java/org/springblade/hospital/utils/CornJobUtil.java +++ b/src/main/java/org/springblade/hospital/utils/CornJobUtil.java @@ -51,7 +51,7 @@ public class CornJobUtil { * 定时更新设备状态,每1分钟执行一次 */ @Async -// @Scheduled(initialDelay = 5000, fixedRate = 60000) + @Scheduled(initialDelay = 5000, fixedRate = 60000) public void updateStatus() { System.out.println("定时1分钟获取1次设备状态"); externalUtils.updateStatus(); @@ -63,7 +63,7 @@ public class CornJobUtil { @Async // @Scheduled(initialDelay = 6000, fixedRate = 180000) public void task() { - System.out.println("定时任务执行了2"); +// System.out.println("定时任务执行了2"); List jobs = cornJobService.list(Wrappers.lambdaQuery().eq(CornJob::getStatus, 1).eq(CornJob::getIsRegular, 1)); if (CollectionUtils.isNotEmpty(jobs)) { List jobList = new ArrayList<>(); @@ -72,7 +72,7 @@ public class CornJobUtil { if (new Date().compareTo(nextExecuteTime) < 0) { continue; } - System.out.println("-----------------===================="); +// System.out.println("-----------------===================="); try { if (StringUtils.isNotBlank(job.getDeviceId())) { String[] ids = job.getDeviceId().split(","); diff --git a/src/main/java/org/springblade/hospital/utils/ExternalUtils.java b/src/main/java/org/springblade/hospital/utils/ExternalUtils.java index 54fb51e..65ed52d 100644 --- a/src/main/java/org/springblade/hospital/utils/ExternalUtils.java +++ b/src/main/java/org/springblade/hospital/utils/ExternalUtils.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.google.protobuf.ByteString; import com.hisense.device.agent.grpc.Point; import io.swagger.models.auth.In; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springblade.common.cache.ParamCache; import org.springblade.core.cache.utils.CacheUtil; @@ -22,6 +23,7 @@ import org.springframework.http.*; import org.springframework.stereotype.Component; import org.springframework.web.client.RestTemplate; +import java.io.IOException; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -32,6 +34,7 @@ import static org.springblade.common.constant.CommonConstant.IOT_PLATFORM_URL; import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE; @Component +@Slf4j public class ExternalUtils { @Autowired @@ -63,7 +66,7 @@ public class ExternalUtils { String data = JSON.toJSONString(r.getData()); Map map = JSONObject.parseObject(data, Map.class); String token = map.get("token"); - System.out.println("token" + token); +// System.out.println("token" + token); return token; } @@ -138,145 +141,154 @@ public class ExternalUtils { * 更新设备状态 */ public void updateStatus() { - // 报警主机信息 - List hosts = getList(0, 0, null, null, "105", null); + List hosts = null; + List mapList = null; + try { + // 报警主机信息 + hosts = getList(0, 0, null, null, "105", null); - // 子系统、防区信息 - List mapList = getList(0, 0, null, null, "100", null); + // 子系统、防区信息 + mapList = getList(0, 0, null, null, "100", null); + } catch (Exception e) { + log.info("获取设备信息失败!"); + + } // 遍历设备列表更新设备状态信息 if (CollectionUtils.isNotEmpty(hosts)) { - try { - for (Map hostMap : hosts) { - String tags = JSON.toJSONString(hostMap.get("tags")).replace("\\", ""); - tags = tags.substring(1, tags.length() - 1); - Map tagMap = JSONObject.parseObject(tags, Map.class); - String number = tagMap.get("hostNumber").toString(); // 序列号 - String mac = tagMap.get("mac").toString(); // 自定义mac - - // 认证 + for (Map hostMap : hosts) { + String tags = JSON.toJSONString(hostMap.get("tags")).replace("\\", ""); + tags = tags.substring(1, tags.length() - 1); + Map tagMap = JSONObject.parseObject(tags, Map.class); + String number = tagMap.get("hostNumber").toString(); // 序列号 + String mac = tagMap.get("mac").toString(); // 自定义mac + + // 认证 + String renzheng = null; + try { String rzUrl = "http://" + Alarm.ipMap.get(number) + ":" + Alarm.portMap.get(number) + "/ISAPI/System/deviceInfo"; - String renzheng = HTTPClientUtil.renzheng(rzUrl, HTTPClientUtil.client); + renzheng = HTTPClientUtil.statusRz(rzUrl, HTTPClientUtil.client); + } catch (IOException e) { + log.info("该设备连接失败!"); + continue; + } - if (renzheng.contains(number)) { - // 获取该报警主机的所有状态 - String status = "http://" + Alarm.ipMap.get(number) + ":" + Alarm.portMap.get(number) + "/ISAPI/SecurityCP/status/host?format=json"; - String statusData = HTTPClientUtil.doGet(status, HTTPClientUtil.client); + if (renzheng.contains(number)) { + // 获取该报警主机的所有状态 + String status = "http://" + Alarm.ipMap.get(number) + ":" + Alarm.portMap.get(number) + "/ISAPI/SecurityCP/status/host?format=json"; + String statusData = HTTPClientUtil.doGet(status, HTTPClientUtil.client); - Map statusMap = JSONObject.parseObject(statusData, Map.class); - Map alarmHostStatus = JSONObject.parseObject(statusMap.get("AlarmHostStatus").toString(), Map.class); - Map communiStatus = JSONObject.parseObject(alarmHostStatus.get("CommuniStatus").toString(), Map.class); - System.out.println("CommuniStatus" + communiStatus); + Map statusMap = JSONObject.parseObject(statusData, Map.class); + Map alarmHostStatus = JSONObject.parseObject(statusMap.get("AlarmHostStatus").toString(), Map.class); + Map communiStatus = JSONObject.parseObject(alarmHostStatus.get("CommuniStatus").toString(), Map.class); +// System.out.println("CommuniStatus" + communiStatus); - // 如果通讯断开跳过 - if (!"normal".equals(communiStatus.get("wired"))) { - continue; - } + // 如果通讯断开跳过 + if (!"normal".equals(communiStatus.get("wired"))) { + continue; + } - // 防区状态 - List zoneList = JSONObject.parseObject(alarmHostStatus.get("ZoneList").toString(), List.class); - System.out.println("ZoneList" + zoneList); - // 子系统状态 - List subSysList = JSONObject.parseObject(alarmHostStatus.get("SubSysList").toString(), List.class); - System.out.println("SubSysList" + subSysList); - - // 过滤只有该报警主机下的子系统、防区 - List list = mapList.stream().filter(map -> JSON.toJSONString(map.get("tags")).contains(number)).collect(Collectors.toList()); - for (Map map : list) { - // 物联网设备状态 - int state = Integer.parseInt(String.valueOf(map.get("status"))); - - String s = JSON.toJSONString(map.get("tags")).replace("\\", ""); - s = s.substring(1, s.length() - 1); - Map tagsMap = JSONObject.parseObject(s, Map.class); - String id = tagsMap.get("pmac").toString(); - String type = tagsMap.get("type").toString(); - - // 防区号/子系统号 - int sCIDCode = Integer.parseInt(tagsMap.get("buildingNo").toString()); - - // 设备真实状态 - int fqStatus = 0; - int presence = 0; - - if ("2".equals(type)) { - presence = 1; - List zones = zoneList.stream().filter(zone -> Integer.parseInt(JSONObject.parseObject(zone.get("Zone").toString(), Map.class).get("id").toString()) == sCIDCode - 1).collect(Collectors.toList()); - - if (CollectionUtils.isNotEmpty(zones)) { - Map zoneMap = zones.get(0); - Map zone = JSONObject.parseObject(zoneMap.get("Zone").toString(), Map.class); - // 防区布防状态 0-对应防区处于撤防状态,1-对应防区处于布防状态 - int bySetupAlarmStatus = 0; - if ((boolean) zone.get("isArming")) { - bySetupAlarmStatus = 1; - } + // 防区状态 + List zoneList = JSONObject.parseObject(alarmHostStatus.get("ZoneList").toString(), List.class); +// System.out.println("ZoneList" + zoneList); + // 子系统状态 + List subSysList = JSONObject.parseObject(alarmHostStatus.get("SubSysList").toString(), List.class); +// System.out.println("SubSysList" + subSysList); + + // 过滤只有该报警主机下的子系统、防区 + List list = mapList.stream().filter(map -> JSON.toJSONString(map.get("tags")).contains(number)).collect(Collectors.toList()); + for (Map map : list) { + // 物联网设备状态 + int state = Integer.parseInt(String.valueOf(map.get("status"))); + + String s = JSON.toJSONString(map.get("tags")).replace("\\", ""); + s = s.substring(1, s.length() - 1); + Map tagsMap = JSONObject.parseObject(s, Map.class); + String id = tagsMap.get("pmac").toString(); + String type = tagsMap.get("type").toString(); + + // 防区号/子系统号 + int sCIDCode = Integer.parseInt(tagsMap.get("buildingNo").toString()); + + // 设备真实状态 + int fqStatus = 0; + int presence = 0; + + if ("2".equals(type)) { + presence = 1; + List zones = zoneList.stream().filter(zone -> Integer.parseInt(JSONObject.parseObject(zone.get("Zone").toString(), Map.class).get("id").toString()) == sCIDCode - 1).collect(Collectors.toList()); + + if (CollectionUtils.isNotEmpty(zones)) { + Map zoneMap = zones.get(0); + Map zone = JSONObject.parseObject(zoneMap.get("Zone").toString(), Map.class); + // 防区布防状态 0-对应防区处于撤防状态,1-对应防区处于布防状态 + int bySetupAlarmStatus = 0; + if ((boolean) zone.get("isArming")) { + bySetupAlarmStatus = 1; + } - // 防区旁路状态 0-表示防区没有旁路 1-表示防区旁路 - int byBypassStatus = 0; - if ((boolean) zone.get("bypassed")) { - byBypassStatus = 1; - } + // 防区旁路状态 0-表示防区没有旁路 1-表示防区旁路 + int byBypassStatus = 0; + if ((boolean) zone.get("bypassed")) { + byBypassStatus = 1; + } - // 防区故障状态,0-对应防区处于正常状态,1-对应防区处于故障状态 - int byAlarmInFaultStatus = 0; - if ("breakDown".equals(zone.get("status"))) { - byAlarmInFaultStatus = 1; - } + // 防区故障状态,0-对应防区处于正常状态,1-对应防区处于故障状态 + int byAlarmInFaultStatus = 0; + if ("breakDown".equals(zone.get("status"))) { + byAlarmInFaultStatus = 1; + } - // 防区报警状态,0-对应防区当前无报警,1-对应防区当前有报警 - int byAlarmInStatus = 0; - if ((boolean) zone.get("alarm")) { - byAlarmInStatus = 1; - } + // 防区报警状态,0-对应防区当前无报警,1-对应防区当前有报警 + int byAlarmInStatus = 0; + if ((boolean) zone.get("alarm")) { + byAlarmInStatus = 1; + } - // 上报防区报警状态 + // 上报防区报警状态 // updateById(id, 7, byAlarmInStatus, type); // test1(id, 7, byAlarmInStatus, 2); // test1(id, 7, 1, 2); - // 撤防-6 布防-5 旁路-7 - if (byAlarmInFaultStatus == 0) { - if (bySetupAlarmStatus == 1) { - fqStatus = 5; - } else if (bySetupAlarmStatus == 0 && byBypassStatus == 0) { - fqStatus = 6; - } else if (byBypassStatus == 1) { - fqStatus = 7; - } - } else { - fqStatus = 4; - } - } - } else if ("3".equals(type)) { - presence = 2; - List subSyss = subSysList.stream().filter(sys -> Integer.parseInt(JSONObject.parseObject(sys.get("SubSys").toString(), Map.class).get("id").toString()) == sCIDCode).collect(Collectors.toList()); - if (CollectionUtils.isNotEmpty(subSyss)) { - Map sysMap = subSyss.get(0); - Map subSys = JSONObject.parseObject(sysMap.get("SubSys").toString(), Map.class); - //子系统布防状态,0-对应子系统处于撤防状态,1-对应子系统处于布防状态 - fqStatus = 6; - if (!"disarm".equals(subSys.get("arming"))) { + // 撤防-6 布防-5 旁路-7 + if (byAlarmInFaultStatus == 0) { + if (bySetupAlarmStatus == 1) { fqStatus = 5; + } else if (bySetupAlarmStatus == 0 && byBypassStatus == 0) { + fqStatus = 6; + } else if (byBypassStatus == 1) { + fqStatus = 7; } + } else { + fqStatus = 4; + } + } + } else if ("3".equals(type)) { + presence = 2; + List subSyss = subSysList.stream().filter(sys -> Integer.parseInt(JSONObject.parseObject(sys.get("SubSys").toString(), Map.class).get("id").toString()) == sCIDCode).collect(Collectors.toList()); + if (CollectionUtils.isNotEmpty(subSyss)) { + Map sysMap = subSyss.get(0); + Map subSys = JSONObject.parseObject(sysMap.get("SubSys").toString(), Map.class); + //子系统布防状态,0-对应子系统处于撤防状态,1-对应子系统处于布防状态 + fqStatus = 6; + if (!"disarm".equals(subSys.get("arming"))) { + fqStatus = 5; } } + } - // 海信iot - updateById(id, fqStatus, presence, type); + // 海信iot + updateById(id, fqStatus, presence, type); // test(id, fqStatus, presence, type); - if (fqStatus == state) { - continue; - } - - // 物联网平台 - bizDevice(Integer.parseInt(String.valueOf(map.get("id"))), fqStatus); + if (fqStatus == state) { + continue; } + + // 物联网平台 + bizDevice(Integer.parseInt(String.valueOf(map.get("id"))), fqStatus); } } - } catch (Exception e) { - e.printStackTrace(); } } } @@ -371,7 +383,7 @@ public class ExternalUtils { CacheUtil.put(SYS_CACHE, "token:id:", "wlwtoken", token); respon = device(token, id, status); } - System.out.println(respon); +// System.out.println(respon); } private Map device(String token, int id, int status) { @@ -464,6 +476,6 @@ public class ExternalUtils { // 发送post请求,并输出结果 R r = restTemplate.postForObject(url, httpEntity, R.class); - System.out.println("调用远程服务器接口成功!!:" + r); +// System.out.println("调用远程服务器接口成功!!:" + r); } } diff --git a/src/main/java/org/springblade/hospital/websocket/WebSocketServer.java b/src/main/java/org/springblade/hospital/websocket/WebSocketServer.java index e5c6db7..04fcc45 100644 --- a/src/main/java/org/springblade/hospital/websocket/WebSocketServer.java +++ b/src/main/java/org/springblade/hospital/websocket/WebSocketServer.java @@ -50,7 +50,7 @@ public class WebSocketServer { // 如果有重复sid连接,拒绝 for (WebSocketServer webSocketServer : webSocketSet) { if (sid.equals(webSocketServer.sid)) { - System.out.println(sid + "已存在,拒绝连接!"); +// System.out.println(sid + "已存在,拒绝连接!"); // try { // session.getBasicRemote().sendText(sid + "已存在,拒绝连接!"); // System.out.println("当前连接:" + session); @@ -98,7 +98,7 @@ public class WebSocketServer { */ @OnMessage public void onMessage(String message, Session session) { - log.info("收到来自实例:{},的信息:{}", sid, message); +// log.info("收到来自实例:{},的信息:{}", sid, message); //群发消息 for (WebSocketServer webSocketServer : webSocketSet) { try { @@ -140,7 +140,7 @@ public class WebSocketServer { System.out.println("webSocketSet连接数量:" + webSocketSet.size()); for (WebSocketServer item : webSocketSet) { try { - System.out.println(item.sid + "===" + item.session); +// System.out.println(item.sid + "===" + item.session); item.sendMessage(message); } catch (Exception e) { continue; @@ -149,7 +149,7 @@ public class WebSocketServer { } public static void test() { - System.out.println("webSocketSet连接数量:" + webSocketSet.size()); +// System.out.println("webSocketSet连接数量:" + webSocketSet.size()); for (WebSocketServer item : webSocketSet) { System.out.println(item.sid + "===" + item.session); }