diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java index e1b8290..74723b4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java @@ -231,18 +231,28 @@ if (!Objects.isNull(caseInfo1) && !StringUtils.isEmpty(caseInfo1.getHappenTime()) && !StringUtils.isEmpty(caseInfo1.getDeviceCode())) { caseInfos.add(caseInfo1); } + } //3、安防事件入库 - if (!CollectionUtils.isEmpty(caseInfos) && !caseInfoService.insertCaseInfoBatch(caseInfos)) { - log.error("安防事件批量入库异常!"); - } - // TODO: 2022/8/15 webSocket推送 if (!CollectionUtils.isEmpty(caseInfos)) { - log.info("webSocket事件推送"); - WebSocketDTO webSocketDTO = new WebSocketDTO(); - webSocketDTO.setType("case"); - webSocketDTO.setData(caseInfos); - webSocket.sendAllMessage(JSONObject.toJSONString(webSocketDTO)); + if (!caseInfoService.insertCaseInfoBatch(caseInfos)) { + log.error("安防事件批量入库异常!"); + } else { + for (CaseInfo info : caseInfos) { + //webSocket推送 + if (!CollectionUtils.isEmpty(caseInfos)) { + log.info("webSocket事件推送,内容为:{}", JSONObject.toJSONString(caseInfos)); + info.setStatusName(dictService.getDictNameByCode(SecurityEventDict.DEVICE_STATUS, info.getStatus())); + info.setPositionName(dictService.getDictNameByCode(SecurityEventDict.DEVICE_POSITION, info.getPosition())); + info.setAreaName(dictService.getDictNameByCode(SecurityEventDict.DEVICE_AREA, info.getArea())); + info.setIsKeyAreaName(dictService.getDictNameByCode(SecurityEventDict.IS_KEY_AREA, info.getIsKeyArea())); + WebSocketDTO webSocketDTO = new WebSocketDTO(); + webSocketDTO.setType("case"); + webSocketDTO.setMessage(info); + webSocket.sendAllMessage(JSONObject.toJSONString(webSocketDTO)); + } + } + } } return; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java index e1b8290..74723b4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java @@ -231,18 +231,28 @@ if (!Objects.isNull(caseInfo1) && !StringUtils.isEmpty(caseInfo1.getHappenTime()) && !StringUtils.isEmpty(caseInfo1.getDeviceCode())) { caseInfos.add(caseInfo1); } + } //3、安防事件入库 - if (!CollectionUtils.isEmpty(caseInfos) && !caseInfoService.insertCaseInfoBatch(caseInfos)) { - log.error("安防事件批量入库异常!"); - } - // TODO: 2022/8/15 webSocket推送 if (!CollectionUtils.isEmpty(caseInfos)) { - log.info("webSocket事件推送"); - WebSocketDTO webSocketDTO = new WebSocketDTO(); - webSocketDTO.setType("case"); - webSocketDTO.setData(caseInfos); - webSocket.sendAllMessage(JSONObject.toJSONString(webSocketDTO)); + if (!caseInfoService.insertCaseInfoBatch(caseInfos)) { + log.error("安防事件批量入库异常!"); + } else { + for (CaseInfo info : caseInfos) { + //webSocket推送 + if (!CollectionUtils.isEmpty(caseInfos)) { + log.info("webSocket事件推送,内容为:{}", JSONObject.toJSONString(caseInfos)); + info.setStatusName(dictService.getDictNameByCode(SecurityEventDict.DEVICE_STATUS, info.getStatus())); + info.setPositionName(dictService.getDictNameByCode(SecurityEventDict.DEVICE_POSITION, info.getPosition())); + info.setAreaName(dictService.getDictNameByCode(SecurityEventDict.DEVICE_AREA, info.getArea())); + info.setIsKeyAreaName(dictService.getDictNameByCode(SecurityEventDict.IS_KEY_AREA, info.getIsKeyArea())); + WebSocketDTO webSocketDTO = new WebSocketDTO(); + webSocketDTO.setType("case"); + webSocketDTO.setMessage(info); + webSocket.sendAllMessage(JSONObject.toJSONString(webSocketDTO)); + } + } + } } return; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/WebSocketDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/WebSocketDTO.java index ee3e97b..98085c2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/dto/WebSocketDTO.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/WebSocketDTO.java @@ -11,5 +11,5 @@ public class WebSocketDTO { //前端用于区分消息类型 private String type; - private Object data; + private Object message; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java index e1b8290..74723b4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java @@ -231,18 +231,28 @@ if (!Objects.isNull(caseInfo1) && !StringUtils.isEmpty(caseInfo1.getHappenTime()) && !StringUtils.isEmpty(caseInfo1.getDeviceCode())) { caseInfos.add(caseInfo1); } + } //3、安防事件入库 - if (!CollectionUtils.isEmpty(caseInfos) && !caseInfoService.insertCaseInfoBatch(caseInfos)) { - log.error("安防事件批量入库异常!"); - } - // TODO: 2022/8/15 webSocket推送 if (!CollectionUtils.isEmpty(caseInfos)) { - log.info("webSocket事件推送"); - WebSocketDTO webSocketDTO = new WebSocketDTO(); - webSocketDTO.setType("case"); - webSocketDTO.setData(caseInfos); - webSocket.sendAllMessage(JSONObject.toJSONString(webSocketDTO)); + if (!caseInfoService.insertCaseInfoBatch(caseInfos)) { + log.error("安防事件批量入库异常!"); + } else { + for (CaseInfo info : caseInfos) { + //webSocket推送 + if (!CollectionUtils.isEmpty(caseInfos)) { + log.info("webSocket事件推送,内容为:{}", JSONObject.toJSONString(caseInfos)); + info.setStatusName(dictService.getDictNameByCode(SecurityEventDict.DEVICE_STATUS, info.getStatus())); + info.setPositionName(dictService.getDictNameByCode(SecurityEventDict.DEVICE_POSITION, info.getPosition())); + info.setAreaName(dictService.getDictNameByCode(SecurityEventDict.DEVICE_AREA, info.getArea())); + info.setIsKeyAreaName(dictService.getDictNameByCode(SecurityEventDict.IS_KEY_AREA, info.getIsKeyArea())); + WebSocketDTO webSocketDTO = new WebSocketDTO(); + webSocketDTO.setType("case"); + webSocketDTO.setMessage(info); + webSocket.sendAllMessage(JSONObject.toJSONString(webSocketDTO)); + } + } + } } return; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/WebSocketDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/WebSocketDTO.java index ee3e97b..98085c2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/dto/WebSocketDTO.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/WebSocketDTO.java @@ -11,5 +11,5 @@ public class WebSocketDTO { //前端用于区分消息类型 private String type; - private Object data; + private Object message; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CaseInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CaseInfoServiceImpl.java index 972d3ab..d0b25d1 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CaseInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CaseInfoServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.modular.config.DeviceLinkageConfig; import com.casic.missiles.modular.dao.CaseInfoMapper; import com.casic.missiles.modular.dao.CategoryLevelMapper; import com.casic.missiles.modular.dao.DeviceInfoMapper; @@ -60,9 +59,6 @@ @Resource private DeviceInfoMapper deviceInfoMapper; - @Autowired - private DeviceLinkageConfig deviceLinkageConfig; - @Override public List caseInfoListPage(Page page, CaseInfoRequest caseInfoRequest) { try { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java index e1b8290..74723b4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java @@ -231,18 +231,28 @@ if (!Objects.isNull(caseInfo1) && !StringUtils.isEmpty(caseInfo1.getHappenTime()) && !StringUtils.isEmpty(caseInfo1.getDeviceCode())) { caseInfos.add(caseInfo1); } + } //3、安防事件入库 - if (!CollectionUtils.isEmpty(caseInfos) && !caseInfoService.insertCaseInfoBatch(caseInfos)) { - log.error("安防事件批量入库异常!"); - } - // TODO: 2022/8/15 webSocket推送 if (!CollectionUtils.isEmpty(caseInfos)) { - log.info("webSocket事件推送"); - WebSocketDTO webSocketDTO = new WebSocketDTO(); - webSocketDTO.setType("case"); - webSocketDTO.setData(caseInfos); - webSocket.sendAllMessage(JSONObject.toJSONString(webSocketDTO)); + if (!caseInfoService.insertCaseInfoBatch(caseInfos)) { + log.error("安防事件批量入库异常!"); + } else { + for (CaseInfo info : caseInfos) { + //webSocket推送 + if (!CollectionUtils.isEmpty(caseInfos)) { + log.info("webSocket事件推送,内容为:{}", JSONObject.toJSONString(caseInfos)); + info.setStatusName(dictService.getDictNameByCode(SecurityEventDict.DEVICE_STATUS, info.getStatus())); + info.setPositionName(dictService.getDictNameByCode(SecurityEventDict.DEVICE_POSITION, info.getPosition())); + info.setAreaName(dictService.getDictNameByCode(SecurityEventDict.DEVICE_AREA, info.getArea())); + info.setIsKeyAreaName(dictService.getDictNameByCode(SecurityEventDict.IS_KEY_AREA, info.getIsKeyArea())); + WebSocketDTO webSocketDTO = new WebSocketDTO(); + webSocketDTO.setType("case"); + webSocketDTO.setMessage(info); + webSocket.sendAllMessage(JSONObject.toJSONString(webSocketDTO)); + } + } + } } return; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/WebSocketDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/WebSocketDTO.java index ee3e97b..98085c2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/dto/WebSocketDTO.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/WebSocketDTO.java @@ -11,5 +11,5 @@ public class WebSocketDTO { //前端用于区分消息类型 private String type; - private Object data; + private Object message; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CaseInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CaseInfoServiceImpl.java index 972d3ab..d0b25d1 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CaseInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CaseInfoServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.modular.config.DeviceLinkageConfig; import com.casic.missiles.modular.dao.CaseInfoMapper; import com.casic.missiles.modular.dao.CategoryLevelMapper; import com.casic.missiles.modular.dao.DeviceInfoMapper; @@ -60,9 +59,6 @@ @Resource private DeviceInfoMapper deviceInfoMapper; - @Autowired - private DeviceLinkageConfig deviceLinkageConfig; - @Override public List caseInfoListPage(Page page, CaseInfoRequest caseInfoRequest) { try { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java index 213d271..e540c05 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java @@ -73,7 +73,7 @@ } //发生黑名单事件,若匹配联动配置,常闭指定闸机 HashMap> configMap = deviceLinkageConfig.getConfigMap(); - if(!CollectionUtils.isEmpty(configMap.get(srcIndex))){ + if(!CollectionUtils.isEmpty(configMap.get("switch"))){ List list = configMap.get(srcIndex); //海康门禁点反控 DoorControlRequest doorControlRequest = new DoorControlRequest(); diff --git a/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java b/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java index e1b8290..74723b4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/controller/hik/HikController.java @@ -231,18 +231,28 @@ if (!Objects.isNull(caseInfo1) && !StringUtils.isEmpty(caseInfo1.getHappenTime()) && !StringUtils.isEmpty(caseInfo1.getDeviceCode())) { caseInfos.add(caseInfo1); } + } //3、安防事件入库 - if (!CollectionUtils.isEmpty(caseInfos) && !caseInfoService.insertCaseInfoBatch(caseInfos)) { - log.error("安防事件批量入库异常!"); - } - // TODO: 2022/8/15 webSocket推送 if (!CollectionUtils.isEmpty(caseInfos)) { - log.info("webSocket事件推送"); - WebSocketDTO webSocketDTO = new WebSocketDTO(); - webSocketDTO.setType("case"); - webSocketDTO.setData(caseInfos); - webSocket.sendAllMessage(JSONObject.toJSONString(webSocketDTO)); + if (!caseInfoService.insertCaseInfoBatch(caseInfos)) { + log.error("安防事件批量入库异常!"); + } else { + for (CaseInfo info : caseInfos) { + //webSocket推送 + if (!CollectionUtils.isEmpty(caseInfos)) { + log.info("webSocket事件推送,内容为:{}", JSONObject.toJSONString(caseInfos)); + info.setStatusName(dictService.getDictNameByCode(SecurityEventDict.DEVICE_STATUS, info.getStatus())); + info.setPositionName(dictService.getDictNameByCode(SecurityEventDict.DEVICE_POSITION, info.getPosition())); + info.setAreaName(dictService.getDictNameByCode(SecurityEventDict.DEVICE_AREA, info.getArea())); + info.setIsKeyAreaName(dictService.getDictNameByCode(SecurityEventDict.IS_KEY_AREA, info.getIsKeyArea())); + WebSocketDTO webSocketDTO = new WebSocketDTO(); + webSocketDTO.setType("case"); + webSocketDTO.setMessage(info); + webSocket.sendAllMessage(JSONObject.toJSONString(webSocketDTO)); + } + } + } } return; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/dto/WebSocketDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/dto/WebSocketDTO.java index ee3e97b..98085c2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/dto/WebSocketDTO.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/dto/WebSocketDTO.java @@ -11,5 +11,5 @@ public class WebSocketDTO { //前端用于区分消息类型 private String type; - private Object data; + private Object message; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CaseInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CaseInfoServiceImpl.java index 972d3ab..d0b25d1 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CaseInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/CaseInfoServiceImpl.java @@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.modular.config.DeviceLinkageConfig; import com.casic.missiles.modular.dao.CaseInfoMapper; import com.casic.missiles.modular.dao.CategoryLevelMapper; import com.casic.missiles.modular.dao.DeviceInfoMapper; @@ -60,9 +59,6 @@ @Resource private DeviceInfoMapper deviceInfoMapper; - @Autowired - private DeviceLinkageConfig deviceLinkageConfig; - @Override public List caseInfoListPage(Page page, CaseInfoRequest caseInfoRequest) { try { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java index 213d271..e540c05 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/service/impl/HikServiceImpl.java @@ -73,7 +73,7 @@ } //发生黑名单事件,若匹配联动配置,常闭指定闸机 HashMap> configMap = deviceLinkageConfig.getConfigMap(); - if(!CollectionUtils.isEmpty(configMap.get(srcIndex))){ + if(!CollectionUtils.isEmpty(configMap.get("switch"))){ List list = configMap.get(srcIndex); //海康门禁点反控 DoorControlRequest doorControlRequest = new DoorControlRequest(); diff --git a/casic-web/src/main/resources/config/application-prod.yml b/casic-web/src/main/resources/config/application-prod.yml index 8338dbe..788346f 100644 --- a/casic-web/src/main/resources/config/application-prod.yml +++ b/casic-web/src/main/resources/config/application-prod.yml @@ -89,6 +89,8 @@ #指定监控点识别黑名单事件后关闭对应闸机 devicelinkage: configMap: + #开关,数组中有内容为开,无内容为关 + switch: [] #一期主楼 1d07f327d63f4fabac94d6e0fc92496c: [534542c51e9c4499becf464ec80895f5,9efea996b23840b691ddb80e823f3d8d,7e6b4f58908040bd871279a0701b2b62, 889916c8a9b749febb56c569fab4a2b2,1eacbe03363c4b2980a59999188fc116,d725b8f57a2b45d79183ca12dc8a3261,