From 636054d8d283b06802c05e0c15724c22637d8b30 Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期六, 02 九月 2023 13:27:35 +0800
Subject: [PATCH] 将雷达报警分成3个表存储

---
 ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarMoveMapper.xml                        |  156 +++
 ard-work/src/main/java/com/ruoyi/alarm/radar/controller/ArdAlarmRadarPumpController.java    |  104 ++
 ard-work/src/main/java/com/ruoyi/alarm/radar/controller/ArdAlarmRadarMoveController.java    |  104 ++
 ard-work/src/main/java/com/ruoyi/alarm/radar/service/impl/ArdAlarmRadarFireServiceImpl.java |   96 ++
 ard-work/src/main/java/com/ruoyi/alarm/radar/mapper/ArdAlarmRadarPumpMapper.java            |   70 +
 ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarPumpMapper.xml                        |  152 +++
 ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java      |  438 ++++++--
 ard-work/src/main/java/com/ruoyi/alarm/wall/mapper/ArdAlarmWallMapper.java                  |   10 
 ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarMapper.xml                            |    8 
 ard-work/src/main/resources/mapper/alarm/ArdAlarmWallMapper.xml                             |  112 +
 ard-work/src/main/java/com/ruoyi/alarm/radar/service/impl/ArdAlarmRadarPumpServiceImpl.java |   96 ++
 ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarMove.java                  |  232 ++++
 ard-work/src/main/java/com/ruoyi/alarm/radar/controller/ArdAlarmRadarFireController.java    |  104 ++
 ard-work/src/main/java/com/ruoyi/alarm/radar/mapper/ArdAlarmRadarMoveMapper.java            |   72 +
 ard-work/src/main/resources/mapper/device/ArdEquipRadarMapper.xml                           |   74 
 ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarPump.java                  |  232 ++++
 ard-work/src/main/java/com/ruoyi/alarm/radar/mapper/ArdAlarmRadarFireMapper.java            |   70 +
 ard-work/src/main/java/com/ruoyi/alarm/radar/service/IArdAlarmRadarMoveService.java         |   61 +
 ard-work/src/main/java/com/ruoyi/alarm/radar/service/IArdAlarmRadarFireService.java         |   61 +
 ard-work/src/main/java/com/ruoyi/device/radar/mapper/ArdEquipRadarMapper.java               |    5 
 ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarFireMapper.xml                        |  152 +++
 ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueTaskExecutor.java           |   46 
 ard-work/src/main/java/com/ruoyi/alarm/wall/domain/ArdAlarmWall.java                        |   26 
 ard-work/src/main/java/com/ruoyi/alarm/radar/service/IArdAlarmRadarPumpService.java         |   61 +
 ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarFire.java                  |  232 ++++
 ard-work/src/main/java/com/ruoyi/alarm/radar/service/impl/ArdAlarmRadarMoveServiceImpl.java |   96 ++
 26 files changed, 2,682 insertions(+), 188 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java
index 5637468..ec405de 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java
@@ -14,13 +14,17 @@
 import com.ruoyi.alarm.global.domain.GuidePriorityQueue;
 import com.ruoyi.alarm.global.domain.GuideTask;
 import com.ruoyi.alarm.global.service.IGlobalAlarmService;
-import com.ruoyi.alarm.radar.domain.ArdAlarmRadar;
-import com.ruoyi.alarm.radar.domain.RadarAlarmData;
+import com.ruoyi.alarm.radar.domain.*;
+import com.ruoyi.alarm.radar.mapper.ArdAlarmRadarFireMapper;
 import com.ruoyi.alarm.radar.mapper.ArdAlarmRadarMapper;
+import com.ruoyi.alarm.radar.mapper.ArdAlarmRadarMoveMapper;
+import com.ruoyi.alarm.radar.mapper.ArdAlarmRadarPumpMapper;
 import com.ruoyi.alarm.steal.domain.ArdAlarmStealelec;
 import com.ruoyi.alarm.steal.mapper.ArdAlarmStealelecMapper;
 import com.ruoyi.alarm.tube.domain.ArdAlarmTube;
 import com.ruoyi.alarm.tube.mapper.ArdAlarmTubeMapper;
+import com.ruoyi.alarm.wall.domain.ArdAlarmWall;
+import com.ruoyi.alarm.wall.mapper.ArdAlarmWallMapper;
 import com.ruoyi.alarmpoints.tube.domain.ArdTubes;
 import com.ruoyi.alarmpoints.tube.domain.ArdTubesDetails;
 import com.ruoyi.alarmpoints.tube.mapper.ArdTubesDetailsMapper;
@@ -34,6 +38,7 @@
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.device.external.domain.ArdEquipExternal;
 import com.ruoyi.device.external.mapper.ArdEquipExternalMapper;
+import com.ruoyi.device.radar.mapper.ArdEquipRadarMapper;
 import com.ruoyi.utils.gis.GisUtil;
 import com.ruoyi.utils.tools.ArdTool;
 import com.ruoyi.common.utils.uuid.IdUtils;
@@ -65,6 +70,8 @@
 public class GlobalAlarmServiceImpl implements IGlobalAlarmService {
     //region 渚濊禆娉ㄥ叆
     @Resource
+    private ArdAlarmWallMapper ardAlarmWallMapper;
+    @Resource
     private ArdAlarmApponekeyMapper ardAlarmApponekeyMapper;
     @Resource
     private ArdEquipExternalMapper ardEquipExternalMapper;
@@ -72,8 +79,14 @@
     private ArdAlarmAccessMapper ardAlarmAccessMapper;
     @Resource
     private ArdAlarmExternalMapper ardAlarmExternalMapper;
+    //@Resource
+    //private ArdAlarmRadarMapper ardAlarmRadarMapper;
     @Resource
-    private ArdAlarmRadarMapper ardAlarmRadarMapper;
+    private ArdAlarmRadarMoveMapper ardAlarmRadarMoveMapper;
+    @Resource
+    private ArdAlarmRadarFireMapper ardAlarmRadarFireMapper;
+    @Resource
+    private ArdAlarmRadarPumpMapper ardAlarmRadarPumpMapper;
     @Resource
     private ArdAlarmStealelecMapper ardAlarmStealelecMapper;
     @Resource
@@ -94,10 +107,13 @@
     private RedisCache redisCache;
     @Resource
     private QueueManager queueManager;
+    @Resource
+    private ArdEquipRadarMapper ardEquipRadarMapper;
     //endregion
     //姣忎釜鐐逛綅鏈紩瀵兼鏁�
-    private Map<String, Integer> unGuideCountMap = new HashMap<>();
-
+    private Map<String, Integer> unGuideCountMapMove = new HashMap<>();
+    private Map<String, Integer> unGuideCountMapFire = new HashMap<>();
+    private Map<String, Integer> unGuideCountMapPump = new HashMap<>();
     /**
      * @鎻忚堪 鏌ヨ鎵�鏈夋姤璀︾殑褰撳墠鏁伴噺
      * @鍙傛暟 []
@@ -115,11 +131,11 @@
         countMap.put("1001", count1001);
         int count1002 = ardAlarmCameraMapper.selectCountByAlarmTime(refreshTime);
         countMap.put("1002", count1002);
-        int count1003 = ardAlarmRadarMapper.selectCountByAlarmTime(refreshTime, "杩愬姩鐩爣妫�娴�");
+        int count1003 = ardAlarmRadarMoveMapper.selectCountByAlarmTime(refreshTime);
         countMap.put("1003", count1003);
-        int count1004 = ardAlarmRadarMapper.selectCountByAlarmTime(refreshTime, "鐑簮妫�娴�");
+        int count1004 = ardAlarmRadarFireMapper.selectCountByAlarmTime(refreshTime);
         countMap.put("1004", count1004);
-        int count1007 = ardAlarmRadarMapper.selectCountByAlarmTime(refreshTime, "闆疯揪鎶芥补鏈哄仠鏈�");
+        int count1007 = ardAlarmRadarPumpMapper.selectCountByAlarmTime(refreshTime);
         countMap.put("1007", count1007);
         int count1005 = ardAlarmExternalMapper.selectCountByAlarmTime(refreshTime, "闃插尯鎶ヨ");
         countMap.put("1005", count1005);
@@ -127,6 +143,8 @@
         countMap.put("1006", count1006);
         int count1009 = ardAlarmApponekeyMapper.selectCountByAlarmTime(refreshTime);
         countMap.put("1009", count1009);
+        int count1010 = ardAlarmWallMapper.selectCountByAlarmTime(refreshTime);
+        countMap.put("1010", count1010);
         int count1014 = ardAlarmTubeMapper.selectCountByAlarmTime(refreshTime);
         countMap.put("1014", count1014);
         map.put("20000", countMap);
@@ -175,8 +193,8 @@
                             return globalAlarmData;
                         }).collect(Collectors.toList());
             case 1003:
-                List<ArdAlarmRadar> ardAlarmRadars = ardAlarmRadarMapper.selectListAllByCommand(refreshTime, "杩愬姩鐩爣妫�娴�");
-                return ardAlarmRadars.stream()
+                List<ArdAlarmRadarMove> ardAlarmRadarMoves = ardAlarmRadarMoveMapper.selectListAllByCommand(refreshTime);
+                return ardAlarmRadarMoves.stream()
                         .map(ardAlarmRadar -> {
                             GlobalAlarmData globalAlarmData = new GlobalAlarmData()
                                     .setId(ardAlarmRadar.getId())
@@ -189,8 +207,8 @@
                             return globalAlarmData;
                         }).collect(Collectors.toList());
             case 1004:
-                ardAlarmRadars = ardAlarmRadarMapper.selectListAllByCommand(refreshTime, "鐑簮妫�娴�");
-                return ardAlarmRadars.stream()
+                List<ArdAlarmRadarFire> ardAlarmRadarFires = ardAlarmRadarFireMapper.selectListAllByCommand(refreshTime);
+                return ardAlarmRadarFires.stream()
                         .map(ardAlarmRadar -> {
                             GlobalAlarmData globalAlarmData = new GlobalAlarmData()
                                     .setId(ardAlarmRadar.getId())
@@ -231,8 +249,8 @@
                             return globalAlarmData;
                         }).collect(Collectors.toList());
             case 1007:
-                ardAlarmRadars = ardAlarmRadarMapper.selectListAllByCommand(refreshTime, "闆疯揪鎶芥补鏈哄仠鏈�");
-                return ardAlarmRadars.stream()
+                List<ArdAlarmRadarPump> ardAlarmRadarPumps = ardAlarmRadarPumpMapper.selectListAllByCommand(refreshTime);
+                return ardAlarmRadarPumps.stream()
                         .map(ardAlarmRadar -> {
                             GlobalAlarmData globalAlarmData = new GlobalAlarmData()
                                     .setId(ardAlarmRadar.getId())
@@ -256,6 +274,20 @@
                                     .setLatitude(ardAlarmApponekey.getLatitude())
                                     .setCount(ardAlarmApponekey.getCount())
                                     .setTotal(ardAlarmApponekey.getTotal());
+                            return globalAlarmData;
+                        }).collect(Collectors.toList());
+            case 1010:
+                List<ArdAlarmWall> ardAlarmWalls = ardAlarmWallMapper.selectListAllByCommand(refreshTime);
+                return ardAlarmWalls.stream()
+                        .map(ardAlarmWall -> {
+                            GlobalAlarmData globalAlarmData = new GlobalAlarmData()
+                                    .setId(ardAlarmWall.getId())
+                                    .setName(ardAlarmWall.getWallName())
+                                    .setAlarmTime(ardAlarmWall.getCreateTime())
+                                    .setLongitude(ardAlarmWall.getLongitude())
+                                    .setLatitude(ardAlarmWall.getLatitude())
+                                    .setCount(ardAlarmWall.getCount())
+                                    .setTotal(ardAlarmWall.getTotal());
                             return globalAlarmData;
                         }).collect(Collectors.toList());
             case 1014:
@@ -319,8 +351,8 @@
             GlobalAlarmDataList.addAll(alarmData1002);
         }
 
-        List<ArdAlarmRadar> ardAlarmRadars = ardAlarmRadarMapper.selectListAllByCommand(refreshTime, "杩愬姩鐩爣妫�娴�");
-        List<GlobalAlarmData> alarmData1003= ardAlarmRadars.stream()
+        List<ArdAlarmRadarMove> ardAlarmRadarMoves = ardAlarmRadarMoveMapper.selectListAllByCommand(refreshTime);
+        List<GlobalAlarmData> alarmData1003= ardAlarmRadarMoves.stream()
                 .map(ardAlarmRadar -> {
                     GlobalAlarmData globalAlarmData = new GlobalAlarmData()
                             .setId(ardAlarmRadar.getId())
@@ -337,8 +369,8 @@
             GlobalAlarmDataList.addAll(alarmData1003);
         }
 
-        ardAlarmRadars = ardAlarmRadarMapper.selectListAllByCommand(refreshTime, "鐑簮妫�娴�");
-        List<GlobalAlarmData> alarmData1004=  ardAlarmRadars.stream()
+        List<ArdAlarmRadarFire> ardAlarmRadarFires = ardAlarmRadarFireMapper.selectListAllByCommand(refreshTime);
+        List<GlobalAlarmData> alarmData1004=  ardAlarmRadarFires.stream()
                 .map(ardAlarmRadar -> {
                     GlobalAlarmData globalAlarmData = new GlobalAlarmData()
                             .setId(ardAlarmRadar.getId())
@@ -391,8 +423,8 @@
             GlobalAlarmDataList.addAll(alarmData1006);
         }
 
-        ardAlarmRadars = ardAlarmRadarMapper.selectListAllByCommand(refreshTime, "闆疯揪鎶芥补鏈哄仠鏈�");
-        List<GlobalAlarmData> alarmData1007= ardAlarmRadars.stream()
+        List<ArdAlarmRadarPump> ardAlarmRadarPumps = ardAlarmRadarPumpMapper.selectListAllByCommand(refreshTime);
+        List<GlobalAlarmData> alarmData1007= ardAlarmRadarPumps.stream()
                 .map(ardAlarmRadar -> {
                     GlobalAlarmData globalAlarmData = new GlobalAlarmData()
                             .setId(ardAlarmRadar.getId())
@@ -425,6 +457,24 @@
                 }).collect(Collectors.toList());
         if(alarmData1009.size()>0) {
             GlobalAlarmDataList.addAll(alarmData1009);
+        }
+
+        List<ArdAlarmWall> ardAlarmWalls = ardAlarmWallMapper.selectListAllByCommand(refreshTime);
+        List<GlobalAlarmData> alarmData1010= ardAlarmWalls.stream()
+                .map(ardAlarmWall -> {
+                    GlobalAlarmData globalAlarmData = new GlobalAlarmData()
+                            .setId(ardAlarmWall.getId())
+                            .setName(ardAlarmWall.getWallName())
+                            .setAlarmTime(ardAlarmWall.getCreateTime())
+                            .setLongitude(ardAlarmWall.getLongitude())
+                            .setLatitude(ardAlarmWall.getLatitude())
+                            .setCount(ardAlarmWall.getCount())
+                            .setTotal(ardAlarmWall.getTotal())
+                            .setAlarmType("1010");
+                    return globalAlarmData;
+                }).collect(Collectors.toList());
+        if(alarmData1010.size()>0) {
+            GlobalAlarmDataList.addAll(alarmData1010);
         }
 
         List<ArdAlarmTube> ardAlarmTubes = ardAlarmTubeMapper.selectListAllByCommand(refreshTime);
@@ -475,26 +525,26 @@
                 aac.setPageSize(pageSize);
                 return ardAlarmCameraMapper.selectArdAlarmCameraList(aac);
             case 1003:
-                ArdAlarmRadar aar = new ArdAlarmRadar();
-                aar.setParams(params);
-                aar.setPageNum(pageNum);
-                aar.setPageSize(pageSize);
-                aar.setAlarmType("杩愬姩鐩爣妫�娴�");
-                return ardAlarmRadarMapper.selectArdAlarmRadarList(aar);
+                ArdAlarmRadarMove aarm = new ArdAlarmRadarMove();
+                aarm.setParams(params);
+                aarm.setPageNum(pageNum);
+                aarm.setPageSize(pageSize);
+                aarm.setAlarmType("杩愬姩鐩爣妫�娴�");
+                return ardAlarmRadarMoveMapper.selectArdAlarmRadarMoveList(aarm);
             case 1004:
-                ArdAlarmRadar aarr = new ArdAlarmRadar();
-                aarr.setParams(params);
-                aarr.setPageNum(pageNum);
-                aarr.setPageSize(pageSize);
-                aarr.setAlarmType("鐑簮妫�娴�");
-                return ardAlarmRadarMapper.selectArdAlarmRadarList(aarr);
+                ArdAlarmRadarFire aarf = new ArdAlarmRadarFire();
+                aarf.setParams(params);
+                aarf.setPageNum(pageNum);
+                aarf.setPageSize(pageSize);
+                aarf.setAlarmType("鐑簮妫�娴�");
+                return ardAlarmRadarFireMapper.selectArdAlarmRadarFireList(aarf);
             case 1007:
-                ArdAlarmRadar aarrr = new ArdAlarmRadar();
-                aarrr.setParams(params);
-                aarrr.setPageNum(pageNum);
-                aarrr.setPageSize(pageSize);
-                aarrr.setAlarmType("闆疯揪鎶芥补鏈哄仠鏈�");
-                return ardAlarmRadarMapper.selectArdAlarmRadarList(aarrr);
+                ArdAlarmRadarPump aarp = new ArdAlarmRadarPump();
+                aarp.setParams(params);
+                aarp.setPageNum(pageNum);
+                aarp.setPageSize(pageSize);
+                aarp.setAlarmType("闆疯揪鎶芥补鏈哄仠鏈�");
+                return ardAlarmRadarPumpMapper.selectArdAlarmRadarPumpList(aarp);
             case 1005:
                 ArdAlarmExternal aae = new ArdAlarmExternal();
                 aae.setParams(params);
@@ -515,6 +565,12 @@
                 aaak.setPageNum(pageNum);
                 aaak.setPageSize(pageSize);
                 return ardAlarmApponekeyMapper.selectArdAlarmApponekeyList(aaak);
+            case 1010:
+                ArdAlarmWall aaw = new ArdAlarmWall();
+                aaw.setParams(params);
+                aaw.setPageNum(pageNum);
+                aaw.setPageSize(pageSize);
+                return ardAlarmWallMapper.selectArdAlarmWallList(aaw);
             case 1014:
                 ArdAlarmTube aat = new ArdAlarmTube();
                 aat.setParams(params);
@@ -554,15 +610,28 @@
                     return ardAlarmCamera;
                 }
             case 1003:
+                ArdAlarmRadarMove ardAlarmRadarMove = ardAlarmRadarMoveMapper.selectArdAlarmRadarMoveById(condition.getId());
+                if (StringUtils.isNotNull(ardAlarmRadarMove)) {
+                    String name = ardAlarmRadarMove.getName();
+                    String alarmTime = fmt.format(ardAlarmRadarMove.getAlarmTime());
+                    ardAlarmRadarMoveMapper.updateViewTimeByCondition(name, alarmTime, DateUtils.getTime());
+                    return ardAlarmRadarMove;
+                }
             case 1004:
+                ArdAlarmRadarFire ardAlarmRadarFire = ardAlarmRadarFireMapper.selectArdAlarmRadarFireById(condition.getId());
+                if (StringUtils.isNotNull(ardAlarmRadarFire)) {
+                    String name = ardAlarmRadarFire.getName();
+                    String alarmTime = fmt.format(ardAlarmRadarFire.getAlarmTime());
+                    ardAlarmRadarFireMapper.updateViewTimeByCondition(name, alarmTime, DateUtils.getTime());
+                    return ardAlarmRadarFire;
+                }
             case 1007:
-                ArdAlarmRadar ardAlarmRadar = ardAlarmRadarMapper.selectArdAlarmRadarById(condition.getId());
-                if (StringUtils.isNotNull(ardAlarmRadar)) {
-                    String name = ardAlarmRadar.getName();
-                    String alarmType = ardAlarmRadar.getAlarmType();
-                    String alarmTime = fmt.format(ardAlarmRadar.getAlarmTime());
-                    ardAlarmRadarMapper.updateViewTimeByCondition(name, alarmType, alarmTime, DateUtils.getTime());
-                    return ardAlarmRadar;
+                ArdAlarmRadarPump ardAlarmRadarPump = ardAlarmRadarPumpMapper.selectArdAlarmRadarPumpById(condition.getId());
+                if (StringUtils.isNotNull(ardAlarmRadarPump)) {
+                    String name = ardAlarmRadarPump.getName();
+                    String alarmTime = fmt.format(ardAlarmRadarPump.getAlarmTime());
+                    ardAlarmRadarPumpMapper.updateViewTimeByCondition(name, alarmTime, DateUtils.getTime());
+                    return ardAlarmRadarPump;
                 }
             case 1005:
                 ArdAlarmExternal ardAlarmExternal = ardAlarmExternalMapper.selectArdAlarmExternalById(condition.getId());
@@ -588,6 +657,14 @@
                     String alarmTime = fmt.format(ardAlarmApponekey.getCreateTime());
                     ardAlarmApponekeyMapper.updateViewTimeByUserId(userId, alarmTime, DateUtils.getTime());
                     return ardAlarmApponekey;
+                }
+            case 1010:
+                ArdAlarmWall ardAlarmWall = ardAlarmWallMapper.selectArdAlarmWallById(condition.getId());
+                if (StringUtils.isNotNull(ardAlarmWall)) {
+                    String userId = ardAlarmWall.getUserId();
+                    String alarmTime = fmt.format(ardAlarmWall.getCreateTime());
+                    ardAlarmWallMapper.updateViewTimeByUserId(userId, alarmTime, DateUtils.getTime());
+                    return ardAlarmWall;
                 }
             case 1014:
                 ArdAlarmTube ardAlarmTube = ardAlarmTubeMapper.selectArdAlarmTubeById(condition.getId());
@@ -682,81 +759,69 @@
                     //region 澶勭悊闆疯揪鎶ヨ
                     RadarAlarmData radarAlarmData = JSONObject.parseObject(message, RadarAlarmData.class);
                     List<ArdAlarmRadar> ardAlarmRadars = radarAlarmData.getArdAlarmRadars();
+                    List<ArdAlarmRadarMove>ardAlarmRadarMoves=new ArrayList<>();
+                    List<ArdAlarmRadarFire>ardAlarmRadarFires=new ArrayList<>();
+                    List<ArdAlarmRadarPump>ardAlarmRadarPumps=new ArrayList<>();
                     for (ArdAlarmRadar ardAlarmRadar : ardAlarmRadars) {
                         String uuid = IdUtils.simpleUUID();
-                        ardAlarmRadar.setId(uuid);//鎶ヨID
-                        ardAlarmRadar.setAlarmTime(radarAlarmData.getAlarmTime());//鎶ヨ鏃堕棿
                         String alarmpointName = ardAlarmRadar.getName();//鍏磋叮鐐瑰悕绉�
-                        ardAlarmRadar.setName(ardAlarmRadar.getName() + "(" + radarAlarmData.getRadarName() + ")");//鎶ヨ鐐瑰悕绉�
-                        ardAlarmRadar.setCreateTime(new Date());//鎺ユ敹鏃堕棿
-
+                        Double longitude = ardAlarmRadar.getLongitude();
+                        Double latitude = ardAlarmRadar.getLatitude();
+                        String targetId=ardAlarmRadar.getTargetId();
                         switch (ardAlarmRadar.getAlarmType()) {
                             case "杩愬姩鐩爣妫�娴�":
-                                String alarmType = "sys_radar_move";
+                                ArdAlarmRadarMove ardAlarmRadarMove=new ArdAlarmRadarMove();
+                                ardAlarmRadarMove.setId(uuid);
+                                ardAlarmRadarMove.setTargetId(targetId);
+                                ardAlarmRadarMove.setAlarmTime(radarAlarmData.getAlarmTime());
+                                ardAlarmRadarMove.setCreateTime(new Date());
+                                ardAlarmRadarMove.setName(alarmpointName + "(" + radarAlarmData.getRadarName() + ")");
+                                ardAlarmRadarMove.setAlarmType("sys_radar_move");
+                                ardAlarmRadarMove.setLongitude(longitude);
+                                ardAlarmRadarMove.setLatitude(latitude);
+                                //鍏ュ簱
+                                ardAlarmRadarMoveMapper.insertArdAlarmRadarMove(ardAlarmRadarMove);
+                                ardAlarmRadarMoves.add(ardAlarmRadarMove);
+
                                 break;
                             case "鐑簮妫�娴�":
-                                alarmType = "sys_radar_fire";
+                                ArdAlarmRadarFire ardAlarmRadarFire=new ArdAlarmRadarFire();
+                                ardAlarmRadarFire.setId(uuid);
+                                ardAlarmRadarFire.setTargetId(targetId);
+                                ardAlarmRadarFire.setAlarmTime(radarAlarmData.getAlarmTime());
+                                ardAlarmRadarFire.setCreateTime(new Date());
+                                ardAlarmRadarFire.setName(alarmpointName + "(" + radarAlarmData.getRadarName() + ")");
+                                ardAlarmRadarFire.setAlarmType("sys_radar_fire");
+                                ardAlarmRadarFire.setLongitude(longitude);
+                                ardAlarmRadarFire.setLatitude(latitude);
+                                //鍏ュ簱
+                                ardAlarmRadarFireMapper.insertArdAlarmRadarFire(ardAlarmRadarFire);
+                                ardAlarmRadarFires.add(ardAlarmRadarFire);
+
                                 break;
                             case "闆疯揪鎶芥补鏈哄仠鏈�":
-                                alarmType = "sys_radar_pumpshutdown";
+                                ArdAlarmRadarPump ardAlarmRadarPump=new ArdAlarmRadarPump();
+                                ardAlarmRadarPump.setId(uuid);
+                                ardAlarmRadarPump.setTargetId(targetId);
+                                ardAlarmRadarPump.setAlarmTime(radarAlarmData.getAlarmTime());
+                                ardAlarmRadarPump.setCreateTime(new Date());
+                                ardAlarmRadarPump.setName(ardAlarmRadar.getName() + "(" + radarAlarmData.getRadarName() + ")");
+                                ardAlarmRadarPump.setAlarmType("sys_radar_pump");
                                 ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellMapper.selectArdAlarmpointsWellByWellId(alarmpointName);
                                 if (StringUtils.isNotNull(ardAlarmpointsWell)) {
-                                    ardAlarmRadar.setLongitude(ardAlarmpointsWell.getLongitude());
-                                    ardAlarmRadar.setLatitude(ardAlarmpointsWell.getLatitude());
+                                    ardAlarmRadarPump.setLongitude(ardAlarmpointsWell.getLongitude());
+                                    ardAlarmRadarPump.setLatitude(ardAlarmpointsWell.getLatitude());
                                 }
+                                //鍏ュ簱
+                                ardAlarmRadarPumpMapper.insertArdAlarmRadarPump(ardAlarmRadarPump);
+                                ardAlarmRadarPumps.add(ardAlarmRadarPump);
+
                                 break;
                         }
-                        //鍏ュ簱
-                        ardAlarmRadarMapper.insertArdAlarmRadar(ardAlarmRadar);
-
                     }
-                    //鎸夊叴瓒g偣鍘婚噸,鐒跺悗鎸夊紩瀵奸�昏緫杩涜寮曞鍏ラ槦
-                    ardAlarmRadars = ardAlarmRadars.stream()
-                            .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new java.util.TreeSet<>(java.util.Comparator.comparing(ArdAlarmRadar::getName))), ArrayList::new));
-                    for (ArdAlarmRadar ardAlarmRadar : ardAlarmRadars) {
-                        //閬嶅巻鎶ヨ鏁版嵁杩涜寮曞
-                        if (StringUtils.isNull(ardAlarmRadar.getLongitude()) || StringUtils.isNull(ardAlarmRadar.getLatitude())) {
-                            //鍧愭爣涓虹┖涓嶅紩瀵�
-                            continue;
-                        }
-                        double[] coordinate = new double[]{ardAlarmRadar.getLongitude(), ardAlarmRadar.getLatitude()};//鎶ヨ鍧愭爣
-                        //浠巖edis涓彇鍑哄綋鍓嶆姤璀︾偣鐨�5鍒嗛挓鍐呮槸鍚︽湁寮曞
-                        ArdAlarmRadar AlarmRadar = redisCache.getCacheObject("global_alarm:" + ardAlarmRadar.getName());//浠巖edis涓彇鍑烘渶鏂板紩瀵肩殑鎶ヨ鏁版嵁
-                        if (AlarmRadar == null) {
-                            //5鍒嗛挓鍐卹edis涓病鏈夋暟鎹紝璇存槑5鍒嗛挓鍐呮病鏈夊紩瀵兼暟鎹�
-                            ardAlarmRadar.setGuideFlag(1);
-                            //灏嗗紩瀵兼暟鎹啓鍏edis 璁剧疆5鍒嗛挓杩囨湡
-                            redisCache.setCacheObject("global_alarm:" + ardAlarmRadar.getName(), ardAlarmRadar, 5, TimeUnit.MINUTES);//寮曞鏁版嵁鍐欏叆redis
-                            unGuideCountMap.put(ardAlarmRadar.getName(), 0);
-                            //寮曞鍏ラ槦
-                            radarGuide(radarAlarmData.getRadarId(), ardAlarmRadar.getName(), ardAlarmRadar.getAlarmType(), ardAlarmRadar.getCreateTime(), coordinate);
-
-                        } else {
-                            //5鍒嗛挓鍐卹edis涓湁鏁版嵁锛岃鏄�5鍒嗛挓鍐呮湁寮曞鏁版嵁,鑾峰彇褰撳墠鎶ヨ鐐圭殑鏈紩瀵兼鏁�
-                            Integer count = unGuideCountMap.get(ardAlarmRadar.getName());
-                            if (count != null) {
-                                if (count > 2) {
-                                    //鏈紩瀵兼鏁�3娆″悗杩涜寮曞
-                                    ardAlarmRadar.setGuideFlag(1);
-                                    //灏嗗紩瀵兼暟鎹啓鍏edis 璁剧疆5鍒嗛挓杩囨湡
-                                    redisCache.setCacheObject("global_alarm:" + ardAlarmRadar.getName(), ardAlarmRadar, 5, TimeUnit.MINUTES);
-                                    count = 0;
-                                    //寮曞鍏ラ槦
-                                    radarGuide(radarAlarmData.getRadarId(), ardAlarmRadar.getName(), ardAlarmRadar.getAlarmType(), ardAlarmRadar.getCreateTime(), coordinate);
-                                } else {
-                                    ardAlarmRadar.setGuideFlag(0);
-                                    count++;
-                                }
-                            } else {
-                                ardAlarmRadar.setGuideFlag(0);
-                                count = 0;
-                            }
-                            unGuideCountMap.put(ardAlarmRadar.getName(), count);
-                            //鏇存柊
-                            ardAlarmRadarMapper.updateArdAlarmRadar(ardAlarmRadar);
-                        }
-                    }
-                    //endregion
+                    radarMoveGuide(ardAlarmRadarMoves,radarAlarmData);
+                    radarFireGuide(ardAlarmRadarFires,radarAlarmData);
+                    radarPumpGuide(ardAlarmRadarPumps,radarAlarmData);
                     break;
                 case "external":
                     //region 澶勭悊澶栬仈鎶ヨ
@@ -945,14 +1010,15 @@
     /**
      * 闆疯揪寮曞鍏ラ槦
      */
-    private void radarGuide(String radarId, String alarmpointName, String alarmType, Date createTime, double[] coordinate) {
-        String uuid = IdUtils.simpleUUID();
+    private void radarGuideToQueue(String alarmId,String radarId, String name, String alarmType, Date createTime, double[] coordinate) {
+        int index = name.indexOf("(");
+        String alarmpointName = name.substring(0, index);
         //鑾峰彇闆疯揪鎵�鍦ㄥ涓婄殑澶у厜鐢�
-        String cameraIdWithTower = ardAlarmRadarMapper.getCameraByRadar(radarId);
+        String cameraIdWithTower = ardEquipRadarMapper.getCameraByRadar(radarId);
         if (StringUtils.isNotNull(cameraIdWithTower) && StringUtils.isNotEmpty(cameraIdWithTower)) {
             log.info("鑾峰彇鍒伴浄杈惧涓婄殑鍏夌數:" + cameraIdWithTower);
             //濡傛灉闆疯揪濉斾笂鏈夊厜鐢�
-            messagesEnqueued(cameraIdWithTower, uuid, alarmType, createTime, 1, 1, coordinate);
+            messagesEnqueued(cameraIdWithTower, alarmId, alarmType, createTime, 1, 1, coordinate);
         }
         //鑾峰彇鎶ヨ鐐瑰叧鑱旂殑澶у厜鐢�
         ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellMapper.selectArdAlarmpointsWellByWellId(alarmpointName);
@@ -963,8 +1029,160 @@
             }
             log.info("鑾峰彇鍒版姤璀︾偣鍏宠仈鐨勫厜鐢�:" + cameraId);
             //濡傛灉鎶ヨ鐐瑰叧鑱斾簡鍏夌數
-            messagesEnqueued(cameraId, uuid, alarmType, createTime, 1, 2, coordinate);
+            messagesEnqueued(cameraId, alarmId, alarmType, createTime, 1, 2, coordinate);
         }
     }
 
+
+    private void radarMoveGuide(List<ArdAlarmRadarMove> ardAlarmRadarMoves,RadarAlarmData radarAlarmData)
+    {
+        //鎸夊叴瓒g偣鍘婚噸,鐒跺悗鎸夊紩瀵奸�昏緫杩涜寮曞鍏ラ槦
+        ardAlarmRadarMoves = ardAlarmRadarMoves.stream()
+                .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new java.util.TreeSet<>(java.util.Comparator.comparing(ArdAlarmRadarMove::getName))), ArrayList::new));
+        for (ArdAlarmRadarMove ardAlarmRadarMove : ardAlarmRadarMoves) {
+            //閬嶅巻鎶ヨ鏁版嵁杩涜寮曞
+            if (StringUtils.isNull(ardAlarmRadarMove.getLongitude()) || StringUtils.isNull(ardAlarmRadarMove.getLatitude())) {
+                //鍧愭爣涓虹┖涓嶅紩瀵�
+                continue;
+            }
+            double[] coordinate = new double[]{ardAlarmRadarMove.getLongitude(), ardAlarmRadarMove.getLatitude()};//鎶ヨ鍧愭爣
+            //浠巖edis涓彇鍑哄綋鍓嶆姤璀︾偣鐨�5鍒嗛挓鍐呮槸鍚︽湁寮曞
+            ArdAlarmRadarMove alarmRadarMove = redisCache.getCacheObject("global_move_alarm:" + ardAlarmRadarMove.getName());//浠巖edis涓彇鍑烘渶鏂板紩瀵肩殑鎶ヨ鏁版嵁
+            if (alarmRadarMove == null) {
+                //5鍒嗛挓鍐卹edis涓病鏈夋暟鎹紝璇存槑5鍒嗛挓鍐呮病鏈夊紩瀵兼暟鎹�
+                ardAlarmRadarMove.setGuideFlag(1);
+                //灏嗗紩瀵兼暟鎹啓鍏edis 璁剧疆5鍒嗛挓杩囨湡
+                redisCache.setCacheObject("global_move_alarm:" + ardAlarmRadarMove.getName(), ardAlarmRadarMove, 5, TimeUnit.MINUTES);//寮曞鏁版嵁鍐欏叆redis
+                unGuideCountMapMove.put(ardAlarmRadarMove.getName(), 0);
+                //寮曞鍏ラ槦
+                radarGuideToQueue(ardAlarmRadarMove.getId(),radarAlarmData.getRadarId(), ardAlarmRadarMove.getName(), ardAlarmRadarMove.getAlarmType(), ardAlarmRadarMove.getCreateTime(), coordinate);//鏇存柊
+
+            } else {
+                //5鍒嗛挓鍐卹edis涓湁鏁版嵁锛岃鏄�5鍒嗛挓鍐呮湁寮曞鏁版嵁,鑾峰彇褰撳墠鎶ヨ鐐圭殑鏈紩瀵兼鏁�
+                Integer count = unGuideCountMapMove.get(ardAlarmRadarMove.getName());
+                if (count != null) {
+                    if (count > 2) {
+                        //鏈紩瀵兼鏁�3娆″悗杩涜寮曞
+                        ardAlarmRadarMove.setGuideFlag(1);
+                        //灏嗗紩瀵兼暟鎹啓鍏edis 璁剧疆5鍒嗛挓杩囨湡
+                        redisCache.setCacheObject("global_move_alarm:" + ardAlarmRadarMove.getName(), ardAlarmRadarMove, 5, TimeUnit.MINUTES);
+                        count = 0;
+                        //寮曞鍏ラ槦
+
+                        radarGuideToQueue(ardAlarmRadarMove.getId(),radarAlarmData.getRadarId(), ardAlarmRadarMove.getName(), ardAlarmRadarMove.getAlarmType(), ardAlarmRadarMove.getCreateTime(), coordinate);
+                    } else {
+                        ardAlarmRadarMove.setGuideFlag(0);
+                        count++;
+                    }
+                } else {
+                    ardAlarmRadarMove.setGuideFlag(0);
+                    count = 0;
+                }
+                unGuideCountMapMove.put(ardAlarmRadarMove.getName(), count);
+            }
+            //鏇存柊
+            ardAlarmRadarMoveMapper.updateArdAlarmRadarMove(ardAlarmRadarMove);
+        }
+        //endregion
+    }
+    private void radarFireGuide(List<ArdAlarmRadarFire> ardAlarmRadarFires,RadarAlarmData radarAlarmData)
+    {
+        //鎸夊叴瓒g偣鍘婚噸,鐒跺悗鎸夊紩瀵奸�昏緫杩涜寮曞鍏ラ槦
+        ardAlarmRadarFires = ardAlarmRadarFires.stream()
+                .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new java.util.TreeSet<>(java.util.Comparator.comparing(ArdAlarmRadarFire::getName))), ArrayList::new));
+        for (ArdAlarmRadarFire ardAlarmRadarFire : ardAlarmRadarFires) {
+            //閬嶅巻鎶ヨ鏁版嵁杩涜寮曞
+            if (StringUtils.isNull(ardAlarmRadarFire.getLongitude()) || StringUtils.isNull(ardAlarmRadarFire.getLatitude())) {
+                //鍧愭爣涓虹┖涓嶅紩瀵�
+                continue;
+            }
+            double[] coordinate = new double[]{ardAlarmRadarFire.getLongitude(), ardAlarmRadarFire.getLatitude()};//鎶ヨ鍧愭爣
+            //浠巖edis涓彇鍑哄綋鍓嶆姤璀︾偣鐨�5鍒嗛挓鍐呮槸鍚︽湁寮曞
+            ArdAlarmRadarFire alarmRadarFire = redisCache.getCacheObject("global_fire_alarm:" + ardAlarmRadarFire.getName());//浠巖edis涓彇鍑烘渶鏂板紩瀵肩殑鎶ヨ鏁版嵁
+            if (alarmRadarFire == null) {
+                //5鍒嗛挓鍐卹edis涓病鏈夋暟鎹紝璇存槑5鍒嗛挓鍐呮病鏈夊紩瀵兼暟鎹�
+                ardAlarmRadarFire.setGuideFlag(1);
+                //灏嗗紩瀵兼暟鎹啓鍏edis 璁剧疆5鍒嗛挓杩囨湡
+                redisCache.setCacheObject("global_fire_alarm:" + ardAlarmRadarFire.getName(), ardAlarmRadarFire, 5, TimeUnit.MINUTES);//寮曞鏁版嵁鍐欏叆redis
+                unGuideCountMapFire.put(alarmRadarFire.getName(), 0);
+                //寮曞鍏ラ槦
+                radarGuideToQueue(ardAlarmRadarFire.getId(),radarAlarmData.getRadarId(), ardAlarmRadarFire.getName(), ardAlarmRadarFire.getAlarmType(), ardAlarmRadarFire.getCreateTime(), coordinate);
+
+            } else {
+                //5鍒嗛挓鍐卹edis涓湁鏁版嵁锛岃鏄�5鍒嗛挓鍐呮湁寮曞鏁版嵁,鑾峰彇褰撳墠鎶ヨ鐐圭殑鏈紩瀵兼鏁�
+                Integer count = unGuideCountMapFire.get(alarmRadarFire.getName());
+                if (count != null) {
+                    if (count > 2) {
+                        //鏈紩瀵兼鏁�3娆″悗杩涜寮曞
+                        ardAlarmRadarFire.setGuideFlag(1);
+                        //灏嗗紩瀵兼暟鎹啓鍏edis 璁剧疆5鍒嗛挓杩囨湡
+                        redisCache.setCacheObject("global_fire_alarm:" + ardAlarmRadarFire.getName(), ardAlarmRadarFire, 5, TimeUnit.MINUTES);
+                        count = 0;
+                        //寮曞鍏ラ槦
+                        radarGuideToQueue(ardAlarmRadarFire.getId(),radarAlarmData.getRadarId(), ardAlarmRadarFire.getName(), ardAlarmRadarFire.getAlarmType(), ardAlarmRadarFire.getCreateTime(), coordinate);
+                    } else {
+                        ardAlarmRadarFire.setGuideFlag(0);
+                        count++;
+                    }
+                } else {
+                    ardAlarmRadarFire.setGuideFlag(0);
+                    count = 0;
+                }
+                unGuideCountMapFire.put(ardAlarmRadarFire.getName(), count);
+            }
+            //鏇存柊
+            ardAlarmRadarFireMapper.updateArdAlarmRadarFire(ardAlarmRadarFire);
+        }
+        //endregion
+    }
+    private void radarPumpGuide(List<ArdAlarmRadarPump> ardAlarmRadarPumps,RadarAlarmData radarAlarmData)
+    {
+        //鎸夊叴瓒g偣鍘婚噸,鐒跺悗鎸夊紩瀵奸�昏緫杩涜寮曞鍏ラ槦
+        ardAlarmRadarPumps = ardAlarmRadarPumps.stream()
+                .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new java.util.TreeSet<>(java.util.Comparator.comparing(ArdAlarmRadarPump::getName))), ArrayList::new));
+        for (ArdAlarmRadarPump ardAlarmRadarPump : ardAlarmRadarPumps) {
+            //閬嶅巻鎶ヨ鏁版嵁杩涜寮曞
+            if (StringUtils.isNull(ardAlarmRadarPump.getLongitude()) || StringUtils.isNull(ardAlarmRadarPump.getLatitude())) {
+                //鍧愭爣涓虹┖涓嶅紩瀵�
+                continue;
+            }
+            double[] coordinate = new double[]{ardAlarmRadarPump.getLongitude(), ardAlarmRadarPump.getLatitude()};//鎶ヨ鍧愭爣
+            //浠巖edis涓彇鍑哄綋鍓嶆姤璀︾偣鐨�5鍒嗛挓鍐呮槸鍚︽湁寮曞
+            ArdAlarmRadarPump alarmRadarPump = redisCache.getCacheObject("global_pump_alarm:" + ardAlarmRadarPump.getName());//浠巖edis涓彇鍑烘渶鏂板紩瀵肩殑鎶ヨ鏁版嵁
+            if (alarmRadarPump == null) {
+                //5鍒嗛挓鍐卹edis涓病鏈夋暟鎹紝璇存槑5鍒嗛挓鍐呮病鏈夊紩瀵兼暟鎹�
+                ardAlarmRadarPump.setGuideFlag(1);
+                //灏嗗紩瀵兼暟鎹啓鍏edis 璁剧疆5鍒嗛挓杩囨湡
+                redisCache.setCacheObject("global_pump_alarm:" + ardAlarmRadarPump.getName(), ardAlarmRadarPump, 5, TimeUnit.MINUTES);//寮曞鏁版嵁鍐欏叆redis
+                unGuideCountMapPump.put(alarmRadarPump.getName(), 0);
+                //寮曞鍏ラ槦
+                radarGuideToQueue(ardAlarmRadarPump.getId(),radarAlarmData.getRadarId(), ardAlarmRadarPump.getName(), ardAlarmRadarPump.getAlarmType(), ardAlarmRadarPump.getCreateTime(), coordinate);
+
+            } else {
+                //5鍒嗛挓鍐卹edis涓湁鏁版嵁锛岃鏄�5鍒嗛挓鍐呮湁寮曞鏁版嵁,鑾峰彇褰撳墠鎶ヨ鐐圭殑鏈紩瀵兼鏁�
+                Integer count = unGuideCountMapPump.get(ardAlarmRadarPump.getName());
+                if (count != null) {
+                    if (count > 2) {
+                        //鏈紩瀵兼鏁�3娆″悗杩涜寮曞
+                        ardAlarmRadarPump.setGuideFlag(1);
+                        //灏嗗紩瀵兼暟鎹啓鍏edis 璁剧疆5鍒嗛挓杩囨湡
+                        redisCache.setCacheObject("global_pump_alarm:" + ardAlarmRadarPump.getName(), ardAlarmRadarPump, 5, TimeUnit.MINUTES);
+                        count = 0;
+                        //寮曞鍏ラ槦
+                        radarGuideToQueue(ardAlarmRadarPump.getId(),radarAlarmData.getRadarId(), ardAlarmRadarPump.getName(), ardAlarmRadarPump.getAlarmType(), ardAlarmRadarPump.getCreateTime(), coordinate);
+                    } else {
+                        ardAlarmRadarPump.setGuideFlag(0);
+                        count++;
+                    }
+                } else {
+                    ardAlarmRadarPump.setGuideFlag(0);
+                    count = 0;
+                }
+                unGuideCountMapPump.put(ardAlarmRadarPump.getName(), count);
+            }
+            //鏇存柊
+            ardAlarmRadarPumpMapper.updateArdAlarmRadarPump(ardAlarmRadarPump);
+        }
+        //endregion
+    }
 }
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueTaskExecutor.java b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueTaskExecutor.java
index e3f965c..2dceaa2 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueTaskExecutor.java
+++ b/ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/QueueTaskExecutor.java
@@ -6,6 +6,12 @@
 import com.ruoyi.alarm.external.service.IArdAlarmExternalService;
 import com.ruoyi.alarm.global.domain.GuideTask;
 import com.ruoyi.alarm.radar.domain.ArdAlarmRadar;
+import com.ruoyi.alarm.radar.domain.ArdAlarmRadarFire;
+import com.ruoyi.alarm.radar.domain.ArdAlarmRadarMove;
+import com.ruoyi.alarm.radar.domain.ArdAlarmRadarPump;
+import com.ruoyi.alarm.radar.service.IArdAlarmRadarFireService;
+import com.ruoyi.alarm.radar.service.IArdAlarmRadarMoveService;
+import com.ruoyi.alarm.radar.service.IArdAlarmRadarPumpService;
 import com.ruoyi.alarm.radar.service.IArdAlarmRadarService;
 import com.ruoyi.alarm.tube.domain.ArdAlarmTube;
 import com.ruoyi.alarm.tube.service.IArdAlarmTubeService;
@@ -29,11 +35,16 @@
 @Slf4j(topic = "guideQueue")
 public class QueueTaskExecutor {
     @Resource
+    IArdAlarmRadarMoveService ardAlarmRadarMoveService;
+    @Resource
+    IArdAlarmRadarFireService ardAlarmRadarFireService;
+    @Resource
+    IArdAlarmRadarPumpService ardAlarmRadarPumpService;
+    @Resource
     IHikClientService hikClientService;
     @Resource
     IArdAlarmTubeService ardAlarmTubeService;
-    @Resource
-    IArdAlarmRadarService ardAlarmRadarService;
+
     @Resource
     IArdAlarmExternalService ardAlarmExternalService;
     @Resource
@@ -69,16 +80,33 @@
                             ardAlarmTubeService.updateArdAlarmTube(ardAlarmTube);
                             break;
                         case "sys_radar_move":
-                        case "sys_radar_fire":
-                        case "sys_radar_pumpshutdown":
-                            ArdAlarmRadar ardAlarmRadar = new ArdAlarmRadar();
-                            ardAlarmRadar.setId(guideTask.getAlarmId());
+                            ArdAlarmRadarMove ardAlarmRadarMove = new ArdAlarmRadarMove();
+                            ardAlarmRadarMove.setId(guideTask.getAlarmId());
                             if (guideTask.getRecordSn().equals(1)) {
-                                ardAlarmRadar.setRecordUrl1(url);
+                                ardAlarmRadarMove.setRecordUrl1(url);
                             } else {
-                                ardAlarmRadar.setRecordUrl2(url);
+                                ardAlarmRadarMove.setRecordUrl2(url);
                             }
-                            ardAlarmRadarService.updateArdAlarmRadar(ardAlarmRadar);
+                            ardAlarmRadarMoveService.updateArdAlarmRadarMove(ardAlarmRadarMove);
+                            break;
+                        case "sys_radar_fire":
+                            ArdAlarmRadarFire ardAlarmRadarFire = new ArdAlarmRadarFire();
+                            ardAlarmRadarFire.setId(guideTask.getAlarmId());
+                            if (guideTask.getRecordSn().equals(1)) {
+                                ardAlarmRadarFire.setRecordUrl1(url);
+                            } else {
+                                ardAlarmRadarFire.setRecordUrl2(url);
+                            }
+                            ardAlarmRadarFireService.updateArdAlarmRadarFire(ardAlarmRadarFire);
+                        case "sys_radar_pump":
+                            ArdAlarmRadarPump ardAlarmRadarPump = new ArdAlarmRadarPump();
+                            ardAlarmRadarPump.setId(guideTask.getAlarmId());
+                            if (guideTask.getRecordSn().equals(1)) {
+                                ardAlarmRadarPump.setRecordUrl1(url);
+                            } else {
+                                ardAlarmRadarPump.setRecordUrl2(url);
+                            }
+                            ardAlarmRadarPumpService.updateArdAlarmRadarPump(ardAlarmRadarPump);
                             break;
                         case "sys_external":
                             ArdAlarmExternal ardAlarmExternal = new ArdAlarmExternal();
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/radar/controller/ArdAlarmRadarFireController.java b/ard-work/src/main/java/com/ruoyi/alarm/radar/controller/ArdAlarmRadarFireController.java
new file mode 100644
index 0000000..c372e45
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/alarm/radar/controller/ArdAlarmRadarFireController.java
@@ -0,0 +1,104 @@
+package com.ruoyi.alarm.radar.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.alarm.radar.domain.ArdAlarmRadarFire;
+import com.ruoyi.alarm.radar.service.IArdAlarmRadarFireService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 闆疯揪闃茬伀鎶ヨController
+ * 
+ * @author ard
+ * @date 2023-09-02
+ */
+@RestController
+@RequestMapping("/radar/fire")
+public class ArdAlarmRadarFireController extends BaseController
+{
+    @Autowired
+    private IArdAlarmRadarFireService ardAlarmRadarFireService;
+
+    /**
+     * 鏌ヨ闆疯揪闃茬伀鎶ヨ鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('radar:fire:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(ArdAlarmRadarFire ardAlarmRadarFire)
+    {
+        startPage();
+        List<ArdAlarmRadarFire> list = ardAlarmRadarFireService.selectArdAlarmRadarFireList(ardAlarmRadarFire);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭闆疯揪闃茬伀鎶ヨ鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('radar:fire:export')")
+    @Log(title = "闆疯揪闃茬伀鎶ヨ", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ArdAlarmRadarFire ardAlarmRadarFire)
+    {
+        List<ArdAlarmRadarFire> list = ardAlarmRadarFireService.selectArdAlarmRadarFireList(ardAlarmRadarFire);
+        ExcelUtil<ArdAlarmRadarFire> util = new ExcelUtil<ArdAlarmRadarFire>(ArdAlarmRadarFire.class);
+        util.exportExcel(response, list, "闆疯揪闃茬伀鎶ヨ鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇闆疯揪闃茬伀鎶ヨ璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('radar:fire:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id)
+    {
+        return success(ardAlarmRadarFireService.selectArdAlarmRadarFireById(id));
+    }
+
+    /**
+     * 鏂板闆疯揪闃茬伀鎶ヨ
+     */
+    @PreAuthorize("@ss.hasPermi('radar:fire:add')")
+    @Log(title = "闆疯揪闃茬伀鎶ヨ", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody ArdAlarmRadarFire ardAlarmRadarFire)
+    {
+        return toAjax(ardAlarmRadarFireService.insertArdAlarmRadarFire(ardAlarmRadarFire));
+    }
+
+    /**
+     * 淇敼闆疯揪闃茬伀鎶ヨ
+     */
+    @PreAuthorize("@ss.hasPermi('radar:fire:edit')")
+    @Log(title = "闆疯揪闃茬伀鎶ヨ", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody ArdAlarmRadarFire ardAlarmRadarFire)
+    {
+        return toAjax(ardAlarmRadarFireService.updateArdAlarmRadarFire(ardAlarmRadarFire));
+    }
+
+    /**
+     * 鍒犻櫎闆疯揪闃茬伀鎶ヨ
+     */
+    @PreAuthorize("@ss.hasPermi('radar:fire:remove')")
+    @Log(title = "闆疯揪闃茬伀鎶ヨ", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids)
+    {
+        return toAjax(ardAlarmRadarFireService.deleteArdAlarmRadarFireByIds(ids));
+    }
+}
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/radar/controller/ArdAlarmRadarMoveController.java b/ard-work/src/main/java/com/ruoyi/alarm/radar/controller/ArdAlarmRadarMoveController.java
new file mode 100644
index 0000000..0588f35
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/alarm/radar/controller/ArdAlarmRadarMoveController.java
@@ -0,0 +1,104 @@
+package com.ruoyi.alarm.radar.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.alarm.radar.domain.ArdAlarmRadarMove;
+import com.ruoyi.alarm.radar.service.IArdAlarmRadarMoveService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 闆疯揪绉诲姩鎶ヨController
+ * 
+ * @author ard
+ * @date 2023-09-02
+ */
+@RestController
+@RequestMapping("/radar/move")
+public class ArdAlarmRadarMoveController extends BaseController
+{
+    @Autowired
+    private IArdAlarmRadarMoveService ardAlarmRadarMoveService;
+
+    /**
+     * 鏌ヨ闆疯揪绉诲姩鎶ヨ鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('radar:move:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(ArdAlarmRadarMove ardAlarmRadarMove)
+    {
+        startPage();
+        List<ArdAlarmRadarMove> list = ardAlarmRadarMoveService.selectArdAlarmRadarMoveList(ardAlarmRadarMove);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭闆疯揪绉诲姩鎶ヨ鍒楄〃
+     */
+    @PreAuthorize("@ss.hasPermi('radar:move:export')")
+    @Log(title = "闆疯揪绉诲姩鎶ヨ", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ArdAlarmRadarMove ardAlarmRadarMove)
+    {
+        List<ArdAlarmRadarMove> list = ardAlarmRadarMoveService.selectArdAlarmRadarMoveList(ardAlarmRadarMove);
+        ExcelUtil<ArdAlarmRadarMove> util = new ExcelUtil<ArdAlarmRadarMove>(ArdAlarmRadarMove.class);
+        util.exportExcel(response, list, "闆疯揪绉诲姩鎶ヨ鏁版嵁");
+    }
+
+    /**
+     * 鑾峰彇闆疯揪绉诲姩鎶ヨ璇︾粏淇℃伅
+     */
+    @PreAuthorize("@ss.hasPermi('radar:move:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id)
+    {
+        return success(ardAlarmRadarMoveService.selectArdAlarmRadarMoveById(id));
+    }
+
+    /**
+     * 鏂板闆疯揪绉诲姩鎶ヨ
+     */
+    @PreAuthorize("@ss.hasPermi('radar:move:add')")
+    @Log(title = "闆疯揪绉诲姩鎶ヨ", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody ArdAlarmRadarMove ardAlarmRadarMove)
+    {
+        return toAjax(ardAlarmRadarMoveService.insertArdAlarmRadarMove(ardAlarmRadarMove));
+    }
+
+    /**
+     * 淇敼闆疯揪绉诲姩鎶ヨ
+     */
+    @PreAuthorize("@ss.hasPermi('radar:move:edit')")
+    @Log(title = "闆疯揪绉诲姩鎶ヨ", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody ArdAlarmRadarMove ardAlarmRadarMove)
+    {
+        return toAjax(ardAlarmRadarMoveService.updateArdAlarmRadarMove(ardAlarmRadarMove));
+    }
+
+    /**
+     * 鍒犻櫎闆疯揪绉诲姩鎶ヨ
+     */
+    @PreAuthorize("@ss.hasPermi('radar:move:remove')")
+    @Log(title = "闆疯揪绉诲姩鎶ヨ", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids)
+    {
+        return toAjax(ardAlarmRadarMoveService.deleteArdAlarmRadarMoveByIds(ids));
+    }
+}
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/radar/controller/ArdAlarmRadarPumpController.java b/ard-work/src/main/java/com/ruoyi/alarm/radar/controller/ArdAlarmRadarPumpController.java
new file mode 100644
index 0000000..8b09dae
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/alarm/radar/controller/ArdAlarmRadarPumpController.java
@@ -0,0 +1,104 @@
+package com.ruoyi.alarm.radar.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.alarm.radar.domain.ArdAlarmRadarPump;
+import com.ruoyi.alarm.radar.service.IArdAlarmRadarPumpService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 闆疯揪鎶芥补鏈哄仠鏈烘姤璀ontroller
+ * 
+ * @author ard
+ * @date 2023-09-02
+ */
+@RestController
+@RequestMapping("/radar/pump")
+public class ArdAlarmRadarPumpController extends BaseController
+{
+    @Autowired
+    private IArdAlarmRadarPumpService ardAlarmRadarPumpService;
+
+    /**
+     * 鏌ヨ闆疯揪鎶芥补鏈哄仠鏈烘姤璀﹀垪琛�
+     */
+    @PreAuthorize("@ss.hasPermi('radar:pump:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(ArdAlarmRadarPump ardAlarmRadarPump)
+    {
+        startPage();
+        List<ArdAlarmRadarPump> list = ardAlarmRadarPumpService.selectArdAlarmRadarPumpList(ardAlarmRadarPump);
+        return getDataTable(list);
+    }
+
+    /**
+     * 瀵煎嚭闆疯揪鎶芥补鏈哄仠鏈烘姤璀﹀垪琛�
+     */
+    @PreAuthorize("@ss.hasPermi('radar:pump:export')")
+    @Log(title = "闆疯揪鎶芥补鏈哄仠鏈烘姤璀�", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ArdAlarmRadarPump ardAlarmRadarPump)
+    {
+        List<ArdAlarmRadarPump> list = ardAlarmRadarPumpService.selectArdAlarmRadarPumpList(ardAlarmRadarPump);
+        ExcelUtil<ArdAlarmRadarPump> util = new ExcelUtil<ArdAlarmRadarPump>(ArdAlarmRadarPump.class);
+        util.exportExcel(response, list, "闆疯揪鎶芥补鏈哄仠鏈烘姤璀︽暟鎹�");
+    }
+
+    /**
+     * 鑾峰彇闆疯揪鎶芥补鏈哄仠鏈烘姤璀﹁缁嗕俊鎭�
+     */
+    @PreAuthorize("@ss.hasPermi('radar:pump:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id)
+    {
+        return success(ardAlarmRadarPumpService.selectArdAlarmRadarPumpById(id));
+    }
+
+    /**
+     * 鏂板闆疯揪鎶芥补鏈哄仠鏈烘姤璀�
+     */
+    @PreAuthorize("@ss.hasPermi('radar:pump:add')")
+    @Log(title = "闆疯揪鎶芥补鏈哄仠鏈烘姤璀�", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody ArdAlarmRadarPump ardAlarmRadarPump)
+    {
+        return toAjax(ardAlarmRadarPumpService.insertArdAlarmRadarPump(ardAlarmRadarPump));
+    }
+
+    /**
+     * 淇敼闆疯揪鎶芥补鏈哄仠鏈烘姤璀�
+     */
+    @PreAuthorize("@ss.hasPermi('radar:pump:edit')")
+    @Log(title = "闆疯揪鎶芥补鏈哄仠鏈烘姤璀�", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody ArdAlarmRadarPump ardAlarmRadarPump)
+    {
+        return toAjax(ardAlarmRadarPumpService.updateArdAlarmRadarPump(ardAlarmRadarPump));
+    }
+
+    /**
+     * 鍒犻櫎闆疯揪鎶芥补鏈哄仠鏈烘姤璀�
+     */
+    @PreAuthorize("@ss.hasPermi('radar:pump:remove')")
+    @Log(title = "闆疯揪鎶芥补鏈哄仠鏈烘姤璀�", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids)
+    {
+        return toAjax(ardAlarmRadarPumpService.deleteArdAlarmRadarPumpByIds(ids));
+    }
+}
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarFire.java b/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarFire.java
new file mode 100644
index 0000000..3f44d8c
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarFire.java
@@ -0,0 +1,232 @@
+package com.ruoyi.alarm.radar.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 闆疯揪闃茬伀鎶ヨ瀵硅薄 ard_alarm_radar_fire
+ * 
+ * @author ard
+ * @date 2023-09-02
+ */
+public class ArdAlarmRadarFire extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 璁板綍ID */
+    private String id;
+
+    /** 鍏磋叮鐐瑰悕绉� */
+    @Excel(name = "鍏磋叮鐐瑰悕绉�")
+    private String name;
+
+    /** 鐩爣ID */
+    @Excel(name = "鐩爣ID")
+    private String targetId;
+
+    /** 鎶ヨ绫诲瀷 */
+    @Excel(name = "鎶ヨ绫诲瀷")
+    private String alarmType;
+
+    /** 鎶ヨ鏃堕棿 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "鎶ヨ鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date alarmTime;
+
+    /** 缁忓害 */
+    @Excel(name = "缁忓害")
+    private Double longitude;
+
+    /** 绾害 */
+    @Excel(name = "绾害")
+    private Double latitude;
+
+    /** 寮曞褰曞儚2 */
+    @Excel(name = "寮曞褰曞儚2")
+    private String recordUrl2;
+    /** 寮曞褰曞儚1 */
+    @Excel(name = "寮曞褰曞儚1")
+    private String recordUrl1;
+    /** 鏌ョ湅鏃堕棿 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "鏌ョ湅鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date viewTime;
+
+    /** 鐢ㄦ埛ID */
+    @Excel(name = "鐢ㄦ埛ID")
+    private String userId;
+
+    /** 閮ㄩ棬ID */
+    @Excel(name = "閮ㄩ棬ID")
+    private Long deptId;
+
+    /** 寮曞鏍囪 */
+    @Excel(name = "寮曞鏍囪")
+    private Integer guideFlag;
+
+    /**
+     * 鎶ヨ鎬绘暟
+     */
+    private Integer total;
+    /**
+     * 鏈鎶ヨ鏁伴噺
+     */
+    private Integer count;
+
+    public Integer getTotal() {
+        return total;
+    }
+
+    public void setTotal(Integer total) {
+        this.total = total;
+    }
+
+    public Integer getCount() {
+        return count;
+    }
+
+    public void setCount(Integer count) {
+        this.count = count;
+    }
+
+    public void setId(String id)
+    {
+        this.id = id;
+    }
+
+    public String getId() 
+    {
+        return id;
+    }
+    public void setName(String name) 
+    {
+        this.name = name;
+    }
+
+    public String getName() 
+    {
+        return name;
+    }
+    public void setTargetId(String targetId) 
+    {
+        this.targetId = targetId;
+    }
+
+    public String getTargetId() 
+    {
+        return targetId;
+    }
+    public void setAlarmType(String alarmType) 
+    {
+        this.alarmType = alarmType;
+    }
+
+    public String getAlarmType() 
+    {
+        return alarmType;
+    }
+    public void setAlarmTime(Date alarmTime) 
+    {
+        this.alarmTime = alarmTime;
+    }
+
+    public Date getAlarmTime() 
+    {
+        return alarmTime;
+    }
+    public void setLongitude(Double longitude) 
+    {
+        this.longitude = longitude;
+    }
+
+    public Double getLongitude() 
+    {
+        return longitude;
+    }
+    public void setLatitude(Double latitude) 
+    {
+        this.latitude = latitude;
+    }
+
+    public Double getLatitude() 
+    {
+        return latitude;
+    }
+    public void setRecordUrl1(String recordUrl1) 
+    {
+        this.recordUrl1 = recordUrl1;
+    }
+
+    public String getRecordUrl1() 
+    {
+        return recordUrl1;
+    }
+    public void setViewTime(Date viewTime) 
+    {
+        this.viewTime = viewTime;
+    }
+
+    public Date getViewTime() 
+    {
+        return viewTime;
+    }
+    public void setUserId(String userId) 
+    {
+        this.userId = userId;
+    }
+
+    public String getUserId() 
+    {
+        return userId;
+    }
+    public void setDeptId(Long deptId) 
+    {
+        this.deptId = deptId;
+    }
+
+    public Long getDeptId() 
+    {
+        return deptId;
+    }
+    public void setGuideFlag(Integer guideFlag) 
+    {
+        this.guideFlag = guideFlag;
+    }
+
+    public Integer getGuideFlag() 
+    {
+        return guideFlag;
+    }
+
+    public String getRecordUrl2() {
+        return recordUrl2;
+    }
+
+    public void setRecordUrl2(String recordUrl2) {
+        this.recordUrl2 = recordUrl2;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("name", getName())
+            .append("targetId", getTargetId())
+            .append("alarmType", getAlarmType())
+            .append("alarmTime", getAlarmTime())
+            .append("longitude", getLongitude())
+            .append("latitude", getLatitude())
+            .append("recordUrl1", getRecordUrl1())
+            .append("viewTime", getViewTime())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("userId", getUserId())
+            .append("deptId", getDeptId())
+            .append("guideFlag", getGuideFlag())
+            .toString();
+    }
+}
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarMove.java b/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarMove.java
new file mode 100644
index 0000000..1d69f22
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarMove.java
@@ -0,0 +1,232 @@
+package com.ruoyi.alarm.radar.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 闆疯揪绉诲姩鎶ヨ瀵硅薄 ard_alarm_radar_move
+ * 
+ * @author ard
+ * @date 2023-09-02
+ */
+public class ArdAlarmRadarMove extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 璁板綍ID */
+    private String id;
+
+    /** 鍏磋叮鐐瑰悕绉� */
+    @Excel(name = "鍏磋叮鐐瑰悕绉�")
+    private String name;
+
+    /** 鐩爣ID */
+    @Excel(name = "鐩爣ID")
+    private String targetId;
+
+    /** 鎶ヨ绫诲瀷 */
+    @Excel(name = "鎶ヨ绫诲瀷")
+    private String alarmType;
+
+    /** 鎶ヨ鏃堕棿 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "鎶ヨ鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date alarmTime;
+
+    /** 缁忓害 */
+    @Excel(name = "缁忓害")
+    private Double longitude;
+
+    /** 绾害 */
+    @Excel(name = "绾害")
+    private Double latitude;
+
+    /** 寮曞褰曞儚1 */
+    @Excel(name = "寮曞褰曞儚1")
+    private String recordUrl1;
+    /** 寮曞褰曞儚2 */
+    @Excel(name = "寮曞褰曞儚2")
+    private String recordUrl2;
+    /** 鏌ョ湅鏃堕棿 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "鏌ョ湅鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date viewTime;
+
+    /** 鐢ㄦ埛ID */
+    @Excel(name = "鐢ㄦ埛ID")
+    private String userId;
+
+    /** 閮ㄩ棬ID */
+    @Excel(name = "閮ㄩ棬ID")
+    private Long deptId;
+
+    /** 寮曞鏍囪 */
+    @Excel(name = "寮曞鏍囪")
+    private Integer guideFlag;
+
+
+    /**
+     * 鎶ヨ鎬绘暟
+     */
+    private Integer total;
+    /**
+     * 鏈鎶ヨ鏁伴噺
+     */
+    private Integer count;
+
+    public Integer getTotal() {
+        return total;
+    }
+
+    public void setTotal(Integer total) {
+        this.total = total;
+    }
+
+    public Integer getCount() {
+        return count;
+    }
+
+    public void setCount(Integer count) {
+        this.count = count;
+    }
+    public void setId(String id) 
+    {
+        this.id = id;
+    }
+
+    public String getId() 
+    {
+        return id;
+    }
+    public void setName(String name) 
+    {
+        this.name = name;
+    }
+
+    public String getName() 
+    {
+        return name;
+    }
+    public void setTargetId(String targetId) 
+    {
+        this.targetId = targetId;
+    }
+
+    public String getTargetId() 
+    {
+        return targetId;
+    }
+    public void setAlarmType(String alarmType) 
+    {
+        this.alarmType = alarmType;
+    }
+
+    public String getAlarmType() 
+    {
+        return alarmType;
+    }
+    public void setAlarmTime(Date alarmTime) 
+    {
+        this.alarmTime = alarmTime;
+    }
+
+    public Date getAlarmTime() 
+    {
+        return alarmTime;
+    }
+    public void setLongitude(Double longitude) 
+    {
+        this.longitude = longitude;
+    }
+
+    public Double getLongitude() 
+    {
+        return longitude;
+    }
+    public void setLatitude(Double latitude) 
+    {
+        this.latitude = latitude;
+    }
+
+    public Double getLatitude() 
+    {
+        return latitude;
+    }
+    public void setRecordUrl1(String recordUrl1) 
+    {
+        this.recordUrl1 = recordUrl1;
+    }
+
+    public String getRecordUrl1() 
+    {
+        return recordUrl1;
+    }
+    public void setViewTime(Date viewTime) 
+    {
+        this.viewTime = viewTime;
+    }
+
+    public Date getViewTime() 
+    {
+        return viewTime;
+    }
+    public void setUserId(String userId) 
+    {
+        this.userId = userId;
+    }
+
+    public String getUserId() 
+    {
+        return userId;
+    }
+    public void setDeptId(Long deptId) 
+    {
+        this.deptId = deptId;
+    }
+
+    public Long getDeptId() 
+    {
+        return deptId;
+    }
+    public void setGuideFlag(Integer guideFlag) 
+    {
+        this.guideFlag = guideFlag;
+    }
+
+    public Integer getGuideFlag() 
+    {
+        return guideFlag;
+    }
+
+    public String getRecordUrl2() {
+        return recordUrl2;
+    }
+
+    public void setRecordUrl2(String recordUrl2) {
+        this.recordUrl2 = recordUrl2;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("name", getName())
+            .append("targetId", getTargetId())
+            .append("alarmType", getAlarmType())
+            .append("alarmTime", getAlarmTime())
+            .append("longitude", getLongitude())
+            .append("latitude", getLatitude())
+            .append("recordUrl1", getRecordUrl1())
+            .append("viewTime", getViewTime())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("userId", getUserId())
+            .append("deptId", getDeptId())
+            .append("guideFlag", getGuideFlag())
+            .toString();
+    }
+}
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarPump.java b/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarPump.java
new file mode 100644
index 0000000..be0ceda
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarPump.java
@@ -0,0 +1,232 @@
+package com.ruoyi.alarm.radar.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 闆疯揪鎶芥补鏈哄仠鏈烘姤璀﹀璞� ard_alarm_radar_pump
+ * 
+ * @author ard
+ * @date 2023-09-02
+ */
+public class ArdAlarmRadarPump extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 璁板綍ID */
+    private String id;
+
+    /** 鍏磋叮鐐瑰悕绉� */
+    @Excel(name = "鍏磋叮鐐瑰悕绉�")
+    private String name;
+
+    /** 鐩爣ID */
+    @Excel(name = "鐩爣ID")
+    private String targetId;
+
+    /** 鎶ヨ绫诲瀷 */
+    @Excel(name = "鎶ヨ绫诲瀷")
+    private String alarmType;
+
+    /** 鎶ヨ鏃堕棿 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "鎶ヨ鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date alarmTime;
+
+    /** 缁忓害 */
+    @Excel(name = "缁忓害")
+    private Double longitude;
+
+    /** 绾害 */
+    @Excel(name = "绾害")
+    private Double latitude;
+    /** 寮曞褰曞儚1 */
+    @Excel(name = "寮曞褰曞儚1")
+    private String recordUrl1;
+    /** 寮曞褰曞儚2 */
+    @Excel(name = "寮曞褰曞儚2")
+    private String recordUrl2;
+
+    /** 鏌ョ湅鏃堕棿 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "鏌ョ湅鏃堕棿", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date viewTime;
+
+    /** 鐢ㄦ埛ID */
+    @Excel(name = "鐢ㄦ埛ID")
+    private String userId;
+
+    /** 閮ㄩ棬ID */
+    @Excel(name = "閮ㄩ棬ID")
+    private Long deptId;
+
+    /** 寮曞鏍囪 */
+    @Excel(name = "寮曞鏍囪")
+    private Integer guideFlag;
+
+
+    /**
+     * 鎶ヨ鎬绘暟
+     */
+    private Integer total;
+    /**
+     * 鏈鎶ヨ鏁伴噺
+     */
+    private Integer count;
+
+    public Integer getTotal() {
+        return total;
+    }
+
+    public void setTotal(Integer total) {
+        this.total = total;
+    }
+
+    public Integer getCount() {
+        return count;
+    }
+
+    public void setCount(Integer count) {
+        this.count = count;
+    }
+    public void setId(String id) 
+    {
+        this.id = id;
+    }
+
+    public String getId() 
+    {
+        return id;
+    }
+    public void setName(String name) 
+    {
+        this.name = name;
+    }
+
+    public String getName() 
+    {
+        return name;
+    }
+    public void setTargetId(String targetId) 
+    {
+        this.targetId = targetId;
+    }
+
+    public String getTargetId() 
+    {
+        return targetId;
+    }
+    public void setAlarmType(String alarmType) 
+    {
+        this.alarmType = alarmType;
+    }
+
+    public String getAlarmType() 
+    {
+        return alarmType;
+    }
+    public void setAlarmTime(Date alarmTime) 
+    {
+        this.alarmTime = alarmTime;
+    }
+
+    public Date getAlarmTime() 
+    {
+        return alarmTime;
+    }
+    public void setLongitude(Double longitude) 
+    {
+        this.longitude = longitude;
+    }
+
+    public Double getLongitude() 
+    {
+        return longitude;
+    }
+    public void setLatitude(Double latitude) 
+    {
+        this.latitude = latitude;
+    }
+
+    public Double getLatitude() 
+    {
+        return latitude;
+    }
+    public void setRecordUrl1(String recordUrl1) 
+    {
+        this.recordUrl1 = recordUrl1;
+    }
+
+    public String getRecordUrl1() 
+    {
+        return recordUrl1;
+    }
+    public void setViewTime(Date viewTime) 
+    {
+        this.viewTime = viewTime;
+    }
+
+    public Date getViewTime() 
+    {
+        return viewTime;
+    }
+    public void setUserId(String userId) 
+    {
+        this.userId = userId;
+    }
+
+    public String getUserId() 
+    {
+        return userId;
+    }
+    public void setDeptId(Long deptId) 
+    {
+        this.deptId = deptId;
+    }
+
+    public Long getDeptId() 
+    {
+        return deptId;
+    }
+    public void setGuideFlag(Integer guideFlag) 
+    {
+        this.guideFlag = guideFlag;
+    }
+
+    public Integer getGuideFlag() 
+    {
+        return guideFlag;
+    }
+
+    public String getRecordUrl2() {
+        return recordUrl2;
+    }
+
+    public void setRecordUrl2(String recordUrl2) {
+        this.recordUrl2 = recordUrl2;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("name", getName())
+            .append("targetId", getTargetId())
+            .append("alarmType", getAlarmType())
+            .append("alarmTime", getAlarmTime())
+            .append("longitude", getLongitude())
+            .append("latitude", getLatitude())
+            .append("recordUrl1", getRecordUrl1())
+            .append("viewTime", getViewTime())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("userId", getUserId())
+            .append("deptId", getDeptId())
+            .append("guideFlag", getGuideFlag())
+            .toString();
+    }
+}
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/radar/mapper/ArdAlarmRadarFireMapper.java b/ard-work/src/main/java/com/ruoyi/alarm/radar/mapper/ArdAlarmRadarFireMapper.java
new file mode 100644
index 0000000..b7c3d56
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/alarm/radar/mapper/ArdAlarmRadarFireMapper.java
@@ -0,0 +1,70 @@
+package com.ruoyi.alarm.radar.mapper;
+
+import java.util.List;
+
+import com.ruoyi.alarm.radar.domain.ArdAlarmRadar;
+import com.ruoyi.alarm.radar.domain.ArdAlarmRadarFire;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 闆疯揪闃茬伀鎶ヨMapper鎺ュ彛
+ * 
+ * @author ard
+ * @date 2023-09-02
+ */
+public interface ArdAlarmRadarFireMapper 
+{
+    /**
+     * 鏌ヨ闆疯揪闃茬伀鎶ヨ
+     * 
+     * @param id 闆疯揪闃茬伀鎶ヨ涓婚敭
+     * @return 闆疯揪闃茬伀鎶ヨ
+     */
+    public ArdAlarmRadarFire selectArdAlarmRadarFireById(String id);
+
+    /**
+     * 鏌ヨ闆疯揪闃茬伀鎶ヨ鍒楄〃
+     * 
+     * @param ardAlarmRadarFire 闆疯揪闃茬伀鎶ヨ
+     * @return 闆疯揪闃茬伀鎶ヨ闆嗗悎
+     */
+    public List<ArdAlarmRadarFire> selectArdAlarmRadarFireList(ArdAlarmRadarFire ardAlarmRadarFire);
+
+    /**
+     * 鏂板闆疯揪闃茬伀鎶ヨ
+     * 
+     * @param ardAlarmRadarFire 闆疯揪闃茬伀鎶ヨ
+     * @return 缁撴灉
+     */
+    public int insertArdAlarmRadarFire(ArdAlarmRadarFire ardAlarmRadarFire);
+
+    /**
+     * 淇敼闆疯揪闃茬伀鎶ヨ
+     * 
+     * @param ardAlarmRadarFire 闆疯揪闃茬伀鎶ヨ
+     * @return 缁撴灉
+     */
+    public int updateArdAlarmRadarFire(ArdAlarmRadarFire ardAlarmRadarFire);
+
+    /**
+     * 鍒犻櫎闆疯揪闃茬伀鎶ヨ
+     * 
+     * @param id 闆疯揪闃茬伀鎶ヨ涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteArdAlarmRadarFireById(String id);
+
+    /**
+     * 鎵归噺鍒犻櫎闆疯揪闃茬伀鎶ヨ
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteArdAlarmRadarFireByIds(String[] ids);
+
+    int selectCountByAlarmTime(@Param("refreshTime") String refreshTime);
+
+    List<ArdAlarmRadarFire> selectListAllByCommand(@Param("refreshTime") String refreshTime);
+
+    public int updateViewTimeByCondition(@Param("name")String name,@Param("alarmTime") String alarmTime,@Param("viewTime") String viewTime);
+}
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/radar/mapper/ArdAlarmRadarMoveMapper.java b/ard-work/src/main/java/com/ruoyi/alarm/radar/mapper/ArdAlarmRadarMoveMapper.java
new file mode 100644
index 0000000..60dbd8c
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/alarm/radar/mapper/ArdAlarmRadarMoveMapper.java
@@ -0,0 +1,72 @@
+package com.ruoyi.alarm.radar.mapper;
+
+import java.util.List;
+
+import com.ruoyi.alarm.radar.domain.ArdAlarmRadar;
+import com.ruoyi.alarm.radar.domain.ArdAlarmRadarMove;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 闆疯揪绉诲姩鎶ヨMapper鎺ュ彛
+ * 
+ * @author ard
+ * @date 2023-09-02
+ */
+public interface ArdAlarmRadarMoveMapper 
+{
+    /**
+     * 鏌ヨ闆疯揪绉诲姩鎶ヨ
+     * 
+     * @param id 闆疯揪绉诲姩鎶ヨ涓婚敭
+     * @return 闆疯揪绉诲姩鎶ヨ
+     */
+    public ArdAlarmRadarMove selectArdAlarmRadarMoveById(String id);
+
+    /**
+     * 鏌ヨ闆疯揪绉诲姩鎶ヨ鍒楄〃
+     * 
+     * @param ardAlarmRadarMove 闆疯揪绉诲姩鎶ヨ
+     * @return 闆疯揪绉诲姩鎶ヨ闆嗗悎
+     */
+    public List<ArdAlarmRadarMove> selectArdAlarmRadarMoveList(ArdAlarmRadarMove ardAlarmRadarMove);
+
+    /**
+     * 鏂板闆疯揪绉诲姩鎶ヨ
+     * 
+     * @param ardAlarmRadarMove 闆疯揪绉诲姩鎶ヨ
+     * @return 缁撴灉
+     */
+    public int insertArdAlarmRadarMove(ArdAlarmRadarMove ardAlarmRadarMove);
+
+    /**
+     * 淇敼闆疯揪绉诲姩鎶ヨ
+     * 
+     * @param ardAlarmRadarMove 闆疯揪绉诲姩鎶ヨ
+     * @return 缁撴灉
+     */
+    public int updateArdAlarmRadarMove(ArdAlarmRadarMove ardAlarmRadarMove);
+
+    /**
+     * 鍒犻櫎闆疯揪绉诲姩鎶ヨ
+     * 
+     * @param id 闆疯揪绉诲姩鎶ヨ涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteArdAlarmRadarMoveById(String id);
+
+    /**
+     * 鎵归噺鍒犻櫎闆疯揪绉诲姩鎶ヨ
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteArdAlarmRadarMoveByIds(String[] ids);
+
+    int selectCountByAlarmTime(@Param("refreshTime") String refreshTime);
+    List<ArdAlarmRadarMove> selectListAllByCommand(@Param("refreshTime") String refreshTime);
+    public int updateViewTimeByCondition(@Param("name")String name,@Param("alarmTime") String alarmTime,@Param("viewTime") String viewTime);
+    /**
+     * 閫氳繃闆疯揪id鎵惧埌鍏宠仈濉斾笂鐨勫ぇ鍏夌數id
+     */
+    String getCameraByRadar(String radarId);
+}
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/radar/mapper/ArdAlarmRadarPumpMapper.java b/ard-work/src/main/java/com/ruoyi/alarm/radar/mapper/ArdAlarmRadarPumpMapper.java
new file mode 100644
index 0000000..44c99c5
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/alarm/radar/mapper/ArdAlarmRadarPumpMapper.java
@@ -0,0 +1,70 @@
+package com.ruoyi.alarm.radar.mapper;
+
+import java.util.List;
+
+import com.ruoyi.alarm.radar.domain.ArdAlarmRadar;
+import com.ruoyi.alarm.radar.domain.ArdAlarmRadarPump;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 闆疯揪鎶芥补鏈哄仠鏈烘姤璀apper鎺ュ彛
+ * 
+ * @author ard
+ * @date 2023-09-02
+ */
+public interface ArdAlarmRadarPumpMapper 
+{
+    /**
+     * 鏌ヨ闆疯揪鎶芥补鏈哄仠鏈烘姤璀�
+     * 
+     * @param id 闆疯揪鎶芥补鏈哄仠鏈烘姤璀︿富閿�
+     * @return 闆疯揪鎶芥补鏈哄仠鏈烘姤璀�
+     */
+    public ArdAlarmRadarPump selectArdAlarmRadarPumpById(String id);
+
+    /**
+     * 鏌ヨ闆疯揪鎶芥补鏈哄仠鏈烘姤璀﹀垪琛�
+     * 
+     * @param ardAlarmRadarPump 闆疯揪鎶芥补鏈哄仠鏈烘姤璀�
+     * @return 闆疯揪鎶芥补鏈哄仠鏈烘姤璀﹂泦鍚�
+     */
+    public List<ArdAlarmRadarPump> selectArdAlarmRadarPumpList(ArdAlarmRadarPump ardAlarmRadarPump);
+
+    /**
+     * 鏂板闆疯揪鎶芥补鏈哄仠鏈烘姤璀�
+     * 
+     * @param ardAlarmRadarPump 闆疯揪鎶芥补鏈哄仠鏈烘姤璀�
+     * @return 缁撴灉
+     */
+    public int insertArdAlarmRadarPump(ArdAlarmRadarPump ardAlarmRadarPump);
+
+    /**
+     * 淇敼闆疯揪鎶芥补鏈哄仠鏈烘姤璀�
+     * 
+     * @param ardAlarmRadarPump 闆疯揪鎶芥补鏈哄仠鏈烘姤璀�
+     * @return 缁撴灉
+     */
+    public int updateArdAlarmRadarPump(ArdAlarmRadarPump ardAlarmRadarPump);
+
+    /**
+     * 鍒犻櫎闆疯揪鎶芥补鏈哄仠鏈烘姤璀�
+     * 
+     * @param id 闆疯揪鎶芥补鏈哄仠鏈烘姤璀︿富閿�
+     * @return 缁撴灉
+     */
+    public int deleteArdAlarmRadarPumpById(String id);
+
+    /**
+     * 鎵归噺鍒犻櫎闆疯揪鎶芥补鏈哄仠鏈烘姤璀�
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteArdAlarmRadarPumpByIds(String[] ids);
+
+    int selectCountByAlarmTime(@Param("refreshTime") String refreshTime);
+
+    List<ArdAlarmRadarPump> selectListAllByCommand(@Param("refreshTime") String refreshTime);
+
+    public int updateViewTimeByCondition(@Param("name")String name,@Param("alarmTime") String alarmTime,@Param("viewTime") String viewTime);
+}
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/radar/service/IArdAlarmRadarFireService.java b/ard-work/src/main/java/com/ruoyi/alarm/radar/service/IArdAlarmRadarFireService.java
new file mode 100644
index 0000000..3bff6ff
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/alarm/radar/service/IArdAlarmRadarFireService.java
@@ -0,0 +1,61 @@
+package com.ruoyi.alarm.radar.service;
+
+import java.util.List;
+import com.ruoyi.alarm.radar.domain.ArdAlarmRadarFire;
+
+/**
+ * 闆疯揪闃茬伀鎶ヨService鎺ュ彛
+ * 
+ * @author ard
+ * @date 2023-09-02
+ */
+public interface IArdAlarmRadarFireService 
+{
+    /**
+     * 鏌ヨ闆疯揪闃茬伀鎶ヨ
+     * 
+     * @param id 闆疯揪闃茬伀鎶ヨ涓婚敭
+     * @return 闆疯揪闃茬伀鎶ヨ
+     */
+    public ArdAlarmRadarFire selectArdAlarmRadarFireById(String id);
+
+    /**
+     * 鏌ヨ闆疯揪闃茬伀鎶ヨ鍒楄〃
+     * 
+     * @param ardAlarmRadarFire 闆疯揪闃茬伀鎶ヨ
+     * @return 闆疯揪闃茬伀鎶ヨ闆嗗悎
+     */
+    public List<ArdAlarmRadarFire> selectArdAlarmRadarFireList(ArdAlarmRadarFire ardAlarmRadarFire);
+
+    /**
+     * 鏂板闆疯揪闃茬伀鎶ヨ
+     * 
+     * @param ardAlarmRadarFire 闆疯揪闃茬伀鎶ヨ
+     * @return 缁撴灉
+     */
+    public int insertArdAlarmRadarFire(ArdAlarmRadarFire ardAlarmRadarFire);
+
+    /**
+     * 淇敼闆疯揪闃茬伀鎶ヨ
+     * 
+     * @param ardAlarmRadarFire 闆疯揪闃茬伀鎶ヨ
+     * @return 缁撴灉
+     */
+    public int updateArdAlarmRadarFire(ArdAlarmRadarFire ardAlarmRadarFire);
+
+    /**
+     * 鎵归噺鍒犻櫎闆疯揪闃茬伀鎶ヨ
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑闆疯揪闃茬伀鎶ヨ涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteArdAlarmRadarFireByIds(String[] ids);
+
+    /**
+     * 鍒犻櫎闆疯揪闃茬伀鎶ヨ淇℃伅
+     * 
+     * @param id 闆疯揪闃茬伀鎶ヨ涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteArdAlarmRadarFireById(String id);
+}
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/radar/service/IArdAlarmRadarMoveService.java b/ard-work/src/main/java/com/ruoyi/alarm/radar/service/IArdAlarmRadarMoveService.java
new file mode 100644
index 0000000..3004154
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/alarm/radar/service/IArdAlarmRadarMoveService.java
@@ -0,0 +1,61 @@
+package com.ruoyi.alarm.radar.service;
+
+import java.util.List;
+import com.ruoyi.alarm.radar.domain.ArdAlarmRadarMove;
+
+/**
+ * 闆疯揪绉诲姩鎶ヨService鎺ュ彛
+ * 
+ * @author ard
+ * @date 2023-09-02
+ */
+public interface IArdAlarmRadarMoveService 
+{
+    /**
+     * 鏌ヨ闆疯揪绉诲姩鎶ヨ
+     * 
+     * @param id 闆疯揪绉诲姩鎶ヨ涓婚敭
+     * @return 闆疯揪绉诲姩鎶ヨ
+     */
+    public ArdAlarmRadarMove selectArdAlarmRadarMoveById(String id);
+
+    /**
+     * 鏌ヨ闆疯揪绉诲姩鎶ヨ鍒楄〃
+     * 
+     * @param ardAlarmRadarMove 闆疯揪绉诲姩鎶ヨ
+     * @return 闆疯揪绉诲姩鎶ヨ闆嗗悎
+     */
+    public List<ArdAlarmRadarMove> selectArdAlarmRadarMoveList(ArdAlarmRadarMove ardAlarmRadarMove);
+
+    /**
+     * 鏂板闆疯揪绉诲姩鎶ヨ
+     * 
+     * @param ardAlarmRadarMove 闆疯揪绉诲姩鎶ヨ
+     * @return 缁撴灉
+     */
+    public int insertArdAlarmRadarMove(ArdAlarmRadarMove ardAlarmRadarMove);
+
+    /**
+     * 淇敼闆疯揪绉诲姩鎶ヨ
+     * 
+     * @param ardAlarmRadarMove 闆疯揪绉诲姩鎶ヨ
+     * @return 缁撴灉
+     */
+    public int updateArdAlarmRadarMove(ArdAlarmRadarMove ardAlarmRadarMove);
+
+    /**
+     * 鎵归噺鍒犻櫎闆疯揪绉诲姩鎶ヨ
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑闆疯揪绉诲姩鎶ヨ涓婚敭闆嗗悎
+     * @return 缁撴灉
+     */
+    public int deleteArdAlarmRadarMoveByIds(String[] ids);
+
+    /**
+     * 鍒犻櫎闆疯揪绉诲姩鎶ヨ淇℃伅
+     * 
+     * @param id 闆疯揪绉诲姩鎶ヨ涓婚敭
+     * @return 缁撴灉
+     */
+    public int deleteArdAlarmRadarMoveById(String id);
+}
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/radar/service/IArdAlarmRadarPumpService.java b/ard-work/src/main/java/com/ruoyi/alarm/radar/service/IArdAlarmRadarPumpService.java
new file mode 100644
index 0000000..0abba92
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/alarm/radar/service/IArdAlarmRadarPumpService.java
@@ -0,0 +1,61 @@
+package com.ruoyi.alarm.radar.service;
+
+import java.util.List;
+import com.ruoyi.alarm.radar.domain.ArdAlarmRadarPump;
+
+/**
+ * 闆疯揪鎶芥补鏈哄仠鏈烘姤璀ervice鎺ュ彛
+ * 
+ * @author ard
+ * @date 2023-09-02
+ */
+public interface IArdAlarmRadarPumpService 
+{
+    /**
+     * 鏌ヨ闆疯揪鎶芥补鏈哄仠鏈烘姤璀�
+     * 
+     * @param id 闆疯揪鎶芥补鏈哄仠鏈烘姤璀︿富閿�
+     * @return 闆疯揪鎶芥补鏈哄仠鏈烘姤璀�
+     */
+    public ArdAlarmRadarPump selectArdAlarmRadarPumpById(String id);
+
+    /**
+     * 鏌ヨ闆疯揪鎶芥补鏈哄仠鏈烘姤璀﹀垪琛�
+     * 
+     * @param ardAlarmRadarPump 闆疯揪鎶芥补鏈哄仠鏈烘姤璀�
+     * @return 闆疯揪鎶芥补鏈哄仠鏈烘姤璀﹂泦鍚�
+     */
+    public List<ArdAlarmRadarPump> selectArdAlarmRadarPumpList(ArdAlarmRadarPump ardAlarmRadarPump);
+
+    /**
+     * 鏂板闆疯揪鎶芥补鏈哄仠鏈烘姤璀�
+     * 
+     * @param ardAlarmRadarPump 闆疯揪鎶芥补鏈哄仠鏈烘姤璀�
+     * @return 缁撴灉
+     */
+    public int insertArdAlarmRadarPump(ArdAlarmRadarPump ardAlarmRadarPump);
+
+    /**
+     * 淇敼闆疯揪鎶芥补鏈哄仠鏈烘姤璀�
+     * 
+     * @param ardAlarmRadarPump 闆疯揪鎶芥补鏈哄仠鏈烘姤璀�
+     * @return 缁撴灉
+     */
+    public int updateArdAlarmRadarPump(ArdAlarmRadarPump ardAlarmRadarPump);
+
+    /**
+     * 鎵归噺鍒犻櫎闆疯揪鎶芥补鏈哄仠鏈烘姤璀�
+     * 
+     * @param ids 闇�瑕佸垹闄ょ殑闆疯揪鎶芥补鏈哄仠鏈烘姤璀︿富閿泦鍚�
+     * @return 缁撴灉
+     */
+    public int deleteArdAlarmRadarPumpByIds(String[] ids);
+
+    /**
+     * 鍒犻櫎闆疯揪鎶芥补鏈哄仠鏈烘姤璀︿俊鎭�
+     * 
+     * @param id 闆疯揪鎶芥补鏈哄仠鏈烘姤璀︿富閿�
+     * @return 缁撴灉
+     */
+    public int deleteArdAlarmRadarPumpById(String id);
+}
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/radar/service/impl/ArdAlarmRadarFireServiceImpl.java b/ard-work/src/main/java/com/ruoyi/alarm/radar/service/impl/ArdAlarmRadarFireServiceImpl.java
new file mode 100644
index 0000000..28cbb76
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/alarm/radar/service/impl/ArdAlarmRadarFireServiceImpl.java
@@ -0,0 +1,96 @@
+package com.ruoyi.alarm.radar.service.impl;
+
+import java.util.List;
+        import com.ruoyi.common.utils.DateUtils;
+
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.uuid.IdUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.alarm.radar.mapper.ArdAlarmRadarFireMapper;
+import com.ruoyi.alarm.radar.domain.ArdAlarmRadarFire;
+import com.ruoyi.alarm.radar.service.IArdAlarmRadarFireService;
+
+import javax.annotation.Resource;
+
+/**
+ * 闆疯揪闃茬伀鎶ヨService涓氬姟灞傚鐞�
+ *
+ * @author ard
+ * @date 2023-09-02
+ */
+@Service
+public class ArdAlarmRadarFireServiceImpl implements IArdAlarmRadarFireService {
+    @Resource
+    private ArdAlarmRadarFireMapper ardAlarmRadarFireMapper;
+
+    /**
+     * 鏌ヨ闆疯揪闃茬伀鎶ヨ
+     *
+     * @param id 闆疯揪闃茬伀鎶ヨ涓婚敭
+     * @return 闆疯揪闃茬伀鎶ヨ
+     */
+    @Override
+    public ArdAlarmRadarFire selectArdAlarmRadarFireById(String id) {
+        return ardAlarmRadarFireMapper.selectArdAlarmRadarFireById(id);
+    }
+
+    /**
+     * 鏌ヨ闆疯揪闃茬伀鎶ヨ鍒楄〃
+     *
+     * @param ardAlarmRadarFire 闆疯揪闃茬伀鎶ヨ
+     * @return 闆疯揪闃茬伀鎶ヨ
+     */
+    @Override
+    public List<ArdAlarmRadarFire> selectArdAlarmRadarFireList(ArdAlarmRadarFire ardAlarmRadarFire) {
+        return ardAlarmRadarFireMapper.selectArdAlarmRadarFireList(ardAlarmRadarFire);
+    }
+
+    /**
+     * 鏂板闆疯揪闃茬伀鎶ヨ
+     *
+     * @param ardAlarmRadarFire 闆疯揪闃茬伀鎶ヨ
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertArdAlarmRadarFire(ArdAlarmRadarFire ardAlarmRadarFire) {
+                ardAlarmRadarFire.setId(IdUtils.simpleUUID());
+                ardAlarmRadarFire.setCreateBy(SecurityUtils.getUsername());
+                ardAlarmRadarFire.setCreateTime(DateUtils.getNowDate());
+                ardAlarmRadarFire.setUserId(SecurityUtils.getUserId());
+            return ardAlarmRadarFireMapper.insertArdAlarmRadarFire(ardAlarmRadarFire);
+    }
+
+    /**
+     * 淇敼闆疯揪闃茬伀鎶ヨ
+     *
+     * @param ardAlarmRadarFire 闆疯揪闃茬伀鎶ヨ
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateArdAlarmRadarFire(ArdAlarmRadarFire ardAlarmRadarFire) {
+        return ardAlarmRadarFireMapper.updateArdAlarmRadarFire(ardAlarmRadarFire);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎闆疯揪闃茬伀鎶ヨ
+     *
+     * @param ids 闇�瑕佸垹闄ょ殑闆疯揪闃茬伀鎶ヨ涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteArdAlarmRadarFireByIds(String[] ids) {
+        return ardAlarmRadarFireMapper.deleteArdAlarmRadarFireByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎闆疯揪闃茬伀鎶ヨ淇℃伅
+     *
+     * @param id 闆疯揪闃茬伀鎶ヨ涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteArdAlarmRadarFireById(String id) {
+        return ardAlarmRadarFireMapper.deleteArdAlarmRadarFireById(id);
+    }
+}
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/radar/service/impl/ArdAlarmRadarMoveServiceImpl.java b/ard-work/src/main/java/com/ruoyi/alarm/radar/service/impl/ArdAlarmRadarMoveServiceImpl.java
new file mode 100644
index 0000000..5be8f74
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/alarm/radar/service/impl/ArdAlarmRadarMoveServiceImpl.java
@@ -0,0 +1,96 @@
+package com.ruoyi.alarm.radar.service.impl;
+
+import java.util.List;
+        import com.ruoyi.common.utils.DateUtils;
+
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.uuid.IdUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.alarm.radar.mapper.ArdAlarmRadarMoveMapper;
+import com.ruoyi.alarm.radar.domain.ArdAlarmRadarMove;
+import com.ruoyi.alarm.radar.service.IArdAlarmRadarMoveService;
+
+import javax.annotation.Resource;
+
+/**
+ * 闆疯揪绉诲姩鎶ヨService涓氬姟灞傚鐞�
+ *
+ * @author ard
+ * @date 2023-09-02
+ */
+@Service
+public class ArdAlarmRadarMoveServiceImpl implements IArdAlarmRadarMoveService {
+    @Resource
+    private ArdAlarmRadarMoveMapper ardAlarmRadarMoveMapper;
+
+    /**
+     * 鏌ヨ闆疯揪绉诲姩鎶ヨ
+     *
+     * @param id 闆疯揪绉诲姩鎶ヨ涓婚敭
+     * @return 闆疯揪绉诲姩鎶ヨ
+     */
+    @Override
+    public ArdAlarmRadarMove selectArdAlarmRadarMoveById(String id) {
+        return ardAlarmRadarMoveMapper.selectArdAlarmRadarMoveById(id);
+    }
+
+    /**
+     * 鏌ヨ闆疯揪绉诲姩鎶ヨ鍒楄〃
+     *
+     * @param ardAlarmRadarMove 闆疯揪绉诲姩鎶ヨ
+     * @return 闆疯揪绉诲姩鎶ヨ
+     */
+    @Override
+    public List<ArdAlarmRadarMove> selectArdAlarmRadarMoveList(ArdAlarmRadarMove ardAlarmRadarMove) {
+        return ardAlarmRadarMoveMapper.selectArdAlarmRadarMoveList(ardAlarmRadarMove);
+    }
+
+    /**
+     * 鏂板闆疯揪绉诲姩鎶ヨ
+     *
+     * @param ardAlarmRadarMove 闆疯揪绉诲姩鎶ヨ
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertArdAlarmRadarMove(ArdAlarmRadarMove ardAlarmRadarMove) {
+                ardAlarmRadarMove.setId(IdUtils.simpleUUID());
+                ardAlarmRadarMove.setCreateBy(SecurityUtils.getUsername());
+                ardAlarmRadarMove.setCreateTime(DateUtils.getNowDate());
+                ardAlarmRadarMove.setUserId(SecurityUtils.getUserId());
+            return ardAlarmRadarMoveMapper.insertArdAlarmRadarMove(ardAlarmRadarMove);
+    }
+
+    /**
+     * 淇敼闆疯揪绉诲姩鎶ヨ
+     *
+     * @param ardAlarmRadarMove 闆疯揪绉诲姩鎶ヨ
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateArdAlarmRadarMove(ArdAlarmRadarMove ardAlarmRadarMove) {
+        return ardAlarmRadarMoveMapper.updateArdAlarmRadarMove(ardAlarmRadarMove);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎闆疯揪绉诲姩鎶ヨ
+     *
+     * @param ids 闇�瑕佸垹闄ょ殑闆疯揪绉诲姩鎶ヨ涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteArdAlarmRadarMoveByIds(String[] ids) {
+        return ardAlarmRadarMoveMapper.deleteArdAlarmRadarMoveByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎闆疯揪绉诲姩鎶ヨ淇℃伅
+     *
+     * @param id 闆疯揪绉诲姩鎶ヨ涓婚敭
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteArdAlarmRadarMoveById(String id) {
+        return ardAlarmRadarMoveMapper.deleteArdAlarmRadarMoveById(id);
+    }
+}
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/radar/service/impl/ArdAlarmRadarPumpServiceImpl.java b/ard-work/src/main/java/com/ruoyi/alarm/radar/service/impl/ArdAlarmRadarPumpServiceImpl.java
new file mode 100644
index 0000000..8fe438d
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/alarm/radar/service/impl/ArdAlarmRadarPumpServiceImpl.java
@@ -0,0 +1,96 @@
+package com.ruoyi.alarm.radar.service.impl;
+
+import java.util.List;
+        import com.ruoyi.common.utils.DateUtils;
+
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.uuid.IdUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.alarm.radar.mapper.ArdAlarmRadarPumpMapper;
+import com.ruoyi.alarm.radar.domain.ArdAlarmRadarPump;
+import com.ruoyi.alarm.radar.service.IArdAlarmRadarPumpService;
+
+import javax.annotation.Resource;
+
+/**
+ * 闆疯揪鎶芥补鏈哄仠鏈烘姤璀ervice涓氬姟灞傚鐞�
+ *
+ * @author ard
+ * @date 2023-09-02
+ */
+@Service
+public class ArdAlarmRadarPumpServiceImpl implements IArdAlarmRadarPumpService {
+    @Resource
+    private ArdAlarmRadarPumpMapper ardAlarmRadarPumpMapper;
+
+    /**
+     * 鏌ヨ闆疯揪鎶芥补鏈哄仠鏈烘姤璀�
+     *
+     * @param id 闆疯揪鎶芥补鏈哄仠鏈烘姤璀︿富閿�
+     * @return 闆疯揪鎶芥补鏈哄仠鏈烘姤璀�
+     */
+    @Override
+    public ArdAlarmRadarPump selectArdAlarmRadarPumpById(String id) {
+        return ardAlarmRadarPumpMapper.selectArdAlarmRadarPumpById(id);
+    }
+
+    /**
+     * 鏌ヨ闆疯揪鎶芥补鏈哄仠鏈烘姤璀﹀垪琛�
+     *
+     * @param ardAlarmRadarPump 闆疯揪鎶芥补鏈哄仠鏈烘姤璀�
+     * @return 闆疯揪鎶芥补鏈哄仠鏈烘姤璀�
+     */
+    @Override
+    public List<ArdAlarmRadarPump> selectArdAlarmRadarPumpList(ArdAlarmRadarPump ardAlarmRadarPump) {
+        return ardAlarmRadarPumpMapper.selectArdAlarmRadarPumpList(ardAlarmRadarPump);
+    }
+
+    /**
+     * 鏂板闆疯揪鎶芥补鏈哄仠鏈烘姤璀�
+     *
+     * @param ardAlarmRadarPump 闆疯揪鎶芥补鏈哄仠鏈烘姤璀�
+     * @return 缁撴灉
+     */
+    @Override
+    public int insertArdAlarmRadarPump(ArdAlarmRadarPump ardAlarmRadarPump) {
+                ardAlarmRadarPump.setId(IdUtils.simpleUUID());
+                ardAlarmRadarPump.setCreateBy(SecurityUtils.getUsername());
+                ardAlarmRadarPump.setCreateTime(DateUtils.getNowDate());
+                ardAlarmRadarPump.setUserId(SecurityUtils.getUserId());
+            return ardAlarmRadarPumpMapper.insertArdAlarmRadarPump(ardAlarmRadarPump);
+    }
+
+    /**
+     * 淇敼闆疯揪鎶芥补鏈哄仠鏈烘姤璀�
+     *
+     * @param ardAlarmRadarPump 闆疯揪鎶芥补鏈哄仠鏈烘姤璀�
+     * @return 缁撴灉
+     */
+    @Override
+    public int updateArdAlarmRadarPump(ArdAlarmRadarPump ardAlarmRadarPump) {
+        return ardAlarmRadarPumpMapper.updateArdAlarmRadarPump(ardAlarmRadarPump);
+    }
+
+    /**
+     * 鎵归噺鍒犻櫎闆疯揪鎶芥补鏈哄仠鏈烘姤璀�
+     *
+     * @param ids 闇�瑕佸垹闄ょ殑闆疯揪鎶芥补鏈哄仠鏈烘姤璀︿富閿�
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteArdAlarmRadarPumpByIds(String[] ids) {
+        return ardAlarmRadarPumpMapper.deleteArdAlarmRadarPumpByIds(ids);
+    }
+
+    /**
+     * 鍒犻櫎闆疯揪鎶芥补鏈哄仠鏈烘姤璀︿俊鎭�
+     *
+     * @param id 闆疯揪鎶芥补鏈哄仠鏈烘姤璀︿富閿�
+     * @return 缁撴灉
+     */
+    @Override
+    public int deleteArdAlarmRadarPumpById(String id) {
+        return ardAlarmRadarPumpMapper.deleteArdAlarmRadarPumpById(id);
+    }
+}
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/wall/domain/ArdAlarmWall.java b/ard-work/src/main/java/com/ruoyi/alarm/wall/domain/ArdAlarmWall.java
index 70fba5d..af81600 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/wall/domain/ArdAlarmWall.java
+++ b/ard-work/src/main/java/com/ruoyi/alarm/wall/domain/ArdAlarmWall.java
@@ -51,8 +51,32 @@
     /** 楂樺眰 */
     @Excel(name = "楂樺眰")
     private Double altitude;
+    /**
+     * 鎶ヨ鎬绘暟
+     */
+    private Integer total;
+    /**
+     * 鏈鎶ヨ鏁伴噺
+     */
+    private Integer count;
 
-    public void setId(String id) 
+    public Integer getTotal() {
+        return total;
+    }
+
+    public void setTotal(Integer total) {
+        this.total = total;
+    }
+
+    public Integer getCount() {
+        return count;
+    }
+
+    public void setCount(Integer count) {
+        this.count = count;
+    }
+
+    public void setId(String id)
     {
         this.id = id;
     }
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/wall/mapper/ArdAlarmWallMapper.java b/ard-work/src/main/java/com/ruoyi/alarm/wall/mapper/ArdAlarmWallMapper.java
index 53ac014..284d615 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/wall/mapper/ArdAlarmWallMapper.java
+++ b/ard-work/src/main/java/com/ruoyi/alarm/wall/mapper/ArdAlarmWallMapper.java
@@ -1,7 +1,10 @@
 package com.ruoyi.alarm.wall.mapper;
 
 import java.util.List;
+
+import com.ruoyi.alarm.apponekey.domain.ArdAlarmApponekey;
 import com.ruoyi.alarm.wall.domain.ArdAlarmWall;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 鐢靛瓙鍥存爮鎶ヨMapper鎺ュ彛
@@ -58,4 +61,11 @@
      * @return 缁撴灉
      */
     public int deleteArdAlarmWallByIds(String[] ids);
+
+
+    int selectCountByAlarmTime(@Param("refreshTime") String refreshTime);
+
+    public List<ArdAlarmWall> selectListAllByCommand(@Param("refreshTime") String refreshTime);
+
+    public int updateViewTimeByUserId(@Param("userId")String userId,@Param("createTime") String createTime,@Param("viewTime") String viewTime);
 }
diff --git a/ard-work/src/main/java/com/ruoyi/device/radar/mapper/ArdEquipRadarMapper.java b/ard-work/src/main/java/com/ruoyi/device/radar/mapper/ArdEquipRadarMapper.java
index 4dd1c6e..5697afc 100644
--- a/ard-work/src/main/java/com/ruoyi/device/radar/mapper/ArdEquipRadarMapper.java
+++ b/ard-work/src/main/java/com/ruoyi/device/radar/mapper/ArdEquipRadarMapper.java
@@ -58,4 +58,9 @@
      * @return 缁撴灉
      */
     public int deleteArdEquipRadarByIds(String[] ids);
+
+    /**
+     * 閫氳繃闆疯揪id鎵惧埌鍏宠仈濉斾笂鐨勫ぇ鍏夌數id
+     */
+    String getCameraByRadar(String radarId);
 }
diff --git a/ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarFireMapper.xml b/ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarFireMapper.xml
new file mode 100644
index 0000000..dba411b
--- /dev/null
+++ b/ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarFireMapper.xml
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.alarm.radar.mapper.ArdAlarmRadarFireMapper">
+    
+    <resultMap type="ArdAlarmRadarFire" id="ArdAlarmRadarFireResult">
+        <result property="id"    column="id"    />
+        <result property="name"    column="name"    />
+        <result property="targetId"    column="target_id"    />
+        <result property="alarmType"    column="alarm_type"    />
+        <result property="alarmTime"    column="alarm_time"    />
+        <result property="longitude"    column="longitude"    />
+        <result property="latitude"    column="latitude"    />
+        <result property="recordUrl1"    column="record_url1"    />
+        <result property="viewTime"    column="view_time"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="userId"    column="user_id"    />
+        <result property="deptId"    column="dept_id"    />
+        <result property="guideFlag"    column="guide_flag"    />
+    </resultMap>
+
+    <sql id="selectArdAlarmRadarFireVo">
+        select id, name, target_id, alarm_type, alarm_time, longitude, latitude, record_url1, view_time, create_by, create_time, user_id, dept_id, guide_flag from ard_alarm_radar_fire
+    </sql>
+
+    <select id="selectArdAlarmRadarFireList" parameterType="ArdAlarmRadarFire" resultMap="ArdAlarmRadarFireResult">
+        <include refid="selectArdAlarmRadarFireVo"/>
+        <where>  
+            <if test="name != null  and name != ''"> and name like '%'||#{name}||'%'</if>
+            <if test="targetId != null  and targetId != ''"> and target_id = #{targetId}</if>
+            <if test="alarmType != null  and alarmType != ''"> and alarm_type = #{alarmType}</if>
+            <if test="alarmTime != null "> and alarm_time = #{alarmTime}</if>
+            <if test="longitude != null "> and longitude = #{longitude}</if>
+            <if test="latitude != null "> and latitude = #{latitude}</if>
+            <if test="recordUrl1 != null  and recordUrl1 != ''"> and record_url1 = #{recordUrl1}</if>
+            <if test="viewTime != null "> and view_time = #{viewTime}</if>
+            <if test="userId != null  and userId != ''"> and user_id = #{userId}</if>
+            <if test="deptId != null "> and dept_id = #{deptId}</if>
+            <if test="guideFlag != null "> and guide_flag = #{guideFlag}</if>
+        </where>
+    </select>
+    
+    <select id="selectArdAlarmRadarFireById" parameterType="String" resultMap="ArdAlarmRadarFireResult">
+        <include refid="selectArdAlarmRadarFireVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertArdAlarmRadarFire" parameterType="ArdAlarmRadarFire">
+        insert into ard_alarm_radar_fire
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="name != null">name,</if>
+            <if test="targetId != null">target_id,</if>
+            <if test="alarmType != null">alarm_type,</if>
+            <if test="alarmTime != null">alarm_time,</if>
+            <if test="longitude != null">longitude,</if>
+            <if test="latitude != null">latitude,</if>
+            <if test="recordUrl1 != null">record_url1,</if>
+            <if test="viewTime != null">view_time,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="userId != null">user_id,</if>
+            <if test="deptId != null">dept_id,</if>
+            <if test="guideFlag != null">guide_flag,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="name != null">#{name},</if>
+            <if test="targetId != null">#{targetId},</if>
+            <if test="alarmType != null">#{alarmType},</if>
+            <if test="alarmTime != null">#{alarmTime},</if>
+            <if test="longitude != null">#{longitude},</if>
+            <if test="latitude != null">#{latitude},</if>
+            <if test="recordUrl1 != null">#{recordUrl1},</if>
+            <if test="viewTime != null">#{viewTime},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="userId != null">#{userId},</if>
+            <if test="deptId != null">#{deptId},</if>
+            <if test="guideFlag != null">#{guideFlag},</if>
+         </trim>
+    </insert>
+
+    <update id="updateArdAlarmRadarFire" parameterType="ArdAlarmRadarFire">
+        update ard_alarm_radar_fire
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="name != null">name = #{name},</if>
+            <if test="targetId != null">target_id = #{targetId},</if>
+            <if test="alarmType != null">alarm_type = #{alarmType},</if>
+            <if test="alarmTime != null">alarm_time = #{alarmTime},</if>
+            <if test="longitude != null">longitude = #{longitude},</if>
+            <if test="latitude != null">latitude = #{latitude},</if>
+            <if test="recordUrl1 != null">record_url1 = #{recordUrl1},</if>
+            <if test="viewTime != null">view_time = #{viewTime},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="userId != null">user_id = #{userId},</if>
+            <if test="deptId != null">dept_id = #{deptId},</if>
+            <if test="guideFlag != null">guide_flag = #{guideFlag},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteArdAlarmRadarFireById" parameterType="String">
+        delete from ard_alarm_radar_fire where id = #{id}
+    </delete>
+
+    <delete id="deleteArdAlarmRadarFireByIds" parameterType="String">
+        delete from ard_alarm_radar_fire where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+    <select id="selectCountByAlarmTime" resultType="Integer">
+        SELECT COUNT(DISTINCT aarm.name)
+        FROM ard_alarm_radar_fire aarm
+        WHERE aarm.alarm_time >= CURRENT_TIMESTAMP - INTERVAL '%${refreshTime}%' MINUTE
+          and aarm.view_time is null
+    </select>
+    <select id="selectListAllByCommand" resultMap="ArdAlarmRadarFireResult">
+        select aaar.ID,
+               aaar.target_id,
+               aaar.NAME,
+               aaar.alarm_type,
+               aaar.alarm_time,
+               aaar.longitude,
+               aaar.latitude,
+               r.COUNT,
+               r.total  from
+            (SELECT
+                 aar.NAME,
+                 max(aar.create_time) as create_time1,
+                 count(case when aar.view_time is null THEN 1  END) as count,
+	             count(aar.id) as total
+             FROM
+                 ard_alarm_radar_fire aar
+             WHERE
+                 aar.create_time >= ( CURRENT_TIMESTAMP - INTERVAL '%${refreshTime}%' MINUTE )
+             GROUP BY aar.NAME
+            ) r
+                INNER JOIN ard_alarm_radar aaar ON r.create_time1 = aaar.create_time
+    </select>
+    <update id="updateViewTimeByCondition" parameterType="String">
+        update ard_alarm_radar_fire
+        set view_time=#{viewTime}
+        where name = #{name}
+          and alarm_time&lt;=#{alarmTime}
+          and view_time is null
+    </update>
+</mapper>
\ No newline at end of file
diff --git a/ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarMapper.xml b/ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarMapper.xml
index 6819e98..b35e1dc 100644
--- a/ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarMapper.xml
+++ b/ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarMapper.xml
@@ -159,11 +159,9 @@
           and aar.view_time is null
     </select>
     <select id="getCameraByRadar" resultType="String">
-        select ac.id
-        from ard_equip_radar aer
-                 INNER JOIN ard_towers at
-        on aer.tower_id= at.id
-            INNER JOIN ard_cameras ac on aer.tower_id=ac.tower_id
+        select ac.id from ard_equip_radar aer
+        INNER JOIN ard_towers at on aer.tower_id= at.id
+        INNER JOIN ard_cameras ac on aer.tower_id=ac.tower_id
     </select>
     <select id="getArdAlarmRadarWithGuide" resultMap="ArdAlarmRadarResult">
         select *
diff --git a/ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarMoveMapper.xml b/ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarMoveMapper.xml
new file mode 100644
index 0000000..e6704b4
--- /dev/null
+++ b/ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarMoveMapper.xml
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.alarm.radar.mapper.ArdAlarmRadarMoveMapper">
+    
+    <resultMap type="ArdAlarmRadarMove" id="ArdAlarmRadarMoveResult">
+        <result property="id"    column="id"    />
+        <result property="name"    column="name"    />
+        <result property="targetId"    column="target_id"    />
+        <result property="alarmType"    column="alarm_type"    />
+        <result property="alarmTime"    column="alarm_time"    />
+        <result property="longitude"    column="longitude"    />
+        <result property="latitude"    column="latitude"    />
+        <result property="recordUrl1"    column="record_url1"    />
+        <result property="recordUrl2"    column="record_url2"    />
+        <result property="viewTime"    column="view_time"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="userId"    column="user_id"    />
+        <result property="deptId"    column="dept_id"    />
+        <result property="guideFlag"    column="guide_flag"    />
+    </resultMap>
+
+    <sql id="selectArdAlarmRadarMoveVo">
+        select id, name, target_id, alarm_type, alarm_time, longitude, latitude, record_url1,record_url2, view_time, create_by, create_time, user_id, dept_id, guide_flag from ard_alarm_radar_move
+    </sql>
+
+    <select id="selectArdAlarmRadarMoveList" parameterType="ArdAlarmRadarMove" resultMap="ArdAlarmRadarMoveResult">
+        <include refid="selectArdAlarmRadarMoveVo"/>
+        <where>  
+            <if test="name != null  and name != ''"> and name like '%'||#{name}||'%'</if>
+            <if test="targetId != null  and targetId != ''"> and target_id = #{targetId}</if>
+            <if test="alarmType != null  and alarmType != ''"> and alarm_type = #{alarmType}</if>
+            <if test="alarmTime != null "> and alarm_time = #{alarmTime}</if>
+            <if test="longitude != null "> and longitude = #{longitude}</if>
+            <if test="latitude != null "> and latitude = #{latitude}</if>
+            <if test="recordUrl1 != null  and recordUrl1 != ''"> and record_url1 = #{recordUrl1}</if>
+            <if test="viewTime != null "> and view_time = #{viewTime}</if>
+            <if test="userId != null  and userId != ''"> and user_id = #{userId}</if>
+            <if test="deptId != null "> and dept_id = #{deptId}</if>
+            <if test="guideFlag != null "> and guide_flag = #{guideFlag}</if>
+        </where>
+    </select>
+    
+    <select id="selectArdAlarmRadarMoveById" parameterType="String" resultMap="ArdAlarmRadarMoveResult">
+        <include refid="selectArdAlarmRadarMoveVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertArdAlarmRadarMove" parameterType="ArdAlarmRadarMove">
+        insert into ard_alarm_radar_move
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="name != null">name,</if>
+            <if test="targetId != null">target_id,</if>
+            <if test="alarmType != null">alarm_type,</if>
+            <if test="alarmTime != null">alarm_time,</if>
+            <if test="longitude != null">longitude,</if>
+            <if test="latitude != null">latitude,</if>
+            <if test="recordUrl1 != null">record_url1,</if>
+            <if test="recordUrl2 != null">record_url2,</if>
+            <if test="viewTime != null">view_time,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="userId != null">user_id,</if>
+            <if test="deptId != null">dept_id,</if>
+            <if test="guideFlag != null">guide_flag,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="name != null">#{name},</if>
+            <if test="targetId != null">#{targetId},</if>
+            <if test="alarmType != null">#{alarmType},</if>
+            <if test="alarmTime != null">#{alarmTime},</if>
+            <if test="longitude != null">#{longitude},</if>
+            <if test="latitude != null">#{latitude},</if>
+            <if test="recordUrl1 != null">#{recordUrl1},</if>
+            <if test="recordUrl2 != null">#{recordUrl2},</if>
+            <if test="viewTime != null">#{viewTime},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="userId != null">#{userId},</if>
+            <if test="deptId != null">#{deptId},</if>
+            <if test="guideFlag != null">#{guideFlag},</if>
+         </trim>
+    </insert>
+
+    <update id="updateArdAlarmRadarMove" parameterType="ArdAlarmRadarMove">
+        update ard_alarm_radar_move
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="name != null">name = #{name},</if>
+            <if test="targetId != null">target_id = #{targetId},</if>
+            <if test="alarmType != null">alarm_type = #{alarmType},</if>
+            <if test="alarmTime != null">alarm_time = #{alarmTime},</if>
+            <if test="longitude != null">longitude = #{longitude},</if>
+            <if test="latitude != null">latitude = #{latitude},</if>
+            <if test="recordUrl1 != null">record_url1 = #{recordUrl1},</if>
+            <if test="recordUrl2 != null">record_url2 = #{recordUrl2},</if>
+            <if test="viewTime != null">view_time = #{viewTime},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="userId != null">user_id = #{userId},</if>
+            <if test="deptId != null">dept_id = #{deptId},</if>
+            <if test="guideFlag != null">guide_flag = #{guideFlag},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteArdAlarmRadarMoveById" parameterType="String">
+        delete from ard_alarm_radar_move where id = #{id}
+    </delete>
+
+    <delete id="deleteArdAlarmRadarMoveByIds" parameterType="String">
+        delete from ard_alarm_radar_move where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+    <select id="selectCountByAlarmTime" resultType="Integer">
+        SELECT COUNT(DISTINCT aarm.name)
+        FROM ard_alarm_radar_move aarm
+        WHERE aarm.alarm_time >= CURRENT_TIMESTAMP - INTERVAL '%${refreshTime}%' MINUTE
+          and aarm.view_time is null
+    </select>
+    <select id="selectListAllByCommand" resultMap="ArdAlarmRadarMoveResult">
+        select aaar.ID,
+               aaar.target_id,
+               aaar.NAME,
+               aaar.alarm_type,
+               aaar.alarm_time,
+               aaar.longitude,
+               aaar.latitude,
+               r.COUNT,
+               r.total  from
+            (SELECT
+                 aar.NAME,
+                 max(aar.create_time) as create_time1,
+                 count(case when aar.view_time is null THEN 1  END) as count,
+	             count(aar.id) as total
+             FROM
+                 ard_alarm_radar aar
+             WHERE
+                 aar.create_time >= ( CURRENT_TIMESTAMP - INTERVAL '%${refreshTime}%' MINUTE )
+             GROUP BY aar.NAME
+            ) r
+                INNER JOIN ard_alarm_radar aaar ON r.create_time1 = aaar.create_time
+    </select>
+    <update id="updateViewTimeByCondition" parameterType="String">
+        update ard_alarm_radar_move
+        set view_time=#{viewTime}
+        where name = #{name}
+          and alarm_time&lt;=#{alarmTime}
+          and view_time is null
+    </update>
+</mapper>
\ No newline at end of file
diff --git a/ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarPumpMapper.xml b/ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarPumpMapper.xml
new file mode 100644
index 0000000..f76655f
--- /dev/null
+++ b/ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarPumpMapper.xml
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.alarm.radar.mapper.ArdAlarmRadarPumpMapper">
+    
+    <resultMap type="ArdAlarmRadarPump" id="ArdAlarmRadarPumpResult">
+        <result property="id"    column="id"    />
+        <result property="name"    column="name"    />
+        <result property="targetId"    column="target_id"    />
+        <result property="alarmType"    column="alarm_type"    />
+        <result property="alarmTime"    column="alarm_time"    />
+        <result property="longitude"    column="longitude"    />
+        <result property="latitude"    column="latitude"    />
+        <result property="recordUrl1"    column="record_url1"    />
+        <result property="viewTime"    column="view_time"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="userId"    column="user_id"    />
+        <result property="deptId"    column="dept_id"    />
+        <result property="guideFlag"    column="guide_flag"    />
+    </resultMap>
+
+    <sql id="selectArdAlarmRadarPumpVo">
+        select id, name, target_id, alarm_type, alarm_time, longitude, latitude, record_url1, view_time, create_by, create_time, user_id, dept_id, guide_flag from ard_alarm_radar_pump
+    </sql>
+
+    <select id="selectArdAlarmRadarPumpList" parameterType="ArdAlarmRadarPump" resultMap="ArdAlarmRadarPumpResult">
+        <include refid="selectArdAlarmRadarPumpVo"/>
+        <where>  
+            <if test="name != null  and name != ''"> and name like '%'||#{name}||'%'</if>
+            <if test="targetId != null  and targetId != ''"> and target_id = #{targetId}</if>
+            <if test="alarmType != null  and alarmType != ''"> and alarm_type = #{alarmType}</if>
+            <if test="alarmTime != null "> and alarm_time = #{alarmTime}</if>
+            <if test="longitude != null "> and longitude = #{longitude}</if>
+            <if test="latitude != null "> and latitude = #{latitude}</if>
+            <if test="recordUrl1 != null  and recordUrl1 != ''"> and record_url1 = #{recordUrl1}</if>
+            <if test="viewTime != null "> and view_time = #{viewTime}</if>
+            <if test="userId != null  and userId != ''"> and user_id = #{userId}</if>
+            <if test="deptId != null "> and dept_id = #{deptId}</if>
+            <if test="guideFlag != null "> and guide_flag = #{guideFlag}</if>
+        </where>
+    </select>
+    
+    <select id="selectArdAlarmRadarPumpById" parameterType="String" resultMap="ArdAlarmRadarPumpResult">
+        <include refid="selectArdAlarmRadarPumpVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertArdAlarmRadarPump" parameterType="ArdAlarmRadarPump">
+        insert into ard_alarm_radar_pump
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="name != null">name,</if>
+            <if test="targetId != null">target_id,</if>
+            <if test="alarmType != null">alarm_type,</if>
+            <if test="alarmTime != null">alarm_time,</if>
+            <if test="longitude != null">longitude,</if>
+            <if test="latitude != null">latitude,</if>
+            <if test="recordUrl1 != null">record_url1,</if>
+            <if test="viewTime != null">view_time,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="userId != null">user_id,</if>
+            <if test="deptId != null">dept_id,</if>
+            <if test="guideFlag != null">guide_flag,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="name != null">#{name},</if>
+            <if test="targetId != null">#{targetId},</if>
+            <if test="alarmType != null">#{alarmType},</if>
+            <if test="alarmTime != null">#{alarmTime},</if>
+            <if test="longitude != null">#{longitude},</if>
+            <if test="latitude != null">#{latitude},</if>
+            <if test="recordUrl1 != null">#{recordUrl1},</if>
+            <if test="viewTime != null">#{viewTime},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="userId != null">#{userId},</if>
+            <if test="deptId != null">#{deptId},</if>
+            <if test="guideFlag != null">#{guideFlag},</if>
+         </trim>
+    </insert>
+
+    <update id="updateArdAlarmRadarPump" parameterType="ArdAlarmRadarPump">
+        update ard_alarm_radar_pump
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="name != null">name = #{name},</if>
+            <if test="targetId != null">target_id = #{targetId},</if>
+            <if test="alarmType != null">alarm_type = #{alarmType},</if>
+            <if test="alarmTime != null">alarm_time = #{alarmTime},</if>
+            <if test="longitude != null">longitude = #{longitude},</if>
+            <if test="latitude != null">latitude = #{latitude},</if>
+            <if test="recordUrl1 != null">record_url1 = #{recordUrl1},</if>
+            <if test="viewTime != null">view_time = #{viewTime},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="userId != null">user_id = #{userId},</if>
+            <if test="deptId != null">dept_id = #{deptId},</if>
+            <if test="guideFlag != null">guide_flag = #{guideFlag},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteArdAlarmRadarPumpById" parameterType="String">
+        delete from ard_alarm_radar_pump where id = #{id}
+    </delete>
+
+    <delete id="deleteArdAlarmRadarPumpByIds" parameterType="String">
+        delete from ard_alarm_radar_pump where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+    <select id="selectCountByAlarmTime" resultType="Integer">
+        SELECT COUNT(DISTINCT aarm.name)
+        FROM ard_alarm_radar_pump aarm
+        WHERE aarm.alarm_time >= CURRENT_TIMESTAMP - INTERVAL '%${refreshTime}%' MINUTE
+          and aarm.view_time is null
+    </select>
+    <select id="selectListAllByCommand" resultMap="ArdAlarmRadarPumpResult">
+        select aaar.ID,
+               aaar.target_id,
+               aaar.NAME,
+               aaar.alarm_type,
+               aaar.alarm_time,
+               aaar.longitude,
+               aaar.latitude,
+               r.COUNT,
+               r.total  from
+            (SELECT
+                 aar.NAME,
+                 max(aar.create_time) as create_time1,
+                 count(case when aar.view_time is null THEN 1  END) as count,
+	             count(aar.id) as total
+             FROM
+                 ard_alarm_radar_pump aar
+             WHERE
+                 aar.create_time >= ( CURRENT_TIMESTAMP - INTERVAL '%${refreshTime}%' MINUTE )
+             GROUP BY aar.NAME
+            ) r
+                INNER JOIN ard_alarm_radar aaar ON r.create_time1 = aaar.create_time
+    </select>
+    <update id="updateViewTimeByCondition" parameterType="String">
+        update ard_alarm_radar_pump
+        set view_time=#{viewTime}
+        where name = #{name}
+          and alarm_time&lt;=#{alarmTime}
+          and view_time is null
+    </update>
+</mapper>
\ No newline at end of file
diff --git a/ard-work/src/main/resources/mapper/alarm/ArdAlarmWallMapper.xml b/ard-work/src/main/resources/mapper/alarm/ArdAlarmWallMapper.xml
index 97fa3ee..b27f048 100644
--- a/ard-work/src/main/resources/mapper/alarm/ArdAlarmWallMapper.xml
+++ b/ard-work/src/main/resources/mapper/alarm/ArdAlarmWallMapper.xml
@@ -1,48 +1,61 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.alarm.wall.mapper.ArdAlarmWallMapper">
-    
+
     <resultMap type="ArdAlarmWall" id="ArdAlarmWallResult">
-        <result property="id"    column="id"    />
-        <result property="wallId"    column="wall_id"    />
-        <result property="wallName"    column="wall_name"    />
-        <result property="userId"    column="user_id"    />
-        <result property="alarmType"    column="alarm_type"    />
-        <result property="alarmTime"    column="alarm_time"    />
-        <result property="longitude"    column="longitude"    />
-        <result property="latitude"    column="latitude"    />
-        <result property="altitude"    column="altitude"    />
-        <result property="createBy"    column="create_by"    />
-        <result property="createTime"    column="create_time"    />
-        <result property="updateBy"    column="update_by"    />
-        <result property="updateTime"    column="update_time"    />
+        <result property="id" column="id"/>
+        <result property="wallId" column="wall_id"/>
+        <result property="wallName" column="wall_name"/>
+        <result property="userId" column="user_id"/>
+        <result property="alarmType" column="alarm_type"/>
+        <result property="alarmTime" column="alarm_time"/>
+        <result property="longitude" column="longitude"/>
+        <result property="latitude" column="latitude"/>
+        <result property="altitude" column="altitude"/>
+        <result property="createBy" column="create_by"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="updateTime" column="update_time"/>
     </resultMap>
 
     <sql id="selectArdAlarmWallVo">
-        select id,wall_id,wall_name, user_id, alarm_type, alarm_time, longitude, latitude, altitude, create_by, create_time, update_by, update_time from ard_alarm_wall
+        select id,
+               wall_id,
+               wall_name,
+               user_id,
+               alarm_type,
+               alarm_time,
+               longitude,
+               latitude,
+               altitude,
+               create_by,
+               create_time,
+               update_by,
+               update_time
+        from ard_alarm_wall
     </sql>
 
     <select id="selectArdAlarmWallList" parameterType="ArdAlarmWall" resultMap="ArdAlarmWallResult">
         <include refid="selectArdAlarmWallVo"/>
         <where>
-            <if test="wallId != null  and wallId != ''"> and wall_id = #{wallId}</if>
-            <if test="wallName != null  and wallName != ''"> and wall_name = #{wallName}</if>
-            <if test="userId != null  and userId != ''"> and user_id = #{userId}</if>
-            <if test="alarmType != null  and alarmType != ''"> and alarm_type = #{alarmType}</if>
-            <if test="alarmTime != null "> and alarm_time = #{alarmTime}</if>
-            <if test="longitude != null "> and longitude = #{longitude}</if>
-            <if test="latitude != null "> and latitude = #{latitude}</if>
-            <if test="altitude != null "> and altitude = #{altitude}</if>
+            <if test="wallId != null  and wallId != ''">and wall_id = #{wallId}</if>
+            <if test="wallName != null  and wallName != ''">and wall_name = #{wallName}</if>
+            <if test="userId != null  and userId != ''">and user_id = #{userId}</if>
+            <if test="alarmType != null  and alarmType != ''">and alarm_type = #{alarmType}</if>
+            <if test="alarmTime != null ">and alarm_time = #{alarmTime}</if>
+            <if test="longitude != null ">and longitude = #{longitude}</if>
+            <if test="latitude != null ">and latitude = #{latitude}</if>
+            <if test="altitude != null ">and altitude = #{altitude}</if>
         </where>
     </select>
-    
+
     <select id="selectArdAlarmWallById" parameterType="String" resultMap="ArdAlarmWallResult">
         <include refid="selectArdAlarmWallVo"/>
         where id = #{id}
     </select>
-        
+
     <insert id="insertArdAlarmWall" parameterType="ArdAlarmWall">
         insert into ard_alarm_wall
         <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -59,7 +72,7 @@
             <if test="createTime != null">create_time,</if>
             <if test="updateBy != null">update_by,</if>
             <if test="updateTime != null">update_time,</if>
-         </trim>
+        </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null">#{id},</if>
             <if test="wallId != null">#{wallId},</if>
@@ -74,7 +87,7 @@
             <if test="createTime != null">#{createTime},</if>
             <if test="updateBy != null">#{updateBy},</if>
             <if test="updateTime != null">#{updateTime},</if>
-         </trim>
+        </trim>
     </insert>
 
     <update id="updateArdAlarmWall" parameterType="ArdAlarmWall">
@@ -97,13 +110,50 @@
     </update>
 
     <delete id="deleteArdAlarmWallById" parameterType="String">
-        delete from ard_alarm_wall where id = #{id}
+        delete
+        from ard_alarm_wall
+        where id = #{id}
     </delete>
 
     <delete id="deleteArdAlarmWallByIds" parameterType="String">
-        delete from ard_alarm_wall where id in 
+        delete from ard_alarm_wall where id in
         <foreach item="id" collection="array" open="(" separator="," close=")">
             #{id}
         </foreach>
     </delete>
+    <select id="selectCountByAlarmTime" resultType="Integer">
+        SELECT COUNT(DISTINCT aaw.wall_name)
+        FROM ard_alarm_wall aaw
+        WHERE aaw.alarm_time >= CURRENT_TIMESTAMP - INTERVAL '%${refreshTime}%' MINUTE
+          and aaw.view_time is null
+    </select>
+    <select id="selectListAllByCommand" resultMap="ArdAlarmWallResult">
+        SELECT T.*
+        FROM (
+                 SELECT aaa.ID,
+                        aaa.user_id,
+                        aaa.wall_NAME,
+                        aaa.alarm_time,
+                        aaa.longitude,
+                        aaa.latitude,
+                        aaa.altitude,
+                        ROW_NUMBER() OVER ( PARTITION BY aaa.wall_NAME ORDER BY aaa.alarm_time DESC ) AS rn,
+                        COUNT(CASE WHEN aaa.view_time IS NULL THEN 1 END) OVER ( PARTITION BY aaa.wall_NAME ) AS COUNT,
+		                COUNT ( aaa.alarm_time ) OVER ( PARTITION BY aaa.wall_NAME ) AS total
+                 FROM
+                     ard_alarm_wall aaa
+                 WHERE
+                     aaa.alarm_time >= ( CURRENT_TIMESTAMP - INTERVAL '%${refreshTime}%' MINUTE )
+                 ORDER BY
+                     aaa.create_time DESC
+             ) T
+        WHERE T.rn = 1
+    </select>
+    <update id="updateViewTimeByUserId" parameterType="String">
+        update ard_alarm_wall
+        set view_time=#{viewTime}
+        where user_id = #{userId}
+          and create_time &lt;= #{createTime}
+          and view_time is null
+    </update>
 </mapper>
\ No newline at end of file
diff --git a/ard-work/src/main/resources/mapper/device/ArdEquipRadarMapper.xml b/ard-work/src/main/resources/mapper/device/ArdEquipRadarMapper.xml
index 4dc7134..63a35d5 100644
--- a/ard-work/src/main/resources/mapper/device/ArdEquipRadarMapper.xml
+++ b/ard-work/src/main/resources/mapper/device/ArdEquipRadarMapper.xml
@@ -1,32 +1,32 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ruoyi.device.radar.mapper.ArdEquipRadarMapper">
-    
+
     <resultMap type="ArdEquipRadar" id="ArdEquipRadarResult">
-        <result property="id"    column="id"    />
-        <result property="name"    column="name"    />
-        <result property="createBy"    column="create_by"    />
-        <result property="port"    column="port"    />
-        <result property="operate"    column="operate"    />
-        <result property="createTime"    column="create_time"    />
-        <result property="updateBy"    column="update_by"    />
-        <result property="updateTime"    column="update_time"    />
-        <result property="delFlag"    column="del_flag"    />
-        <result property="userId"    column="user_id"    />
-        <result property="longitude"    column="longitude"    />
-        <result property="latitude"    column="latitude"    />
-        <result property="altitude"    column="altitude"    />
-        <result property="radarDate"    column="radar_date"    />
-        <result property="deptId"    column="dept_id"    />
-        <result property="pitch"    column="pitch"    />
-        <result property="towerId"    column="tower_id"    />
-        <result property="imageWidth"    column="image_width"    />
-        <result property="imageHeight"    column="image_height"    />
-        <result property="type"    column="type"    />
-        <result property="ip"    column="ip"    />
-        <result property="towerName"    column="name"    />
+        <result property="id" column="id"/>
+        <result property="name" column="name"/>
+        <result property="createBy" column="create_by"/>
+        <result property="port" column="port"/>
+        <result property="operate" column="operate"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="delFlag" column="del_flag"/>
+        <result property="userId" column="user_id"/>
+        <result property="longitude" column="longitude"/>
+        <result property="latitude" column="latitude"/>
+        <result property="altitude" column="altitude"/>
+        <result property="radarDate" column="radar_date"/>
+        <result property="deptId" column="dept_id"/>
+        <result property="pitch" column="pitch"/>
+        <result property="towerId" column="tower_id"/>
+        <result property="imageWidth" column="image_width"/>
+        <result property="imageHeight" column="image_height"/>
+        <result property="type" column="type"/>
+        <result property="ip" column="ip"/>
+        <result property="towerName" column="name"/>
     </resultMap>
 
     <sql id="selectArdEquipRadarVo">
@@ -84,7 +84,7 @@
         left join sys_user u on u.user_id = c.user_id
         left join ard_towers t on t.id = c.tower_id
         <where>
-            <if test="towerId != null  and towerId != ''"> and c.tower_id = #{towerId}</if>
+            <if test="towerId != null  and towerId != ''">and c.tower_id = #{towerId}</if>
             <if test="userId != null  and userId != ''">and c.user_id = #{userId}</if>
             <if test="deptId != null ">and (c.dept_id = #{deptId} OR c.dept_id IN ( SELECT t.dept_id FROM sys_dept t
                 WHERE cast(#{deptId} as varchar) = any(string_to_array(ancestors,',')) ))
@@ -99,12 +99,12 @@
             ${params.dataScope}
         </where>
     </select>
-    
+
     <select id="selectArdEquipRadarById" parameterType="String" resultMap="ArdEquipRadarResult">
         <include refid="selectArdEquipRadarVo"/>
         where id = #{id}
     </select>
-        
+
     <insert id="insertArdEquipRadar" parameterType="ArdEquipRadar">
         insert into ard_equip_radar
         <trim prefix="(" suffix=")" suffixOverrides=",">
@@ -129,7 +129,7 @@
             <if test="imageHeight != null">image_height,</if>
             <if test="type != null">type,</if>
             <if test="ip != null">ip,</if>
-         </trim>
+        </trim>
         <trim prefix="values (" suffix=")" suffixOverrides=",">
             <if test="id != null">#{id},</if>
             <if test="name != null">#{name},</if>
@@ -152,7 +152,7 @@
             <if test="imageHeight != null">#{imageHeight},</if>
             <if test="type != null">#{type},</if>
             <if test="ip != null">#{ip},</if>
-         </trim>
+        </trim>
     </insert>
 
     <update id="updateArdEquipRadar" parameterType="ArdEquipRadar">
@@ -183,13 +183,23 @@
     </update>
 
     <delete id="deleteArdEquipRadarById" parameterType="String">
-        delete from ard_equip_radar where id = #{id}
+        delete
+        from ard_equip_radar
+        where id = #{id}
     </delete>
 
     <delete id="deleteArdEquipRadarByIds" parameterType="String">
-        delete from ard_equip_radar where id in 
+        delete from ard_equip_radar where id in
         <foreach item="id" collection="array" open="(" separator="," close=")">
             #{id}
         </foreach>
     </delete>
+    <select id="getCameraByRadar" resultType="String">
+        select ac.id
+        from ard_equip_radar aer
+                 INNER JOIN ard_towers at
+        on aer.tower_id= at.id
+            INNER JOIN ard_cameras ac on aer.tower_id=ac.tower_id
+        where aer.id=#{radarId} limit 1
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3