From 55c5941807a52bd1eb4fc08803d2402dd72e60a6 Mon Sep 17 00:00:00 2001 From: ‘liusuyi’ <1951119284@qq.com> Date: 星期一, 10 七月 2023 16:45:48 +0800 Subject: [PATCH] 增加门禁报警数据接收入库和引导就近光电 增加门禁报警业务功能 --- ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java | 75 +++++++++++++++++++++++++++++++++++-- 1 files changed, 71 insertions(+), 4 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java b/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java index 9ac6470..b54a8a4 100644 --- a/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java @@ -1,6 +1,8 @@ package com.ruoyi.alarm.globalAlarm.service.impl; import com.alibaba.fastjson2.JSONObject; +import com.ruoyi.alarm.accessAlarm.domain.ArdAlarmAccess; +import com.ruoyi.alarm.accessAlarm.mapper.ArdAlarmAccessMapper; import com.ruoyi.alarm.cameraAlarm.domain.ArdAlarmCamera; import com.ruoyi.alarm.cameraAlarm.mapper.ArdAlarmCameraMapper; import com.ruoyi.alarm.externalAlarm.domain.ArdAlarmExternal; @@ -28,6 +30,8 @@ import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.constant.CamPriority; +import com.ruoyi.device.external.domain.ArdEquipExternal; +import com.ruoyi.device.external.mapper.ArdEquipExternalMapper; import com.ruoyi.utils.tools.ArdTool; import com.ruoyi.utils.tools.GisTool; import com.ruoyi.common.utils.uuid.IdUtils; @@ -59,6 +63,10 @@ @Slf4j(topic = "mqtt") public class GlobalAlarmServiceImpl implements IGlobalAlarmService { //region 渚濊禆娉ㄥ叆 + @Resource + private ArdEquipExternalMapper ardEquipExternalMapper; + @Resource + private ArdAlarmAccessMapper ardAlarmAccessMapper; @Resource private ArdAlarmExternalMapper ardAlarmExternalMapper; @Resource @@ -110,6 +118,8 @@ countMap.put("1007", count1007); int count1005 = ardAlarmExternalMapper.selectCountByAlarmTime(refreshTime, "闃插尯鎶ヨ"); countMap.put("1005", count1005); + int count1006 = ardAlarmAccessMapper.selectCountByAlarmTime(refreshTime); + countMap.put("1006", count1006); int count1014 = ardAlarmTubeMapper.selectCountByAlarmTime(refreshTime); countMap.put("1014", count1014); map.put("20000", countMap); @@ -197,6 +207,20 @@ .setLatitude(ardAlarmExternal.getLatitude()) .setCount(ardAlarmExternal.getCount()) .setTotal(ardAlarmExternal.getTotal()); + return globalAlarmData; + }).collect(Collectors.toList()); + case 1006: + List<ArdAlarmAccess> ardAlarmAccesses = ardAlarmAccessMapper.selectListAllByCommand(refreshTime); + return ardAlarmAccesses.stream() + .map(ardAlarmAccess -> { + GlobalAlarmData globalAlarmData = new GlobalAlarmData() + .setId(ardAlarmAccess.getId()) + .setName(ardAlarmAccess.getAcsName()) + .setAlarmTime(ardAlarmAccess.getAlarmTime()) + .setLongitude(ardAlarmAccess.getLongitude()) + .setLatitude(ardAlarmAccess.getLatitude()) + .setCount(ardAlarmAccess.getCount()) + .setTotal(ardAlarmAccess.getTotal()); return globalAlarmData; }).collect(Collectors.toList()); case 1007: @@ -287,6 +311,13 @@ aae.setPageSize(pageSize); aae.setAlarmType("闃插尯鎶ヨ"); return ardAlarmExternalMapper.selectArdAlarmExternalList(aae); + case 1006: + ArdAlarmAccess aaa = new ArdAlarmAccess(); + aaa.setParams(params); + aaa.setPageNum(pageNum); + aaa.setPageSize(pageSize); + aaa.setAlarmType("闃插尯鎶ヨ"); + return ardAlarmAccessMapper.selectArdAlarmAccessList(aaa); case 1014: ArdAlarmTube aat = new ArdAlarmTube(); aat.setParams(params); @@ -336,6 +367,14 @@ String alarmTime = fmt.format(ardAlarmExternal.getAlarmTime()); ardAlarmRadarMapper.updateViewTimeByCondition(defenseName, alarmType, alarmTime, DateUtils.getTime()); return ardAlarmExternal; + } + case 1006: + ArdAlarmAccess ardAlarmAccess = ardAlarmAccessMapper.selectArdAlarmAccessById(condition.getId()); + if (StringUtils.isNotNull(ardAlarmAccess)) { + String acsId = ardAlarmAccess.getAcsId(); + String alarmTime = fmt.format(ardAlarmAccess.getAlarmTime()); + ardAlarmAccessMapper.updateViewTimeByAcsId(acsId, alarmTime, DateUtils.getTime()); + return ardAlarmAccess; } case 1014: ArdAlarmTube ardAlarmTube = ardAlarmTubeMapper.selectArdAlarmTubeById(condition.getId()); @@ -536,10 +575,7 @@ return; } double[] guideCoordinate = new double[]{ardAlarmExternal.getLongitude(), ardAlarmExternal.getLatitude()};//寮曞鍧愭爣 - if (StringUtils.isNull(ardAlarmExternal.getLongitude()) || StringUtils.isNull(ardAlarmExternal.getLatitude())) { - return; - } - String nearbyCameraId = getNearbyCamera(new double[]{ardAlarmExternal.getLongitude(), ardAlarmExternal.getLatitude()});//鏈�杩戠浉鏈篒D + String nearbyCameraId = getNearbyCamera(guideCoordinate);//鏈�杩戠浉鏈篒D if (StringUtils.isNotEmpty(nearbyCameraId)) { messagesEnqueued(nearbyCameraId, ardAlarmExternal.getId(), "sys_external", ardAlarmExternal.getCreateTime(), 1, 1, guideCoordinate); } @@ -547,6 +583,37 @@ } //endregion break; + case "accessControl": + //region 澶勭悊闂ㄧ鎶ヨ + ArdAlarmAccess ardAlarmAccess = JSONObject.parseObject(message, ArdAlarmAccess.class); + ardAlarmAccess.setId(IdUtils.simpleUUID()); + ardAlarmAccess.setCreateTime(new Date());//鎺ユ敹鏃堕棿 + //鏌ョ鐞嗙殑闂ㄧ涓绘満淇℃伅 + String acsId = ardAlarmAccess.getAcsId(); + ArdEquipExternal ardEquipExternal = ardEquipExternalMapper.selectArdEquipExternalById(acsId); + if (StringUtils.isNotNull(ardEquipExternal)) { + ardAlarmAccess.setLongitude(ardEquipExternal.getLongitude()); + ardAlarmAccess.setLatitude(ardEquipExternal.getLatitude()); + ardAlarmAccess.setAltitude(ardEquipExternal.getAltitude()); + ardAlarmAccess.setAcsId(ardEquipExternal.getId()); + ardAlarmAccess.setAcsName(ardEquipExternal.getName()); + } + int aaa = ardAlarmAccessMapper.insertArdAlarmAccess(ardAlarmAccess); + if (aaa > 0) { + log.debug("external鍏ュ簱鎴愬姛锛�" + ardAlarmAccess); + //region 寮曞褰曞儚 + if (StringUtils.isNull(ardAlarmAccess.getLongitude()) || StringUtils.isNull(ardAlarmAccess.getLatitude())) { + return; + } + double[] guideCoordinate = new double[]{ardAlarmAccess.getLongitude(), ardAlarmAccess.getLatitude()};//寮曞鍧愭爣 + String nearbyCameraId = getNearbyCamera(guideCoordinate);//鏈�杩戠浉鏈篒D + if (StringUtils.isNotEmpty(nearbyCameraId)) { + messagesEnqueued(nearbyCameraId, ardAlarmAccess.getId(), "sys_access_control", ardAlarmAccess.getCreateTime(), 1, 1, guideCoordinate); + } + //endregion + } + //endregion + break; } } catch (Exception ex) { log.error("鎺ユ敹鎶ヨ寮傚父:" + ex.getMessage()); -- Gitblit v1.9.3