瀏覽代碼

报警广播

zhj 2 年之前
父節點
當前提交
268cf51460
共有 25 個文件被更改,包括 582 次插入7 次删除
  1. 80 0
      src/main/java/com/welampiot/controller/AlarmController.java
  2. 1 1
      src/main/java/com/welampiot/controller/LampPoleController.java
  3. 81 0
      src/main/java/com/welampiot/controller/NewLampPoleController.java
  4. 7 1
      src/main/java/com/welampiot/dao/EmergencyDao.java
  5. 19 0
      src/main/java/com/welampiot/dao/EmergencyInfoLogDao.java
  6. 23 0
      src/main/java/com/welampiot/dao/EmergencyVideoDao.java
  7. 2 0
      src/main/java/com/welampiot/dao/VideoMonitorDao.java
  8. 27 0
      src/main/java/com/welampiot/dto/EmergencyInfoLogDTO.java
  9. 23 0
      src/main/java/com/welampiot/dto/EmergencyVideoDTO.java
  10. 2 1
      src/main/java/com/welampiot/dto/VideoMonitorDTO.java
  11. 18 0
      src/main/java/com/welampiot/service/EmergencyInfoLogService.java
  12. 7 1
      src/main/java/com/welampiot/service/EmergencyService.java
  13. 22 0
      src/main/java/com/welampiot/service/EmergencyVideoService.java
  14. 1 0
      src/main/java/com/welampiot/service/VideoMonitorService.java
  15. 29 0
      src/main/java/com/welampiot/service/impl/EmergencyInfoLogServiceImpl.java
  16. 17 2
      src/main/java/com/welampiot/service/impl/EmergencyServiceImpl.java
  17. 39 0
      src/main/java/com/welampiot/service/impl/EmergencyVideoServiceImpl.java
  18. 5 0
      src/main/java/com/welampiot/service/impl/VideoMonitorServiceImpl.java
  19. 47 0
      src/main/java/com/welampiot/vo/EmergencyDetailsVO.java
  20. 21 0
      src/main/java/com/welampiot/vo/EmergencyInfoLogVO.java
  21. 40 0
      src/main/java/com/welampiot/vo/EmergencyVideoVO.java
  22. 20 0
      src/main/resources/mapper/EmergencyInfoLogMapper.xml
  23. 23 1
      src/main/resources/mapper/EmergencyMapper.xml
  24. 22 0
      src/main/resources/mapper/EmergencyVideoMapper.xml
  25. 6 0
      src/main/resources/mapper/VideoMonitorMapper.xml

+ 80 - 0
src/main/java/com/welampiot/controller/AlarmController.java

@@ -62,6 +62,14 @@ public class AlarmController {
     private SectionService sectionService;
     @Autowired
     private SendStatusService sendStatusService;
+    @Autowired
+    private EmergencyInfoLogService emergencyInfoLogService;
+    @Autowired
+    private EmergencyService emergencyService;
+    @Autowired
+    private VideoMonitorService videoMonitorService;
+    @Autowired
+    private EmergencyVideoService emergencyVideoService;
 
     /**
      * 获取告警列表
@@ -625,4 +633,76 @@ public class AlarmController {
         sendStatusService.updateCloseStatus(sendStatusDTO);
         return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
     }
+
+    /**
+     * 一键报警历史记录
+     * @param request sectionList
+     * @return 一键报警历史记录
+     */
+    @RequestMapping(value = "/emAlarmHistory", method = RequestMethod.POST)
+    public BaseResult<?> emAlarmHistory(HttpServletRequest request) {
+        Integer version = (Integer) toolUtils.getRequestContent(request,"version",1);
+        List<Integer> sectionList = toolUtils.getSectionList(request);
+        List<EmergencyInfoLogDTO> list = emergencyInfoLogService.getEmergencyInfoLogListBySectionList(sectionList);
+        EmergencyInfoLogVO emergencyInfoLogVO = new EmergencyInfoLogVO();
+        emergencyInfoLogVO.setList(list);
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,emergencyInfoLogVO);
+    }
+
+    /**
+     * 绑定摄像头列表
+     * @param vo id
+     * @return 摄像头列表
+     */
+    @RequestMapping(value = "/videoList", method = RequestMethod.POST)
+    public BaseResult<?> videoList(EmergencyDetailsVO vo) {
+        EmergencyDetailsVO detailsVO = EmergencyDetailsVO.getFaultEmergencyDetailsVO(vo);
+        Integer version = detailsVO.getVersion();
+        Integer id = detailsVO.getId();
+        if (id == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
+        Integer sectionId = emergencyService.getEmergencySectionIdById(id);
+        List<EmergencyVideoDTO> emergencyVideoList = emergencyVideoService.getVideoIdByEmergencyId(id);
+        List<VideoMonitorDTO> videoList = videoMonitorService.getVideoListBySectionId(sectionId);
+        List<Integer> ids = new ArrayList<>();
+        emergencyVideoList.forEach(dto -> ids.add(dto.getVideoId()));
+        for (VideoMonitorDTO dto : videoList) {
+            boolean isFlag = false;
+            for (Integer integer : ids) {
+                if (dto.getId().equals(integer)) {
+                    dto.setSelect(1);
+                    isFlag = true;
+                    break;
+                }
+            }
+            if (!isFlag) {
+                dto.setSelect(0);
+            }
+        }
+        VideoMonitorVO videoMonitorVO = new VideoMonitorVO();
+        videoMonitorVO.setList(videoList);
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,videoMonitorVO);
+    }
+
+    /**
+     * 联动绑定摄像头
+     * @param vo 一键报警id,摄像头id
+     * @return 联动绑定摄像头
+     */
+    @RequestMapping(value = "/setVideo", method = RequestMethod.POST)
+    public BaseResult<?> setVideo(EmergencyVideoVO vo) {
+        EmergencyVideoVO emergencyVideoVO = EmergencyVideoVO.getFaultEmergencyVideoVO(vo);
+        Integer version = emergencyVideoVO.getVersion();
+        Integer id = emergencyVideoVO.getId();
+        String videoId = emergencyVideoVO.getVideoId();
+        if (id == 0 || videoId.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
+        emergencyVideoService.deleteEmergencyVideoDataByEmergencyId(id);
+        String[] split = videoId.split(",");
+        for (String s : split) {
+            EmergencyVideoDTO emergencyVideoDTO = new EmergencyVideoDTO();
+            emergencyVideoDTO.setEmergencyId(id);
+            emergencyVideoDTO.setVideoId(Integer.valueOf(s));
+            emergencyVideoService.addEmergencyVideoData(emergencyVideoDTO);
+        }
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
+    }
 }

+ 1 - 1
src/main/java/com/welampiot/controller/LampPoleController.java

@@ -473,7 +473,7 @@ public class LampPoleController {
                 emergencyDTO.setDevId(devId);
                 EmergencyDTO dto = new EmergencyDTO();
                 dto.setId(devId);
-                Integer sectionId = emergencyService.getEmergencySectionIdByLampPoleId(devId);
+                Integer sectionId = emergencyService.getEmergencySectionIdById(devId);
                 dto.setSectionId(sectionId);
                 dto.setModel(model);
                 if (emergencyService.checkEmergencyData(dto) > 0)

+ 81 - 0
src/main/java/com/welampiot/controller/NewLampPoleController.java

@@ -9,6 +9,7 @@ import com.welampiot.utils.ExcelUtil;
 import com.welampiot.utils.ToolUtils;
 import com.welampiot.utils.WebUtils;
 import com.welampiot.vo.*;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.CrossOrigin;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -76,6 +77,8 @@ public class NewLampPoleController {
     private UserService userService;
     @Autowired
     private ProgramService programService;
+    @Autowired
+    private EmergencyService emergencyService;
 
     @RequestMapping(value = "/info",method = RequestMethod.POST)
     public BaseResult info(HttpServletRequest request){
@@ -1570,4 +1573,82 @@ public class NewLampPoleController {
         loopVO.setList(loopList);
         return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,loopVO);
     }
+
+    /**
+     * 添加编辑话机
+     * @param vo username
+     * @return 添加编辑话机
+     */
+    @RequestMapping(value = "/saveDjxDev", method = RequestMethod.POST)
+    public BaseResult<?> saveDjxDev(EmergencyDetailsVO vo) {
+        EmergencyDetailsVO emergencyVO = EmergencyDetailsVO.getFaultEmergencyDetailsVO(vo);
+        Integer version = emergencyVO.getVersion();
+        String username = emergencyVO.getUsername();
+        Integer type = emergencyVO.getType();
+        String num = emergencyVO.getNum();
+        if (username.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
+        if (type == null || num.length() == 0)
+            return toolUtils.response(InterfaceResultEnum.LACK_NEED_PARAM,version);
+        UserDTO userDTO = userService.queryUserIdByUsername(username);
+        if (userDTO == null) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
+        EmergencyDTO dto = emergencyService.getEmergencyDTOByUserid(userDTO.getId(),type);
+        EmergencyDTO emergencyDTO = new EmergencyDTO();
+        emergencyDTO.setType(type);
+        emergencyDTO.setNum(num);
+        if (dto == null) { // 添加
+            emergencyDTO.setDevType(1);
+            emergencyDTO.setUserid(userDTO.getId());
+            EmergencyDTO dto1 = new EmergencyDTO();
+            dto1.setNum(num);
+            if (emergencyService.checkEmergencyData(dto1) > 0)
+                return toolUtils.response(InterfaceResultEnum.EMERGENCY_NUM_UNIQUE_ERROR,version);
+            emergencyService.addEmergencyData(emergencyDTO);
+        } else { // 编辑
+            emergencyDTO.setId(dto.getId());
+            EmergencyDTO dto1 = new EmergencyDTO();
+            dto1.setNum(num);
+            dto1.setId(dto.getId());
+            if (emergencyService.checkEmergencyData(dto1) > 0)
+                return toolUtils.response(InterfaceResultEnum.EMERGENCY_NUM_UNIQUE_ERROR,version);
+            emergencyService.updateEmergencyData(emergencyDTO);
+        }
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
+    }
+
+    /**
+     * 获取话机信息
+     * @param vo username
+     * @return 获取话机信息
+     */
+    @RequestMapping(value = "/getDjxDev", method = RequestMethod.POST)
+    public BaseResult<?> getDjxDev(EmergencyDetailsVO vo) {
+        EmergencyDetailsVO emergencyVO = EmergencyDetailsVO.getFaultEmergencyDetailsVO(vo);
+        Integer version = emergencyVO.getVersion();
+        String username = emergencyVO.getUsername();
+        Integer type = emergencyVO.getType();
+        if (username.length() == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
+        if (type == null) return toolUtils.response(InterfaceResultEnum.LACK_NEED_PARAM,version);
+        UserDTO userDTO = userService.queryUserIdByUsername(username);
+        if (userDTO == null) return toolUtils.response(InterfaceResultEnum.PARAM_FAIL,version);
+        EmergencyDTO emergencyDTO = emergencyService.getEmergencyDTOByUserid(userDTO.getId(), type);
+        EmergencyDetailsVO emergencyDetailsVO = new EmergencyDetailsVO();
+        if (emergencyDTO == null) return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,emergencyDetailsVO);
+        BeanUtils.copyProperties(emergencyDTO,emergencyDetailsVO);
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version,emergencyDetailsVO);
+    }
+
+    /**
+     * 删除话机
+     * @param vo id
+     * @return 删除话机
+     */
+    @RequestMapping(value = "/delDjxDev", method = RequestMethod.POST)
+    public BaseResult<?> delDjxDev(EmergencyDetailsVO vo) {
+        EmergencyDetailsVO emergencyVO = EmergencyDetailsVO.getFaultEmergencyDetailsVO(vo);
+        Integer version = emergencyVO.getVersion();
+        Integer id = emergencyVO.getId();
+        if (id == 0) return toolUtils.response(InterfaceResultEnum.LACK_PARAM_ERROR,version);
+        emergencyService.deleteEmergencyById(id);
+        return toolUtils.response(InterfaceResultEnum.OPERATION_SUCCESS,version);
+    }
 }

+ 7 - 1
src/main/java/com/welampiot/dao/EmergencyDao.java

@@ -21,9 +21,15 @@ public interface EmergencyDao {
 
     Integer getEmergencyCountByLampPoleId(@Param("lampPoleId") Integer lampPoleId);
 
-    Integer getEmergencySectionIdByLampPoleId(@Param("id") Integer id);
+    Integer getEmergencySectionIdById(@Param("id") Integer id);
 
     void updateLampPoleEmergencyData(EmergencyDTO dto);
 
     Integer checkEmergencyData(EmergencyDTO dto);
+
+    EmergencyDTO getEmergencyDTOByUserid(@Param("userid") Integer userid, @Param("type") Integer type);
+
+    void addEmergencyData(EmergencyDTO dto);
+
+    void updateEmergencyData(EmergencyDTO dto);
 }

+ 19 - 0
src/main/java/com/welampiot/dao/EmergencyInfoLogDao.java

@@ -0,0 +1,19 @@
+package com.welampiot.dao;
+
+import com.welampiot.dto.EmergencyInfoLogDTO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * ClassName: EmergencyInfoLogDao
+ * Package: com.welampiot.dao
+ * Description:
+ *
+ * @Author: zhj_Start
+ * @Create: 2023/8/10 - 17:08
+ * @Version: v1.0
+ */
+public interface EmergencyInfoLogDao {
+    List<EmergencyInfoLogDTO> getEmergencyInfoLogListBySectionList(@Param("sectionList") List<Integer> sectionList);
+}

+ 23 - 0
src/main/java/com/welampiot/dao/EmergencyVideoDao.java

@@ -0,0 +1,23 @@
+package com.welampiot.dao;
+
+import com.welampiot.dto.EmergencyVideoDTO;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * ClassName: EmergencyVideoDao
+ * Package: com.welampiot.dao
+ * Description:
+ *
+ * @Author: zhj_Start
+ * @Create: 2023/8/10 - 17:48
+ * @Version: v1.0
+ */
+public interface EmergencyVideoDao {
+    List<EmergencyVideoDTO> getVideoIdByEmergencyId(@Param("emergencyId") Integer emergencyId);
+
+    void deleteEmergencyVideoDataByEmergencyId(@Param("emergencyId") Integer emergencyId);
+
+    void addEmergencyVideoData(EmergencyVideoDTO dto);
+}

+ 2 - 0
src/main/java/com/welampiot/dao/VideoMonitorDao.java

@@ -26,4 +26,6 @@ public interface VideoMonitorDao {
     Integer getLampPoleIdByVideoMonitorId(@Param("id") Integer id);
 
     Integer getVideoCountByLampPoleId(@Param("lampPoleId") Integer lampPoleId);
+
+    List<VideoMonitorDTO> getVideoListBySectionId(@Param("sectionId") Integer sectionId);
 }

+ 27 - 0
src/main/java/com/welampiot/dto/EmergencyInfoLogDTO.java

@@ -0,0 +1,27 @@
+package com.welampiot.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * ClassName: EmergencyInfoLogDTO
+ * Package: com.welampiot.dto
+ * Description:
+ *
+ * @Author: zhj_Start
+ * @Create: 2023/8/10 - 17:01
+ * @Version: v1.0
+ */
+@Data
+public class EmergencyInfoLogDTO implements Serializable {
+    private Integer id;
+
+    private Integer deviceId; // 报警设备id
+
+    private String beginDate; // 报警开始时间
+
+    private String endDate; // 报警结束时间
+
+    private String name;
+}

+ 23 - 0
src/main/java/com/welampiot/dto/EmergencyVideoDTO.java

@@ -0,0 +1,23 @@
+package com.welampiot.dto;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * ClassName: EmergencyVideoDTO
+ * Package: com.welampiot.dto
+ * Description:
+ *
+ * @Author: zhj_Start
+ * @Create: 2023/8/10 - 17:46
+ * @Version: v1.0
+ */
+@Data
+public class EmergencyVideoDTO implements Serializable {
+    private Integer id;
+
+    private Integer emergencyId;
+
+    private Integer videoId;
+}

+ 2 - 1
src/main/java/com/welampiot/dto/VideoMonitorDTO.java

@@ -63,7 +63,8 @@ public class VideoMonitorDTO {
     private Integer isMse;
     private String mseUrl;
     private String uuid;
-    private int version;
+    private Integer version;
     private String startTime;
     private String endTime;
+    private Integer select;
 }

+ 18 - 0
src/main/java/com/welampiot/service/EmergencyInfoLogService.java

@@ -0,0 +1,18 @@
+package com.welampiot.service;
+
+import com.welampiot.dto.EmergencyInfoLogDTO;
+
+import java.util.List;
+
+/**
+ * ClassName: EmergencyInfoLogService
+ * Package: com.welampiot.service
+ * Description:
+ *
+ * @Author: zhj_Start
+ * @Create: 2023/8/10 - 17:09
+ * @Version: v1.0
+ */
+public interface EmergencyInfoLogService {
+    List<EmergencyInfoLogDTO> getEmergencyInfoLogListBySectionList(List<Integer> sectionList);
+}

+ 7 - 1
src/main/java/com/welampiot/service/EmergencyService.java

@@ -20,9 +20,15 @@ public interface EmergencyService {
 
     Integer getEmergencyCountByLampPoleId(Integer lampPoleId);
 
-    Integer getEmergencySectionIdByLampPoleId(Integer id);
+    Integer getEmergencySectionIdById(Integer id);
 
     void updateLampPoleEmergencyData(EmergencyDTO dto);
 
     Integer checkEmergencyData(EmergencyDTO dto);
+
+    EmergencyDTO getEmergencyDTOByUserid(Integer userid,Integer type);
+
+    void addEmergencyData(EmergencyDTO dto);
+
+    void updateEmergencyData(EmergencyDTO dto);
 }

+ 22 - 0
src/main/java/com/welampiot/service/EmergencyVideoService.java

@@ -0,0 +1,22 @@
+package com.welampiot.service;
+
+import com.welampiot.dto.EmergencyVideoDTO;
+
+import java.util.List;
+
+/**
+ * ClassName: EmergencyVideoService
+ * Package: com.welampiot.service
+ * Description:
+ *
+ * @Author: zhj_Start
+ * @Create: 2023/8/10 - 17:49
+ * @Version: v1.0
+ */
+public interface EmergencyVideoService {
+    List<EmergencyVideoDTO> getVideoIdByEmergencyId(Integer emergencyId);
+
+    void deleteEmergencyVideoDataByEmergencyId(Integer emergencyId);
+
+    void addEmergencyVideoData(EmergencyVideoDTO dto);
+}

+ 1 - 0
src/main/java/com/welampiot/service/VideoMonitorService.java

@@ -20,4 +20,5 @@ public interface VideoMonitorService {
     void deleteVideoMonitorById(Integer id);
     Integer getLampPoleIdByVideoMonitorId(Integer id);
     Integer getVideoCountByLampPoleId(Integer lampPoleId);
+    List<VideoMonitorDTO> getVideoListBySectionId(Integer sectionId);
 }

+ 29 - 0
src/main/java/com/welampiot/service/impl/EmergencyInfoLogServiceImpl.java

@@ -0,0 +1,29 @@
+package com.welampiot.service.impl;
+
+import com.welampiot.dao.EmergencyInfoLogDao;
+import com.welampiot.dto.EmergencyInfoLogDTO;
+import com.welampiot.service.EmergencyInfoLogService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * ClassName: EmergencyInfoLogServiceImpl
+ * Package: com.welampiot.service.impl
+ * Description:
+ *
+ * @Author: zhj_Start
+ * @Create: 2023/8/10 - 17:09
+ * @Version: v1.0
+ */
+@Service
+public class EmergencyInfoLogServiceImpl implements EmergencyInfoLogService {
+    @Autowired
+    private EmergencyInfoLogDao emergencyInfoLogDao;
+
+    @Override
+    public List<EmergencyInfoLogDTO> getEmergencyInfoLogListBySectionList(List<Integer> sectionList) {
+        return emergencyInfoLogDao.getEmergencyInfoLogListBySectionList(sectionList);
+    }
+}

+ 17 - 2
src/main/java/com/welampiot/service/impl/EmergencyServiceImpl.java

@@ -41,8 +41,8 @@ public class EmergencyServiceImpl implements EmergencyService {
     }
 
     @Override
-    public Integer getEmergencySectionIdByLampPoleId(Integer id) {
-        return emergencyDao.getEmergencySectionIdByLampPoleId(id);
+    public Integer getEmergencySectionIdById(Integer id) {
+        return emergencyDao.getEmergencySectionIdById(id);
     }
 
     @Override
@@ -54,4 +54,19 @@ public class EmergencyServiceImpl implements EmergencyService {
     public Integer checkEmergencyData(EmergencyDTO dto) {
         return emergencyDao.checkEmergencyData(dto);
     }
+
+    @Override
+    public EmergencyDTO getEmergencyDTOByUserid(Integer userid,Integer type) {
+        return emergencyDao.getEmergencyDTOByUserid(userid,type);
+    }
+
+    @Override
+    public void addEmergencyData(EmergencyDTO dto) {
+        emergencyDao.addEmergencyData(dto);
+    }
+
+    @Override
+    public void updateEmergencyData(EmergencyDTO dto) {
+        emergencyDao.updateEmergencyData(dto);
+    }
 }

+ 39 - 0
src/main/java/com/welampiot/service/impl/EmergencyVideoServiceImpl.java

@@ -0,0 +1,39 @@
+package com.welampiot.service.impl;
+
+import com.welampiot.dao.EmergencyVideoDao;
+import com.welampiot.dto.EmergencyVideoDTO;
+import com.welampiot.service.EmergencyVideoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * ClassName: EmergencyVideoServiceImpl
+ * Package: com.welampiot.service.impl
+ * Description:
+ *
+ * @Author: zhj_Start
+ * @Create: 2023/8/10 - 17:50
+ * @Version: v1.0
+ */
+@Service
+public class EmergencyVideoServiceImpl implements EmergencyVideoService {
+    @Autowired
+    private EmergencyVideoDao emergencyVideoDao;
+
+    @Override
+    public List<EmergencyVideoDTO> getVideoIdByEmergencyId(Integer emergencyId) {
+        return emergencyVideoDao.getVideoIdByEmergencyId(emergencyId);
+    }
+
+    @Override
+    public void deleteEmergencyVideoDataByEmergencyId(Integer emergencyId) {
+        emergencyVideoDao.deleteEmergencyVideoDataByEmergencyId(emergencyId);
+    }
+
+    @Override
+    public void addEmergencyVideoData(EmergencyVideoDTO dto) {
+        emergencyVideoDao.addEmergencyVideoData(dto);
+    }
+}

+ 5 - 0
src/main/java/com/welampiot/service/impl/VideoMonitorServiceImpl.java

@@ -84,4 +84,9 @@ public class VideoMonitorServiceImpl implements VideoMonitorService {
     public Integer getVideoCountByLampPoleId(Integer lampPoleId) {
         return videoMonitorDao.getVideoCountByLampPoleId(lampPoleId);
     }
+
+    @Override
+    public List<VideoMonitorDTO> getVideoListBySectionId(Integer sectionId) {
+        return videoMonitorDao.getVideoListBySectionId(sectionId);
+    }
 }

+ 47 - 0
src/main/java/com/welampiot/vo/EmergencyDetailsVO.java

@@ -0,0 +1,47 @@
+package com.welampiot.vo;
+
+import lombok.Data;
+import org.jetbrains.annotations.Contract;
+import org.jetbrains.annotations.NotNull;
+
+import java.io.Serializable;
+
+/**
+ * ClassName: EmergencyDetailsVO
+ * Package: com.welampiot.vo
+ * Description:
+ *
+ * @Author: zhj_Start
+ * @Create: 2023/8/10 - 15:59
+ * @Version: v1.0
+ */
+@Data
+public class EmergencyDetailsVO implements Serializable {
+    private Integer id;
+
+    private String num;
+
+    private Integer version;
+
+    private Integer type;
+
+    private String username;
+
+    @NotNull
+    @Contract("_ -> param1")
+    public static EmergencyDetailsVO getFaultEmergencyDetailsVO(@NotNull EmergencyDetailsVO vo) {
+        if (vo.getVersion() == null) {
+            vo.setVersion(0);
+        }
+        if (vo.getUsername() == null) {
+            vo.setUsername("");
+        }
+        if (vo.getNum() == null) {
+            vo.setNum("");
+        }
+        if (vo.getId() == null) {
+            vo.setId(0);
+        }
+        return vo;
+    }
+}

+ 21 - 0
src/main/java/com/welampiot/vo/EmergencyInfoLogVO.java

@@ -0,0 +1,21 @@
+package com.welampiot.vo;
+
+import com.welampiot.dto.EmergencyInfoLogDTO;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * ClassName: EmergencyInfoLogVO
+ * Package: com.welampiot.vo
+ * Description:
+ *
+ * @Author: zhj_Start
+ * @Create: 2023/8/10 - 17:20
+ * @Version: v1.0
+ */
+@Data
+public class EmergencyInfoLogVO implements Serializable {
+    private List<EmergencyInfoLogDTO> list;
+}

+ 40 - 0
src/main/java/com/welampiot/vo/EmergencyVideoVO.java

@@ -0,0 +1,40 @@
+package com.welampiot.vo;
+
+import lombok.Data;
+import org.jetbrains.annotations.Contract;
+import org.jetbrains.annotations.NotNull;
+
+import java.io.Serializable;
+
+/**
+ * ClassName: EmergencyVideoVO
+ * Package: com.welampiot.vo
+ * Description:
+ *
+ * @Author: zhj_Start
+ * @Create: 2023/8/10 - 18:33
+ * @Version: v1.0
+ */
+@Data
+public class EmergencyVideoVO implements Serializable {
+    private Integer id;
+
+    private String videoId;
+
+    private Integer version;
+
+    @NotNull
+    @Contract("_ -> param1")
+    public static EmergencyVideoVO getFaultEmergencyVideoVO(@NotNull EmergencyVideoVO vo) {
+        if (vo.getVersion() == null) {
+            vo.setVersion(0);
+        }
+        if (vo.getId() == null) {
+            vo.setId(0);
+        }
+        if (vo.getVideoId() == null) {
+            vo.setVideoId("");
+        }
+        return vo;
+    }
+}

+ 20 - 0
src/main/resources/mapper/EmergencyInfoLogMapper.xml

@@ -0,0 +1,20 @@
+<?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.welampiot.dao.EmergencyInfoLogDao">
+
+    <select id="getEmergencyInfoLogListBySectionList" resultType="EmergencyInfoLogDTO">
+        select
+            e1.model as name,
+            e.beginDate
+        from emergency_info_log e
+        left join emergency e1 on e.deviceid = e.id
+        left join lamp_pole lp on e1.lamp_pole_id = lp.id
+        <if test="sectionList != null and !sectionList.isEmpty()">
+            where lp.sectionid in
+            <foreach collection="sectionList" item="item" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+    </select>
+
+</mapper>

+ 23 - 1
src/main/resources/mapper/EmergencyMapper.xml

@@ -72,12 +72,34 @@
         </if>
     </select>
 
-    <select id="getEmergencySectionIdByLampPoleId" resultType="Integer">
+    <select id="getEmergencySectionIdById" resultType="Integer">
         select lp.sectionid as sectionId
         from emergency e
         left join lamp_pole lp on e.lamp_pole_id = lp.id
         left join section s on lp.sectionid = s.id
         where e.id = #{id}
     </select>
+    
+    <select id="getEmergencyDTOByUserid" resultType="EmergencyDTO">
+        select e.id,e.num
+        from emergency e 
+        where e.userid = #{userid} and e.type = #{type}
+        limit 1
+    </select>
+    
+    <insert id="addEmergencyData" parameterType="EmergencyDTO" keyProperty="id" useGeneratedKeys="true">
+        insert into emergency(type,devType,num,userid)
+        values (#{type},#{devType},#{num},#{userid})
+    </insert>
+
+    <update id="updateEmergencyData" parameterType="EmergencyDTO">
+        update
+            emergency e
+        set
+            e.type = #{type},
+            e.num= #{num}
+        where
+            e.id = #{id}
+    </update>
 
 </mapper>

+ 22 - 0
src/main/resources/mapper/EmergencyVideoMapper.xml

@@ -0,0 +1,22 @@
+<?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.welampiot.dao.EmergencyVideoDao">
+
+    <select id="getVideoIdByEmergencyId" resultType="EmergencyVideoDTO">
+        select e.video_id as videoId,e.emergency_id as emergencyId
+        from emergency_video e
+        where e.emergency_id = #{emergencyId}
+    </select>
+
+    <delete id="deleteEmergencyVideoDataByEmergencyId">
+        delete
+        from emergency_video
+        where emergency_id = #{emergencyId};
+    </delete>
+
+    <insert id="addEmergencyVideoData" parameterType="EmergencyVideoDTO" useGeneratedKeys="true" keyProperty="id">
+        insert into emergency_video(emergency_id, video_id)
+        values (#{emergencyId},#{videoId})
+    </insert>
+
+</mapper>

+ 6 - 0
src/main/resources/mapper/VideoMonitorMapper.xml

@@ -199,4 +199,10 @@
         where v.lamp_pole_id = #{lampPoleId}
     </select>
 
+    <select id="getVideoListBySectionId" resultType="VideoMonitorDTO">
+        select v.id,v.name
+        from video_monitor v
+        where v.sectionid = #{sectionId}
+    </select>
+
 </mapper>