Browse Source

异物侵限报警修改

gao.qiang 2 weeks ago
parent
commit
fc3789ea8c
28 changed files with 855 additions and 53 deletions
  1. 53 0
      business-service/src/main/java/com/ozs/service/entity/BaseDeviceResume.java
  2. 53 0
      business-service/src/main/java/com/ozs/service/entity/BaseElectricityResume.java
  3. 10 2
      business-service/src/main/java/com/ozs/service/entity/MsgAlarm.java
  4. 49 0
      business-service/src/main/java/com/ozs/service/entity/vo/BaseDeviceResumeVo.java
  5. 46 0
      business-service/src/main/java/com/ozs/service/entity/vo/BaseElectricityResumeVo.java
  6. 47 0
      business-service/src/main/java/com/ozs/service/entity/vo/DeviceResumeResp.java
  7. 46 0
      business-service/src/main/java/com/ozs/service/entity/vo/ElectricityResumeResp.java
  8. 10 0
      business-service/src/main/java/com/ozs/service/entity/vo/MsgAlarmResp.java
  9. 18 0
      business-service/src/main/java/com/ozs/service/mapper/BaseDeviceResumeMapper.java
  10. 17 0
      business-service/src/main/java/com/ozs/service/mapper/BaseElectricityResumeMapper.java
  11. 14 0
      business-service/src/main/java/com/ozs/service/service/BaseDeviceResumeService.java
  12. 14 0
      business-service/src/main/java/com/ozs/service/service/BaseElectricityResumeService.java
  13. 43 0
      business-service/src/main/java/com/ozs/service/service/impl/BaseDeviceResumeServiceImpl.java
  14. 46 0
      business-service/src/main/java/com/ozs/service/service/impl/BaseElectricityResumeServiceImpl.java
  15. 95 0
      business-service/src/main/resources/mapper/service/BaseDeviceResumeMapper.xml
  16. 87 0
      business-service/src/main/resources/mapper/service/BaseElectricityResumeMapper.xml
  17. 0 1
      business-service/src/main/resources/mapper/service/BaseMeasurePonitMapper.xml
  18. 3 0
      business-service/src/main/resources/mapper/service/MsgAlarmCloudMapper.xml
  19. 3 4
      business-service/src/main/resources/mapper/service/MsgAlarmMatterMapper.xml
  20. 56 0
      hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseDeviceResumeController.java
  21. 62 0
      hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseElectricityResumeController.java
  22. 12 3
      hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/MsgAlarmController.java
  23. 2 2
      hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/MsgAlarmMatterController.java
  24. 0 2
      hazard-admin/src/main/java/com/ozs/web/controller/system/SysUserController.java
  25. 0 2
      hazard-admin/src/main/java/com/ozs/web/controller/upload/UploadController.java
  26. 63 37
      hazard-admin/src/main/java/com/ozs/web/core/util/CameraUtil.java
  27. 3 0
      hazard-sdk/src/main/java/com/ozs/controller/upload/GeoHazardMonitorTokenController.java
  28. 3 0
      hazard-sdk/src/main/java/com/ozs/vo/ReqMsgAlarmVo.java

+ 53 - 0
business-service/src/main/java/com/ozs/service/entity/BaseDeviceResume.java

@@ -0,0 +1,53 @@
+package com.ozs.service.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ozs.common.core.domain.BaseEntity;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 设备状态履历表
+ * </p>
+ *
+ * @author ozs
+ * @since 2023-02-22
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class BaseDeviceResume extends BaseEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 相机编码
+     */
+    private String cameraCode;
+
+    /**
+     * 相机状态(1在线2离线)
+     */
+    private Integer isDisable;
+    
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+}

+ 53 - 0
business-service/src/main/java/com/ozs/service/entity/BaseElectricityResume.java

@@ -0,0 +1,53 @@
+package com.ozs.service.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ozs.common.core.domain.BaseEntity;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 电池电量履历表
+ * </p>
+ *
+ * @author ozs
+ * @since 2023-02-22
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class BaseElectricityResume extends BaseEntity implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 相机编码
+     */
+    private String cameraCode;
+
+    /**
+     * 剩余电量
+     */
+    private Integer electricity;
+
+
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+}

+ 10 - 2
business-service/src/main/java/com/ozs/service/entity/MsgAlarm.java

@@ -1,5 +1,6 @@
 package com.ozs.service.entity;
 
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -253,20 +254,27 @@ public class MsgAlarm extends BaseEntity implements Serializable {
     /**
      *所属工务段名称
      */
+    @Excel(name = "所属工务段")
     @TableField(exist = false)
     private String deptName;
 
     /**
      * 版本号
      */
-    @Excel(name = "版本号")
     @TableField(exist = false)
     private String versionNum;
 
     /**
      * 版本名称
      */
-    @Excel(name = "版本名称")
     @TableField(exist = false)
     private String versionName;
+
+    /**
+     * 相机序列号
+     */
+    @Excel(name = "设备序列号")
+    @TableField(exist = false)
+    private String cameraSn;
+
 }

+ 49 - 0
business-service/src/main/java/com/ozs/service/entity/vo/BaseDeviceResumeVo.java

@@ -0,0 +1,49 @@
+package com.ozs.service.entity.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author Administrator
+ */
+@Data
+public class BaseDeviceResumeVo {
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+    /**
+     * 相机状态(1正常2故障)
+     */
+    private String isDisable;
+    /**
+     * 里程位置
+     */
+    private Integer installMile;
+    /**
+     * 里程位置
+     */
+    private String installMiles;
+    /**
+     * 测点名称
+     */
+    private String measurePointName;
+
+    /**
+     * 线路类型名称(1=高铁,2=普铁)
+     */
+    private String railwayType;
+
+    /**
+     * 线路名称
+     */
+    private String railwayName;
+
+    /**
+     * 故障条数
+     */
+    private Integer faultNum;
+}

+ 46 - 0
business-service/src/main/java/com/ozs/service/entity/vo/BaseElectricityResumeVo.java

@@ -0,0 +1,46 @@
+package com.ozs.service.entity.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author Administrator
+ */
+@Data
+public class BaseElectricityResumeVo {
+    /**
+     * 创建时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime;
+
+    /**
+     * 剩余电量
+     */
+    private Integer electricity;
+    /**
+     * 里程位置
+     */
+    private Integer installMile;
+    /**
+     * 里程位置
+     */
+    private String installMiles;
+    /**
+     * 测点名称
+     */
+    private String measurePointName;
+
+    /**
+     * 线路类型名称(1=高铁,2=普铁)
+     */
+    private String railwayType;
+
+    /**
+     * 线路名称
+     */
+    private String railwayName;
+
+}

+ 47 - 0
business-service/src/main/java/com/ozs/service/entity/vo/DeviceResumeResp.java

@@ -0,0 +1,47 @@
+package com.ozs.service.entity.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ozs.common.annotation.Excel;
+import com.ozs.common.vo.PageVo;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author Administrator
+ * 设备状态履历
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class DeviceResumeResp extends PageVo implements Serializable {
+    private static final long serialVersionUID = 1L;
+    private Integer installMile;
+    @Excel(name = "监控相机安装里程位置(单位KM)")
+    private String installMileName;
+    @Excel(name = "测点名称")
+    private String measurePointName;
+    @Excel(name = "线路名称")
+    private String railwayName;
+    @Excel(name = "所属工务段名称")
+    private String deptName;
+    @Excel(name = "行别")
+    private String lineDir;
+    @Excel(name = "相机编码")
+    private String cameraCode;
+    @Excel(name = "序列号")
+    private String cameraSn;
+    @Excel(name = "线路类型",readConverterExp = "1=高铁,2=普铁")
+    private Integer railwayType;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "新增时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime ;
+    @Excel(name = "相机状态",readConverterExp = "1=正常,2=故障")
+    private String isDisable;
+}

+ 46 - 0
business-service/src/main/java/com/ozs/service/entity/vo/ElectricityResumeResp.java

@@ -0,0 +1,46 @@
+package com.ozs.service.entity.vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ozs.common.annotation.Excel;
+import com.ozs.common.vo.PageVo;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @author Administrator
+ * 设备状态履历
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class ElectricityResumeResp extends PageVo implements Serializable {
+    private static final long serialVersionUID = 1L;
+    private Integer installMile;
+    @Excel(name = "监控相机安装里程位置(单位KM)")
+    private String installMileName;
+    @Excel(name = "测点名称")
+    private String measurePointName;
+    @Excel(name = "线路名称")
+    private String railwayName;
+    @Excel(name = "所属工务段名称")
+    private String deptName;
+    @Excel(name = "行别")
+    private String lineDir;
+    @Excel(name = "相机编码")
+    private String cameraCode;
+    @Excel(name = "序列号")
+    private String cameraSn;
+    @Excel(name = "线路类型",readConverterExp = "1=高铁,2=普铁")
+    private Integer railwayType;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "新增时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date createTime ;
+    @Excel(name = "电量(%)")
+    private Integer electricity;
+}

+ 10 - 0
business-service/src/main/java/com/ozs/service/entity/vo/MsgAlarmResp.java

@@ -167,4 +167,14 @@ public class MsgAlarmResp implements Serializable {
 
     private String electricity;
 
+    /**
+     * 版本号
+     */
+    private String versionNum;
+
+    /**
+     * 版本名称
+     */
+    private String versionName;
+
 }

+ 18 - 0
business-service/src/main/java/com/ozs/service/mapper/BaseDeviceResumeMapper.java

@@ -0,0 +1,18 @@
+package com.ozs.service.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ozs.service.entity.BaseDeviceResume;
+import com.ozs.service.entity.vo.BaseDeviceResumeVo;
+import com.ozs.service.entity.vo.DeviceResumeResp;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface BaseDeviceResumeMapper extends BaseMapper<BaseDeviceResume> {
+    List<BaseDeviceResumeVo> getBaseDeviceResume(@Param("cameraCode")String cameraCode, @Param("startTime")String startTime, @Param("endTime")String endTime);
+
+
+    List<DeviceResumeResp> exportDeviceResume(@Param("cameraCode")String cameraCode, @Param("startTime")String startTime, @Param("endTime")String endTime);
+}

+ 17 - 0
business-service/src/main/java/com/ozs/service/mapper/BaseElectricityResumeMapper.java

@@ -0,0 +1,17 @@
+package com.ozs.service.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ozs.service.entity.BaseElectricityResume;
+import com.ozs.service.entity.vo.BaseElectricityResumeVo;
+import com.ozs.service.entity.vo.ElectricityResumeResp;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface BaseElectricityResumeMapper extends BaseMapper<BaseElectricityResume> {
+    List<BaseElectricityResumeVo> getBaseElectricityResume(@Param("cameraCode")String cameraCode, @Param("startTime")String startTime, @Param("endTime")String endTime);
+
+    List<ElectricityResumeResp> exportElectricityResume(@Param("cameraCode")String cameraCode, @Param("startTime")String startTime, @Param("endTime")String endTime);
+}

+ 14 - 0
business-service/src/main/java/com/ozs/service/service/BaseDeviceResumeService.java

@@ -0,0 +1,14 @@
+package com.ozs.service.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ozs.service.entity.BaseDeviceResume;
+import com.ozs.service.entity.vo.BaseDeviceResumeVo;
+import com.ozs.service.entity.vo.DeviceResumeResp;
+
+import java.util.List;
+
+public interface BaseDeviceResumeService extends IService<BaseDeviceResume> {
+    List<BaseDeviceResumeVo> getBaseDeviceResume(String cameraCode, String startTime, String endTime);
+
+    List<DeviceResumeResp> exportDeviceResume(String cameraCode, String startTime, String endTime);
+}

+ 14 - 0
business-service/src/main/java/com/ozs/service/service/BaseElectricityResumeService.java

@@ -0,0 +1,14 @@
+package com.ozs.service.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ozs.service.entity.BaseElectricityResume;
+import com.ozs.service.entity.vo.BaseElectricityResumeVo;
+import com.ozs.service.entity.vo.ElectricityResumeResp;
+
+import java.util.List;
+
+public interface BaseElectricityResumeService  extends IService<BaseElectricityResume> {
+    List<BaseElectricityResumeVo> getBaseElectricityResume(String cameraCode, String startTime, String endTime);
+
+    List<ElectricityResumeResp> exportElectricityResume(String cameraCode, String startTime, String endTime);
+}

+ 43 - 0
business-service/src/main/java/com/ozs/service/service/impl/BaseDeviceResumeServiceImpl.java

@@ -0,0 +1,43 @@
+package com.ozs.service.service.impl;
+
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ozs.common.utils.AppendUtils;
+import com.ozs.service.entity.BaseDeviceResume;
+import com.ozs.service.entity.vo.BaseDeviceResumeVo;
+import com.ozs.service.entity.vo.DeviceResumeResp;
+import com.ozs.service.mapper.BaseDeviceResumeMapper;
+import com.ozs.service.service.BaseDeviceResumeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * @author Administrator
+ */
+@Service
+public class BaseDeviceResumeServiceImpl extends ServiceImpl<BaseDeviceResumeMapper, BaseDeviceResume> implements BaseDeviceResumeService {
+    @Autowired
+    private BaseDeviceResumeMapper baseDeviceResumeMapper;
+    @Override
+    public List<BaseDeviceResumeVo> getBaseDeviceResume(String cameraCode, String startTime, String endTime) {
+
+        List<BaseDeviceResumeVo> baseDeviceResume = baseDeviceResumeMapper.getBaseDeviceResume(cameraCode, startTime, endTime);
+        for (BaseDeviceResumeVo baseDeviceResumeVo : baseDeviceResume) {
+            String installMile = AppendUtils.stringAppend(baseDeviceResumeVo.getInstallMile());
+            baseDeviceResumeVo.setInstallMiles(installMile);
+        }
+        return baseDeviceResume;
+    }
+
+    @Override
+    public List<DeviceResumeResp> exportDeviceResume(String cameraCode, String startTime, String endTime) {
+        List<DeviceResumeResp> deviceResumeRespList = baseDeviceResumeMapper.exportDeviceResume(cameraCode, startTime, endTime);
+        for (DeviceResumeResp deviceResumeResp : deviceResumeRespList) {
+            String mils = AppendUtils.stringAppend(deviceResumeResp.getInstallMile());
+            deviceResumeResp.setInstallMileName(mils);
+        }
+        return deviceResumeRespList;
+    }
+}

+ 46 - 0
business-service/src/main/java/com/ozs/service/service/impl/BaseElectricityResumeServiceImpl.java

@@ -0,0 +1,46 @@
+package com.ozs.service.service.impl;
+
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ozs.common.utils.AppendUtils;
+import com.ozs.service.entity.BaseElectricityResume;
+import com.ozs.service.entity.vo.BaseDeviceResumeVo;
+import com.ozs.service.entity.vo.BaseElectricityResumeVo;
+import com.ozs.service.entity.vo.ElectricityResumeResp;
+import com.ozs.service.mapper.BaseElectricityResumeMapper;
+import com.ozs.service.service.BaseElectricityResumeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * @author Administrator
+ */
+@Service
+public class BaseElectricityResumeServiceImpl extends ServiceImpl<BaseElectricityResumeMapper, BaseElectricityResume> implements BaseElectricityResumeService {
+    @Autowired
+    private BaseElectricityResumeMapper baseElectricityResumeMapper;
+    @Override
+    public List<BaseElectricityResumeVo> getBaseElectricityResume(String cameraCode, String startTime, String endTime) {
+        List<BaseElectricityResumeVo> baseElectricityResume = baseElectricityResumeMapper.getBaseElectricityResume(cameraCode, startTime, endTime);
+
+        for (BaseElectricityResumeVo baseElectricityResumeVo : baseElectricityResume) {
+            String installMile = AppendUtils.stringAppend(baseElectricityResumeVo.getInstallMile());
+            baseElectricityResumeVo.setInstallMiles(installMile);
+        }
+        return baseElectricityResume;
+    }
+
+    @Override
+    public List<ElectricityResumeResp> exportElectricityResume(String cameraCode, String startTime, String endTime) {
+        List<ElectricityResumeResp> baseElectricityResumeVoList = baseElectricityResumeMapper.exportElectricityResume(cameraCode, startTime, endTime);
+
+        for (ElectricityResumeResp electricityResumeResp : baseElectricityResumeVoList) {
+            String installMile = AppendUtils.stringAppend(electricityResumeResp.getInstallMile());
+            electricityResumeResp.setInstallMileName(installMile);
+        }
+        return baseElectricityResumeVoList;
+    }
+}

+ 95 - 0
business-service/src/main/resources/mapper/service/BaseDeviceResumeMapper.xml

@@ -0,0 +1,95 @@
+<?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.ozs.service.mapper.BaseDeviceResumeMapper">
+
+    <select id="getBaseDeviceResume" resultType="com.ozs.service.entity.vo.BaseDeviceResumeVo">
+        SELECT
+        de.create_time  AS createTime,
+        ca.install_mile AS installMile,
+        ra.railway_name AS railwayName,
+        ca.measure_point_name AS measurePointName,
+        CASE
+        ra.railway_type
+        WHEN 1 THEN
+        '高铁'
+        WHEN 2 THEN
+        '普铁'
+        END AS railwayType,
+        CASE
+        de.is_disable
+        WHEN 1 THEN
+        '设备正常'
+        WHEN 2 THEN
+        '设备故障'
+        END AS isDisable,
+        COUNT(CASE WHEN de.is_disable = 2 THEN 1 END) OVER () AS faultNum
+        FROM
+        base_device_resume AS de
+        LEFT JOIN base_camera_management AS ca ON de.camera_code = ca.camera_code
+        LEFT JOIN base_railway_management AS ra ON ca.railway_code = ra.railway_code
+        <where>
+            <if test="cameraCode != null and cameraCode != ''">
+                AND de.camera_code=#{cameraCode}
+            </if>
+            <if test="startTime != null and startTime != ''">
+                AND de.create_time &gt;=#{startTime}
+            </if>
+            <if test="startTime == null or startTime == ''">
+                AND de.create_time &gt;= DATE_SUB(NOW(), INTERVAL 24 HOUR)
+            </if>
+            <if test="endTime != null and endTime != ''">
+                AND de.create_time &lt;=#{endTime}
+            </if>
+            <if test="endTime == null and endTime == ''">
+                AND de.create_time &lt;= NOW()
+            </if>
+        </where>
+        ORDER BY de.create_time desc
+    </select>
+    <select id="exportDeviceResume" resultType="com.ozs.service.entity.vo.DeviceResumeResp">
+        SELECT
+        ca.measure_point_name AS measurePointName,
+        ra.railway_name AS railwayName,
+        de.create_time  AS createTime,
+        ca.install_mile AS installMile,
+        pt.dept_name AS deptName,
+        de.camera_code AS cameraCode,
+        ca.camera_sn AS cameraSn,
+        de.is_disable AS isDisable,
+        de.create_time  AS createTime,
+        CASE
+        line_dir
+        WHEN 1 THEN
+        '上行'
+        WHEN 2 THEN
+        '下行'
+        WHEN 3 THEN
+        '上下行'
+        END AS lineDir,
+        ra.railway_type AS railwayType,
+        COUNT(CASE WHEN de.is_disable = 2 THEN 1 END) OVER () AS faultNum
+        FROM
+        base_device_resume AS de
+        LEFT JOIN base_camera_management AS ca ON de.camera_code = ca.camera_code
+        LEFT JOIN base_railway_management AS ra ON ca.railway_code = ra.railway_code
+        LEFT JOIN sys_dept AS pt ON ca.dept_id = pt.dept_id
+        <where>
+            <if test="cameraCode != null and cameraCode != ''">
+                AND de.camera_code=#{cameraCode}
+            </if>
+            <if test="startTime != null and startTime != ''">
+                AND de.create_time &gt;=#{startTime}
+            </if>
+            <if test="startTime == null or startTime == ''">
+                AND de.create_time &gt;= DATE_SUB(NOW(), INTERVAL 24 HOUR)
+            </if>
+            <if test="endTime != null and endTime != ''">
+                AND de.create_time &lt;=#{endTime}
+            </if>
+            <if test="endTime == null and endTime == ''">
+                AND de.create_time &lt;= NOW()
+            </if>
+        </where>
+        ORDER BY de.create_time desc
+    </select>
+</mapper>

+ 87 - 0
business-service/src/main/resources/mapper/service/BaseElectricityResumeMapper.xml

@@ -0,0 +1,87 @@
+<?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.ozs.service.mapper.BaseElectricityResumeMapper">
+
+    <select id="getBaseElectricityResume" resultType="com.ozs.service.entity.vo.BaseElectricityResumeVo">
+        SELECT
+        de.create_time  AS createTime,
+        ca.install_mile AS installMile,
+        ra.railway_name AS railwayName,
+        ca.measure_point_name AS measurePointName,
+        de.electricity AS electricity,
+        CASE
+        ra.railway_type
+        WHEN 1 THEN
+        '高铁'
+        WHEN 2 THEN
+        '普铁'
+        END AS railwayType
+        FROM
+        base_electricity_resume AS de
+        LEFT JOIN base_camera_management AS ca ON de.camera_code = ca.camera_code
+        LEFT JOIN base_railway_management AS ra ON ca.railway_code = ra.railway_code
+        <where>
+            <if test="cameraCode != null and cameraCode != ''">
+                AND de.camera_code=#{cameraCode}
+            </if>
+            <if test="startTime != null and startTime != ''">
+                AND de.create_time &gt;=#{startTime}
+            </if>
+            <if test="startTime == null or startTime == ''">
+                AND de.create_time &gt;= DATE_SUB(NOW(), INTERVAL 24 HOUR)
+            </if>
+            <if test="endTime != null and endTime != ''">
+                AND de.create_time &lt;=#{endTime}
+            </if>
+            <if test="endTime == null and endTime == ''">
+                AND de.create_time &lt;= NOW()
+            </if>
+        </where>
+        ORDER BY de.create_time asc
+    </select>
+    <select id="exportElectricityResume" resultType="com.ozs.service.entity.vo.ElectricityResumeResp">
+        SELECT
+        ca.measure_point_name AS measurePointName,
+        ra.railway_name AS railwayName,
+        de.create_time  AS createTime,
+        ca.install_mile AS installMile,
+        pt.dept_name AS deptName,
+        de.camera_code AS cameraCode,
+        ca.camera_sn AS cameraSn,
+        de.create_time  AS createTime,
+        de.electricity AS electricity,
+        CASE
+        line_dir
+        WHEN 1 THEN
+        '上行'
+        WHEN 2 THEN
+        '下行'
+        WHEN 3 THEN
+        '上下行'
+        END AS lineDir,
+        ra.railway_type AS railwayType
+        FROM
+        base_electricity_resume AS de
+        LEFT JOIN base_camera_management AS ca ON de.camera_code = ca.camera_code
+        LEFT JOIN base_railway_management AS ra ON ca.railway_code = ra.railway_code
+        LEFT JOIN sys_dept AS pt ON ca.dept_id = pt.dept_id
+        <where>
+            <if test="cameraCode != null and cameraCode != ''">
+                AND de.camera_code=#{cameraCode}
+            </if>
+            <if test="startTime != null and startTime != ''">
+                AND de.create_time &gt;=#{startTime}
+            </if>
+            <if test="startTime == null or startTime == ''">
+                AND de.create_time &gt;= DATE_SUB(NOW(), INTERVAL 24 HOUR)
+            </if>
+            <if test="endTime != null and endTime != ''">
+                AND de.create_time &lt;=#{endTime}
+            </if>
+            <if test="endTime == null and endTime == ''">
+                AND de.create_time &lt;= NOW()
+            </if>
+        </where>
+        ORDER BY de.create_time asc
+    </select>
+</mapper>

+ 0 - 1
business-service/src/main/resources/mapper/service/BaseMeasurePonitMapper.xml

@@ -2,5 +2,4 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ozs.service.mapper.BaseMeasurePointMapper">
 
-
 </mapper>

+ 3 - 0
business-service/src/main/resources/mapper/service/MsgAlarmCloudMapper.xml

@@ -430,6 +430,9 @@
             <if test="alarmType != null and alarmType != 0">
                 and a.alarm_type=#{alarmType}
             </if>
+            <if test="railwayType != null and railwayType != 0">
+                and l.railway_type=#{railwayType}
+            </if>
             <if test="alarmMile != null and alarmMile != 0">
                 and a.alarm_mile=#{alarmMile}
             </if>

+ 3 - 4
business-service/src/main/resources/mapper/service/MsgAlarmMatterMapper.xml

@@ -27,17 +27,16 @@
                 and line_dir = #{lineDir}
             </if>
             <if test="beginAlarmTime != null and beginAlarmTime != ''">
-                and TO_CHAR(alarm_time, 'YYYY-MM-DD HH24:MI:SS') &gt;= TO_CHAR(#{beginAlarmTime}, 'YYYY-MM-DD
-                HH24:MI:SS')
+                and DATE_FORMAT(alarm_time, '%Y-%m-%d %H:%i:%s') &gt;= DATE_FORMAT(#{beginAlarmTime}, '%Y-%m-%d %H:%i:%s')
             </if>
             <if test="endAlarmTime != null and endAlarmTime != ''">
-                and TO_CHAR(alarm_time, 'YYYY-MM-DD HH24:MI:SS') &lt;= TO_CHAR(#{endAlarmTime}, 'YYYY-MM-DD HH24:MI:SS')
+                and DATE_FORMAT(alarm_time, '%Y-%m-%d %H:%i:%s') &lt;= DATE_FORMAT(#{endAlarmTime}, '%Y-%m-%d %H:%i:%s')
             </if>
             <if test="source != null and source != ''">
                 and source = #{source}
             </if>
         </where>
-        order by  alarm_time desc
+        order by is_release desc, alarm_time desc
     </select>
 
 </mapper>

+ 56 - 0
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseDeviceResumeController.java

@@ -0,0 +1,56 @@
+package com.ozs.web.controller.accountmanagment;
+
+
+import com.ozs.common.annotation.Log;
+import com.ozs.common.core.controller.BaseController;
+import com.ozs.common.core.domain.AjaxResult;
+import com.ozs.common.enums.BusinessType;
+import com.ozs.common.utils.poi.ExcelUtil;
+import com.ozs.service.entity.vo.BaseDeviceResumeVo;
+import com.ozs.service.entity.vo.DeviceResumeResp;
+import com.ozs.service.service.BaseDeviceResumeService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * @author Administrator
+ */
+@RestController
+@RequestMapping("/service/BaseDeviceResume")
+@Slf4j
+public class BaseDeviceResumeController extends BaseController {
+
+    @Autowired
+    private BaseDeviceResumeService baseDeviceResumeService;
+
+    /**
+     * 获取设备状态履历
+     */
+    @GetMapping("/getBaseDeviceResume")
+    @Log(title = "设备状态履历", businessType = BusinessType.SELECT)
+    public AjaxResult getBaseDeviceResume(@RequestParam(value = "cameraCode") String cameraCode,
+                                          @RequestParam(value ="startTime", required = false) String startTime,
+                                          @RequestParam(value ="endTime", required = false) String endTime) {
+        List<BaseDeviceResumeVo> baseDevicResumeVoList = baseDeviceResumeService.getBaseDeviceResume(cameraCode, startTime, endTime);
+        return AjaxResult.success(baseDevicResumeVoList);
+    }
+
+    /**
+     * 导出设备状态履历
+     *
+     * @param response
+     */
+    @GetMapping("/exportDeviceResume")
+    @Log(title = "设备状态履历", businessType = BusinessType.EXPORT)
+    public void exportDeviceResume(HttpServletResponse response, @RequestParam(value = "cameraCode") String cameraCode,
+                                   @RequestParam(value ="startTime", required = false) String startTime,
+                                   @RequestParam(value ="endTime", required = false) String endTime) {
+        List<DeviceResumeResp> deviceResumeRespList = baseDeviceResumeService.exportDeviceResume(cameraCode, startTime, endTime);
+        ExcelUtil<DeviceResumeResp> util = new ExcelUtil<>(DeviceResumeResp.class);
+        util.exportExcel(response, deviceResumeRespList, "设备状态履历数据");
+    }
+}

+ 62 - 0
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseElectricityResumeController.java

@@ -0,0 +1,62 @@
+package com.ozs.web.controller.accountmanagment;
+
+
+import com.ozs.common.annotation.Log;
+import com.ozs.common.core.controller.BaseController;
+import com.ozs.common.core.domain.AjaxResult;
+import com.ozs.common.enums.BusinessType;
+import com.ozs.common.utils.poi.ExcelUtil;
+import com.ozs.service.entity.vo.BaseDeviceResumeVo;
+import com.ozs.service.entity.vo.BaseElectricityResumeVo;
+import com.ozs.service.entity.vo.DeviceResumeResp;
+import com.ozs.service.entity.vo.ElectricityResumeResp;
+import com.ozs.service.service.BaseElectricityResumeService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * @author Administrator
+ */
+@RestController
+@RequestMapping("/service/BaseElectricityResume")
+@Slf4j
+public class BaseElectricityResumeController extends BaseController {
+
+    @Autowired
+    private BaseElectricityResumeService baseElectricityResumeService;
+
+    /**
+     * 获取电池电量状态履历
+     */
+    @GetMapping("/getBaseElectricityResume")
+    @Log(title = "设备状态履历", businessType = BusinessType.SELECT)
+    public AjaxResult getBaseElectricityResume(@RequestParam(value = "cameraCode") String cameraCode,
+                                               @RequestParam(value = "startTime", required = false) String startTime,
+                                               @RequestParam(value = "endTime", required = false) String endTime) {
+        List<BaseElectricityResumeVo> baseElectricityResumeVoList = baseElectricityResumeService.getBaseElectricityResume(cameraCode, startTime, endTime);
+        return AjaxResult.success(baseElectricityResumeVoList);
+    }
+
+
+    /**
+     * 导出电池电量状态履历
+     *
+     * @param response
+     */
+    @GetMapping("/exportElectricityResume")
+    @Log(title = "电池电量状态履历", businessType = BusinessType.EXPORT)
+    public void exportElectricityResume(HttpServletResponse response, @RequestParam(value = "cameraCode") String cameraCode,
+                                   @RequestParam(value ="startTime", required = false) String startTime,
+                                   @RequestParam(value ="endTime", required = false) String endTime) {
+        List<ElectricityResumeResp> electricityResumeRespList = baseElectricityResumeService.exportElectricityResume(cameraCode, startTime, endTime);
+        ExcelUtil<ElectricityResumeResp> util = new ExcelUtil<>(ElectricityResumeResp.class);
+        util.exportExcel(response, electricityResumeRespList, "电池电量状态履历数据");
+    }
+}

+ 12 - 3
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/MsgAlarmController.java

@@ -21,6 +21,7 @@ import com.ozs.common.utils.file.FileUtils;
 import com.ozs.common.utils.poi.ExcelUtil;
 import com.ozs.service.entity.*;
 import com.ozs.service.entity.vo.*;
+import com.ozs.service.mapper.BaseCameraVersionMapper;
 import com.ozs.service.mapper.MsgAlarmMapper;
 import com.ozs.service.service.*;
 import com.ozs.system.service.DataScoreUtil;
@@ -96,9 +97,7 @@ public class MsgAlarmController extends BaseController {
     @Autowired
     private ISysDeptService deptService;
     @Autowired
-    private MsgAppPushService msgAppPushService;
-    @Autowired
-    private RedisService redisService;
+    private BaseCameraVersionMapper baseCameraVersionMapper;
 
     /**
      * web更多消息-总数,已读数
@@ -334,6 +333,9 @@ public class MsgAlarmController extends BaseController {
                 cameraManagementLambdaQueryWrapper.eq(BaseCameraManagement::getCameraCode, msgAlarm.getCameraCode());
             }
             BaseCameraManagement cameraManagement = baseCameraManagementService.getOne(cameraManagementLambdaQueryWrapper);
+            msgAlarm.setCameraSn(cameraManagement.getCameraSn());
+            SysDept sysDept = deptService.selectDeptById(cameraManagement.getDeptId());
+            msgAlarm.setDeptName(sysDept.getDeptName());
             LambdaQueryWrapper<BaseRailwayManagement> queryWrapper = new LambdaQueryWrapper<BaseRailwayManagement>();
             if (!ObjectUtils.isEmpty(cameraManagement.getRailwayCode())) {
                 queryWrapper.eq(BaseRailwayManagement::getRailwayCode, cameraManagement.getRailwayCode());
@@ -478,6 +480,13 @@ public class MsgAlarmController extends BaseController {
             msgAlarmResp.setAlarmAttrName(stringBuilder);
             msgAlarmResp.setCardNum(baseCameraManagement.getCardNum());
             msgAlarmResp.setCameraSn(baseCameraManagement.getCameraSn());
+            BaseCameraVersion baseCameraVersion = baseCameraVersionMapper.selectById(baseCameraManagement.getId());
+            if (!StringUtils.isEmpty(baseCameraVersion.getVersionName())){
+            msgAlarmResp.setVersionName(baseCameraVersion.getVersionName());
+            }
+            if (!StringUtils.isEmpty(baseCameraVersion.getVersionNum())) {
+                msgAlarmResp.setVersionNum(baseCameraVersion.getVersionNum());
+            }
             return AjaxResult.success(msgAlarmResp);
         } else {
             return success("无报警信息数据");

+ 2 - 2
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/MsgAlarmMatterController.java

@@ -177,9 +177,9 @@ public class MsgAlarmMatterController extends BaseController {
                 }
             });
 
-            ExcelUtil<MsgAlarmMatter> util = new ExcelUtil<>(MsgAlarmMatter.class);
-            util.exportExcel(response, msgAlarmList, "报警信息管理");
         }
+        ExcelUtil<MsgAlarmMatter> util = new ExcelUtil<>(MsgAlarmMatter.class);
+        util.exportExcel(response, msgAlarmList, "异物侵限报警信息管理");
     }
 }
 

+ 0 - 2
hazard-admin/src/main/java/com/ozs/web/controller/system/SysUserController.java

@@ -25,9 +25,7 @@ import com.ozs.framework.web.service.TokenService;
 import com.ozs.service.entity.BaseCameraManagement;
 import com.ozs.service.entity.BaseRailwayManagement;
 import com.ozs.service.entity.BaseUser;
-import com.ozs.service.entity.MsgAlarm;
 import com.ozs.service.entity.vo.CameraTreeVo;
-import com.ozs.service.entity.vo.MsgAlarmVo;
 import com.ozs.service.service.BaseUserService;
 import com.ozs.system.domain.SysUserRole;
 import com.ozs.system.mapper.SysUserRoleMapper;

+ 0 - 2
hazard-admin/src/main/java/com/ozs/web/controller/upload/UploadController.java

@@ -7,10 +7,8 @@ import com.ozs.common.utils.StringUtils;
 import com.ozs.common.utils.uuid.IdUtils;
 import com.ozs.service.entity.BaseCameraManagement;
 import com.ozs.service.entity.BaseRailwayManagement;
-import com.ozs.service.entity.MsgAlarm;
 import com.ozs.service.service.BaseCameraManagementService;
 import com.ozs.service.service.BaseRailwayManagementService;
-import com.ozs.service.service.MsgAlarmService;
 import com.ozs.web.core.util.FileMd5;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;

+ 63 - 37
hazard-admin/src/main/java/com/ozs/web/core/util/CameraUtil.java

@@ -44,6 +44,8 @@ import com.jcraft.jsch.JSch;
 import com.jcraft.jsch.JSchException;
 import com.jcraft.jsch.Session;
 import com.ozs.common.utils.HttpClientUtil;
+import com.ozs.service.entity.*;
+import com.ozs.service.service.*;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -149,6 +151,8 @@ public class CameraUtil {
     private ServerConfig serverConfig;
     @Autowired
     private MsgAlarmService msgAlarmService;
+    @Autowired
+    BaseDeviceResumeService baseDeviceResumeService;
 
     @Resource
     BaseCameraManagementService baseCameraManagementService;
@@ -1018,53 +1022,75 @@ ffmpeg -i "concat:1.ts|2.ts" -c copy output.mp4
      * 相机状态修改
      */
     public void cameraBlockUp() {
-        long time=60000L;
+        long baseTime = 60000L;
         //当前时间戳
-        long dades = System.currentTimeMillis();
+        long currentTimestamp = System.currentTimeMillis();
         //字典中设置的值
         List<SysDictData> heartIntervalTime = dictDataMapper.selectDictDataByType("heart_interval_time");
         List<SysDictData> triggerWarningFrequency = dictDataMapper.selectDictDataByType("trigger_warning_frequency");
-        if (!ObjectUtils.isEmpty(heartIntervalTime)){
-            time=time*Long.valueOf(heartIntervalTime.get(0).getDictValue());
+        // 计算时间间隔
+        long timeInterval = baseTime;
+        if (!ObjectUtils.isEmpty(heartIntervalTime)) {
+            timeInterval *= Long.valueOf(heartIntervalTime.get(0).getDictValue());
         }
-        if (!ObjectUtils.isEmpty(triggerWarningFrequency)){
-            time=time*Long.valueOf(triggerWarningFrequency.get(0).getDictValue());
+        if (!ObjectUtils.isEmpty(triggerWarningFrequency)) {
+            timeInterval *= Long.valueOf(triggerWarningFrequency.get(0).getDictValue());
         }
-        if (ObjectUtils.isEmpty(heartIntervalTime)||ObjectUtils.isEmpty(triggerWarningFrequency)){
-            time=time*5*3;
+        if (ObjectUtils.isEmpty(heartIntervalTime) || ObjectUtils.isEmpty(triggerWarningFrequency)) {
+            timeInterval = baseTime * 5 * 3; // 默认值
         }
-        //当前时间5分钟之前的时间戳
-        long time2 = dades - (time);
-        LambdaQueryWrapper<MqLog> mqLog = new LambdaQueryWrapper<>();
-        mqLog.ge(MqLog::getCreateTime, new Date(time2));
-        mqLog.le(MqLog::getCreateTime, new Date(dades));
-        List<MqLog> list = mqLogService.list(mqLog);
-        List<String> log = list.stream().map(MqLog::getCameraCode).collect(Collectors.toList());
-        List<BaseDeviceDynamicManagement> dynamicManagements = baseDeviceDynamicManagementService.list();
-        List<String> base = dynamicManagements.stream().map(BaseDeviceDynamicManagement::getCameraCode).collect(Collectors.toList());
-        if (!ObjectUtils.isEmpty(log)) {
-            //找出相机表中不包含日志表相机的数据
-            List<BaseDeviceDynamicManagement> ones = dynamicManagements.stream().filter(o -> !log.contains(o.getCameraCode())).collect(Collectors.toList());
-            List<String> collect = ones.stream().map(BaseDeviceDynamicManagement::getCameraCode).collect(Collectors.toList());
-            //找出相机表中包含日志表相机的数据
-            base.retainAll(log);
-            LambdaUpdateWrapper<BaseDeviceDynamicManagement> queryWrapper = new LambdaUpdateWrapper<>();
-            queryWrapper.in(BaseDeviceDynamicManagement::getCameraCode, base);
-            queryWrapper.set(BaseDeviceDynamicManagement::getIsDisable, 1);
-            baseDeviceDynamicManagementService.saveOrUpdate(null, queryWrapper);
-
-            LambdaUpdateWrapper<BaseDeviceDynamicManagement> wrapper = new LambdaUpdateWrapper<>();
-            wrapper.in(BaseDeviceDynamicManagement::getCameraCode, collect);
-            wrapper.set(BaseDeviceDynamicManagement::getIsDisable, 2);
-            baseDeviceDynamicManagementService.saveOrUpdate(null, wrapper);
-        }else {
-            LambdaUpdateWrapper<BaseDeviceDynamicManagement> wrapper = new LambdaUpdateWrapper<>();
-            wrapper.in(BaseDeviceDynamicManagement::getCameraCode, base);
-            wrapper.set(BaseDeviceDynamicManagement::getIsDisable, 2);
-            baseDeviceDynamicManagementService.saveOrUpdate(null, wrapper);
+        // 计算查询的时间范围(前五分钟)
+        long startTime = currentTimestamp - timeInterval;
+        // 查询 MQ 日志
+        LambdaQueryWrapper<MqLog> mqLogQuery = new LambdaQueryWrapper<>();
+        mqLogQuery.between(MqLog::getCreateTime, new Date(startTime), new Date(currentTimestamp));
+        List<MqLog> mqLogs = mqLogService.list(mqLogQuery);
+        Set<String> loggedCameraCodes = mqLogs.stream().map(MqLog::getCameraCode).collect(Collectors.toSet());
+        // 获取所有设备
+        List<BaseDeviceDynamicManagement> devices = baseDeviceDynamicManagementService.list();
+        Set<String> allCameraCodes = devices.stream().map(BaseDeviceDynamicManagement::getCameraCode).collect(Collectors.toSet());
+        // 找出未记录日志的设备
+        Set<String> inactiveCameraCodes = new HashSet<>(allCameraCodes);
+        inactiveCameraCodes.removeAll(loggedCameraCodes);
+
+        // 更新设备状态
+        updateDeviceStatus(loggedCameraCodes, 1); // 启用设备
+        updateDeviceStatus(inactiveCameraCodes, 2); // 禁用设备
+
+        // 保存设备状态变更记录
+        saveDeviceResume(loggedCameraCodes, 1);
+        saveDeviceResume(inactiveCameraCodes, 2);
+    }
+
+    // 辅助方法:更新设备状态
+    private void updateDeviceStatus(Set<String> cameraCodes, int status) {
+        if (!cameraCodes.isEmpty()) {
+            LambdaUpdateWrapper<BaseDeviceDynamicManagement> updateWrapper = new LambdaUpdateWrapper<>();
+            updateWrapper.in(BaseDeviceDynamicManagement::getCameraCode, cameraCodes);
+            updateWrapper.set(BaseDeviceDynamicManagement::getIsDisable, status);
+            baseDeviceDynamicManagementService.update(updateWrapper);
         }
     }
 
+
+    // 辅助方法:批量保存设备状态变更记录
+    private void saveDeviceResume(Set<String> cameraCodes, int status) {
+        if (cameraCodes.isEmpty()) {
+            return; // 如果集合为空,直接返回
+        }
+
+        List<BaseDeviceResume> resumes = new ArrayList<>();
+        for (String cameraCode : cameraCodes) {
+            BaseDeviceResume resume = new BaseDeviceResume();
+            resume.setCameraCode(cameraCode);
+            resume.setIsDisable(status);
+            resumes.add(resume);
+        }
+
+        // 批量保存
+        baseDeviceResumeService.saveBatch(resumes);
+    }
+
     /**
      * MQTT超时监测
      */

+ 3 - 0
hazard-sdk/src/main/java/com/ozs/controller/upload/GeoHazardMonitorTokenController.java

@@ -21,6 +21,7 @@ import com.ozs.service.entity.MsgAlarmFrequency;
 import com.ozs.service.entity.SvcAddress;
 import com.ozs.service.entity.vo.BaseCameraVO;
 import com.ozs.service.service.*;
+import com.ozs.service.utils.PublishClient;
 import com.ozs.vo.ReqDeviceVo;
 import com.ozs.vo.ReqMsgAlarmVo;
 import com.ozs.vo.RespGeoHazardMonitorVo;
@@ -67,6 +68,8 @@ public class GeoHazardMonitorTokenController {
     @Autowired
     MsgAlarmFrequencyService msgAlarmFrequencyService;
     @Autowired
+    MsgAlarmFrequencyCloudService msgAlarmFrequencyCloudService;
+    @Autowired
     SvcAddressService svcAddressService;
     @Autowired
     BaseCameraManagementService baseCameraManagementService;

+ 3 - 0
hazard-sdk/src/main/java/com/ozs/vo/ReqMsgAlarmVo.java

@@ -44,4 +44,7 @@ public class ReqMsgAlarmVo implements Serializable {
 
     /** 报警图片地址 */
     private String[] imageUrls;
+
+    /** 报警行别 */
+    private String lineDirStr;
 }