‘liusuyi’
2023-09-21 c6a05cc862a98abd7d16560e7ac2ab9bf4e12feb
修改雷达报警数据合并
已修改13个文件
279 ■■■■ 文件已修改
ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java 159 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarFire.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarMove.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarPump.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/radar/mapper/ArdAlarmRadarFireMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/radar/mapper/ArdAlarmRadarMoveMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/radar/mapper/ArdAlarmRadarPumpMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/media/service/impl/MediaServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/utils/minio/MinioUtil.java 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarFireMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarMoveMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarPumpMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/utils/ConfigUtils.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/global/service/impl/GlobalAlarmServiceImpl.java
@@ -33,7 +33,9 @@
import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell;
import com.ruoyi.alarmpoints.well.mapper.ArdAlarmpointsWellMapper;
import com.ruoyi.common.constant.CacheConstants;
import com.ruoyi.common.core.domain.entity.SysConfig;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.utils.ConfigUtils;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.DictUtils;
import com.ruoyi.common.utils.StringUtils;
@@ -389,20 +391,20 @@
                //    globalAlarmDataList.add(globalAlarmData);
                //}
                //return globalAlarmDataList;
            //从数据库获取
             List<ArdAlarmRadarMove> ardAlarmRadarMoves = ardAlarmRadarMoveMapper.selectListAllByCommand(refreshTime);
             return ardAlarmRadarMoves.stream()
                     .map(ardAlarmRadarMove -> {
                         GlobalAlarmData globalAlarmData = new GlobalAlarmData()
                                 .setId(ardAlarmRadarMove.getId())
                                 .setName(ardAlarmRadarMove.getName())
                                 .setAlarmTime(ardAlarmRadarMove.getAlarmTime())
                                 .setLongitude(ardAlarmRadarMove.getLongitude())
                                 .setLatitude(ardAlarmRadarMove.getLatitude())
                                 .setCount(ardAlarmRadarMove.getCount())
                                 .setTotal(ardAlarmRadarMove.getTotal());
                         return globalAlarmData;
                     }).collect(Collectors.toList());
                //从数据库获取
                List<ArdAlarmRadarMove> ardAlarmRadarMoves = ardAlarmRadarMoveMapper.selectListAllByCommand(refreshTime);
                return ardAlarmRadarMoves.stream()
                        .map(ardAlarmRadarMove -> {
                            GlobalAlarmData globalAlarmData = new GlobalAlarmData()
                                    .setId(ardAlarmRadarMove.getId())
                                    .setName(ardAlarmRadarMove.getName())
                                    .setAlarmTime(ardAlarmRadarMove.getAlarmTime())
                                    .setLongitude(ardAlarmRadarMove.getLongitude())
                                    .setLatitude(ardAlarmRadarMove.getLatitude())
                                    .setCount(ardAlarmRadarMove.getCount())
                                    .setTotal(ardAlarmRadarMove.getTotal());
                            return globalAlarmData;
                        }).collect(Collectors.toList());
            case 1004:
                List<ArdAlarmRadarFire> ardAlarmRadarFires = ardAlarmRadarFireMapper.selectListAllByCommand(refreshTime);
                return ardAlarmRadarFires.stream()
@@ -987,13 +989,13 @@
                    break;
                case "radar":
                    //region 处理雷达报警
                    String mergeTime = ConfigUtils.getConfigValue("radarMergeTime");
                    Integer radarMergeTime= mergeTime==null||"".equals(mergeTime)?10:Integer.valueOf(mergeTime);
                    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();
                        String radarId = radarAlarmData.getRadarId();
                        String alarmpointName = ardAlarmRadar.getName();//兴趣点名称
                        Double longitude = ardAlarmRadar.getLongitude();
                        Double latitude = ardAlarmRadar.getLatitude();
@@ -1009,9 +1011,31 @@
                                ardAlarmRadarMove.setAlarmType("运动目标检测");
                                ardAlarmRadarMove.setLongitude(longitude);
                                ardAlarmRadarMove.setLatitude(latitude);
                                //入库
                                ardAlarmRadarMoveMapper.insertArdAlarmRadarMove(ardAlarmRadarMove);
                                ardAlarmRadarMoves.add(ardAlarmRadarMove);
                                ardAlarmRadarMove.setUpdateTime(radarAlarmData.getAlarmTime());
                                ardAlarmRadarMove.setRadarId(radarId);
                                //获取当前兴趣点当前雷达的上一条数据
                                ArdAlarmRadarMove lastMoveData = ardAlarmRadarMoveMapper.selectArdAlarmRadarLastData(ardAlarmRadarMove.getName());
                                if (lastMoveData == null) {
                                    //入库
                                    ardAlarmRadarMoveMapper.insertArdAlarmRadarMove(ardAlarmRadarMove);
                                    radarMoveGuide(ardAlarmRadarMove);//引导
                                } else {
                                    //否则比对更新时间
                                    Date lastUpdateTime = lastMoveData.getUpdateTime();
                                    Date alarmTime = ardAlarmRadarMove.getAlarmTime();
                                    long secDatePoor = DateUtils.getSecDatePoor(alarmTime,lastUpdateTime);
                                    if (secDatePoor <= radarMergeTime) {
                                        //小于10秒的新数据,更新上一条
                                        ArdAlarmRadarMove updateData = new ArdAlarmRadarMove();
                                        updateData.setId(lastMoveData.getId());
                                        updateData.setUpdateTime(alarmTime);
                                        ardAlarmRadarMoveMapper.updateArdAlarmRadarMove(updateData);
                                    } else {
                                        //超过10秒的数据,入库
                                        ardAlarmRadarMoveMapper.insertArdAlarmRadarMove(ardAlarmRadarMove);
                                        radarMoveGuide(ardAlarmRadarMove);//引导
                                    }
                                }
                                //入缓存
                                //String key = "radar_alarm:" + DateUtils.getDate();
                                //if (redisCache.hasKey(key)) {
@@ -1031,34 +1055,74 @@
                                ardAlarmRadarFire.setAlarmType("热源检测");
                                ardAlarmRadarFire.setLongitude(longitude);
                                ardAlarmRadarFire.setLatitude(latitude);
                                //入库
                                ardAlarmRadarFireMapper.insertArdAlarmRadarFire(ardAlarmRadarFire);
                                ardAlarmRadarFires.add(ardAlarmRadarFire);
                                ardAlarmRadarFire.setRadarId(radarId);
                                ardAlarmRadarFire.setUpdateTime(radarAlarmData.getAlarmTime());
                                //
                                ArdAlarmRadarFire lastFireData = ardAlarmRadarFireMapper.selectArdAlarmRadarLastData(ardAlarmRadarFire.getName());
                                if (lastFireData == null) {
                                    //入库
                                    ardAlarmRadarFireMapper.insertArdAlarmRadarFire(ardAlarmRadarFire);
                                    radarFireGuide(ardAlarmRadarFire);//引导
                                } else {
                                    //否则比对更新时间
                                    Date lastUpdateTime = lastFireData.getUpdateTime();
                                    Date alarmTime = ardAlarmRadarFire.getAlarmTime();
                                    long secDatePoor = DateUtils.getSecDatePoor(alarmTime,lastUpdateTime);
                                    if (secDatePoor <= radarMergeTime) {
                                        //小于10秒的新数据,更新上一条
                                        ArdAlarmRadarFire updateData = new ArdAlarmRadarFire();
                                        updateData.setId(lastFireData.getId());
                                        updateData.setUpdateTime(alarmTime);
                                        ardAlarmRadarFireMapper.updateArdAlarmRadarFire(updateData);
                                    } else {
                                        //超过10秒的数据,入库
                                        ardAlarmRadarFireMapper.insertArdAlarmRadarFire(ardAlarmRadarFire);
                                        radarFireGuide(ardAlarmRadarFire);//引导
                                    }
                                }
                                break;
                            case "雷达抽油机停机":
                                ArdAlarmRadarPump ardAlarmRadarPump = new ArdAlarmRadarPump();
                                ardAlarmRadarPump.setRadarId(radarId);
                                ardAlarmRadarPump.setId(uuid);
                                ardAlarmRadarPump.setTargetId(targetId);
                                ardAlarmRadarPump.setAlarmTime(radarAlarmData.getAlarmTime());
                                ardAlarmRadarPump.setCreateTime(new Date());
                                ardAlarmRadarPump.setName(ardAlarmRadar.getName() + "(" + radarAlarmData.getRadarName() + ")");
                                ardAlarmRadarPump.setAlarmType("雷达抽油机停机");
                                ardAlarmRadarPump.setUpdateTime(radarAlarmData.getAlarmTime());
                                ArdAlarmpointsWell ardAlarmpointsWell = ardAlarmpointsWellMapper.selectArdAlarmpointsWellByWellId(alarmpointName);
                                if (StringUtils.isNotNull(ardAlarmpointsWell)) {
                                    ardAlarmRadarPump.setLongitude(ardAlarmpointsWell.getLongitude());
                                    ardAlarmRadarPump.setLatitude(ardAlarmpointsWell.getLatitude());
                                }
                                //入库
                                ardAlarmRadarPumpMapper.insertArdAlarmRadarPump(ardAlarmRadarPump);
                                ardAlarmRadarPumps.add(ardAlarmRadarPump);
                                //
                                ArdAlarmRadarPump lastPumpData = ardAlarmRadarPumpMapper.selectArdAlarmRadarLastData(ardAlarmRadarPump.getName());
                                if (lastPumpData == null) {
                                    //入库
                                    ardAlarmRadarPumpMapper.insertArdAlarmRadarPump(ardAlarmRadarPump);
                                    radarPumpGuide(ardAlarmRadarPump);//引导
                                } else {
                                    //否则比对更新时间
                                    Date lastUpdateTime = lastPumpData.getUpdateTime();
                                    Date alarmTime = ardAlarmRadarPump.getAlarmTime();
                                    long secDatePoor = DateUtils.getSecDatePoor(alarmTime,lastUpdateTime);
                                    if (secDatePoor <= radarMergeTime) {
                                        //小于10秒的新数据,更新上一条
                                        ArdAlarmRadarPump updateData = new ArdAlarmRadarPump();
                                        updateData.setId(lastPumpData.getId());
                                        updateData.setUpdateTime(alarmTime);
                                        ardAlarmRadarPumpMapper.updateArdAlarmRadarPump(updateData);
                                    } else {
                                        //超过10秒的数据,入库
                                        ardAlarmRadarPumpMapper.insertArdAlarmRadarPump(ardAlarmRadarPump);
                                        radarPumpGuide(ardAlarmRadarPump);//引导
                                    }
                                }
                                break;
                        }
                    }
                    radarMoveGuide(ardAlarmRadarMoves, radarAlarmData);
                    radarFireGuide(ardAlarmRadarFires, radarAlarmData);
                    radarPumpGuide(ardAlarmRadarPumps, radarAlarmData);
                    //endregion
                    break;
                case "external":
@@ -1134,7 +1198,7 @@
                    ArdAlarmDigitization3 ardAlarmDigitization3 = JSONObject.parseObject(message, ArdAlarmDigitization3.class);
                    //获取经纬度
                    ArdAlarmpointsWell Well = ardAlarmpointsWellMapper.selectArdAlarmpointsWellByWellId(ardAlarmDigitization3.getWellNo());
                    if(Well!=null) {
                    if (Well != null) {
                        ardAlarmDigitization3.setLongitude(Well.getLongitude());
                        ardAlarmDigitization3.setLatitude(Well.getLatitude());
                        ardAlarmDigitization3.setAltitude(Well.getAltitude());
@@ -1276,8 +1340,7 @@
        return minDistanceCameraId;
    }
    //雷达引导入队(获取相机)
    //雷达获取相机引导入队
    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);
@@ -1304,6 +1367,7 @@
            log.debug("未获取到报警点关联的光电");
        }
    }
    //雷达移动引导
    private void radarMoveGuide(List<ArdAlarmRadarMove> ardAlarmRadarMoves, RadarAlarmData radarAlarmData) {
        //按兴趣点去重,然后按引导逻辑进行引导入队
@@ -1357,6 +1421,16 @@
        }
        //endregion
    }
    private void radarMoveGuide(ArdAlarmRadarMove ardAlarmRadarMove) {
        if (StringUtils.isNull(ardAlarmRadarMove.getLongitude()) || StringUtils.isNull(ardAlarmRadarMove.getLatitude())) {
            log.debug("坐标为空不引导");
            return;
        }
        double[] coordinate = new double[]{ardAlarmRadarMove.getLongitude(), ardAlarmRadarMove.getLatitude()};//报警坐标
        //引导入队
        radarGuideToQueue(ardAlarmRadarMove.getId(), ardAlarmRadarMove.getRadarId(), ardAlarmRadarMove.getName(), ardAlarmRadarMove.getAlarmType(), ardAlarmRadarMove.getCreateTime(), coordinate);//更新
    }
    //雷达防火引导
    private void radarFireGuide(List<ArdAlarmRadarFire> ardAlarmRadarFires, RadarAlarmData radarAlarmData) {
        //按兴趣点去重,然后按引导逻辑进行引导入队
@@ -1409,6 +1483,15 @@
        }
        //endregion
    }
    private void radarFireGuide(ArdAlarmRadarFire ardAlarmRadarFire) {
        if (StringUtils.isNull(ardAlarmRadarFire.getLongitude()) || StringUtils.isNull(ardAlarmRadarFire.getLatitude())) {
            log.debug("坐标为空不引导");
            return;
        }
        double[] coordinate = new double[]{ardAlarmRadarFire.getLongitude(), ardAlarmRadarFire.getLatitude()};//报警坐标
        //引导入队
        radarGuideToQueue(ardAlarmRadarFire.getId(), ardAlarmRadarFire.getRadarId(), ardAlarmRadarFire.getName(), ardAlarmRadarFire.getAlarmType(), ardAlarmRadarFire.getCreateTime(), coordinate);//更新
    }
    //雷达抽油机停机引导
    private void radarPumpGuide(List<ArdAlarmRadarPump> ardAlarmRadarPumps, RadarAlarmData radarAlarmData) {
        //按兴趣点去重,然后按引导逻辑进行引导入队
@@ -1461,4 +1544,14 @@
        }
        //endregion
    }
    private void radarPumpGuide(ArdAlarmRadarPump ardAlarmRadarPump) {
        if (StringUtils.isNull(ardAlarmRadarPump.getLongitude()) || StringUtils.isNull(ardAlarmRadarPump.getLatitude())) {
            //坐标为空不引导
            log.debug("坐标为空不引导");
            return;
        }
        double[] coordinate = new double[]{ardAlarmRadarPump.getLongitude(), ardAlarmRadarPump.getLatitude()};//报警坐标
        //引导入队
        radarGuideToQueue(ardAlarmRadarPump.getId(), ardAlarmRadarPump.getRadarId(), ardAlarmRadarPump.getName(), ardAlarmRadarPump.getAlarmType(), ardAlarmRadarPump.getCreateTime(), coordinate);//更新
    }
}
ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarFire.java
@@ -77,6 +77,19 @@
     */
    private Integer count;
    /**
     * 雷达ID
     */
    private String radarId;
    public String getRadarId() {
        return radarId;
    }
    public void setRadarId(String radarId) {
        this.radarId = radarId;
    }
    public Integer getTotal() {
        return total;
    }
ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarMove.java
@@ -68,7 +68,6 @@
    @Excel(name = "引导标记")
    private Integer guideFlag;
    /**
     * 报警总数
     */
@@ -77,6 +76,19 @@
     * 未读报警数量
     */
    private Integer count;
    /**
     * 雷达ID
     */
    private String RadarId;
    public String getRadarId() {
        return RadarId;
    }
    public void setRadarId(String radarId) {
        RadarId = radarId;
    }
    public Integer getTotal() {
        return total;
ard-work/src/main/java/com/ruoyi/alarm/radar/domain/ArdAlarmRadarPump.java
@@ -77,6 +77,18 @@
     * 未读报警数量
     */
    private Integer count;
    /**
     * 雷达ID
     */
    private String radarId;
    public String getRadarId() {
        return radarId;
    }
    public void setRadarId(String radarId) {
        this.radarId = radarId;
    }
    public Integer getTotal() {
        return total;
ard-work/src/main/java/com/ruoyi/alarm/radar/mapper/ArdAlarmRadarFireMapper.java
@@ -4,6 +4,7 @@
import com.ruoyi.alarm.radar.domain.ArdAlarmRadar;
import com.ruoyi.alarm.radar.domain.ArdAlarmRadarFire;
import com.ruoyi.alarm.radar.domain.ArdAlarmRadarMove;
import org.apache.ibatis.annotations.Param;
/**
@@ -67,4 +68,6 @@
    List<ArdAlarmRadarFire> selectListAllByCommand(@Param("refreshTime") String refreshTime);
    public int updateViewTimeByCondition(@Param("name")String name,@Param("alarmTime") String alarmTime,@Param("viewTime") String viewTime);
    ArdAlarmRadarFire selectArdAlarmRadarLastData(String name);
}
ard-work/src/main/java/com/ruoyi/alarm/radar/mapper/ArdAlarmRadarMoveMapper.java
@@ -62,8 +62,10 @@
     */
    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);
    ArdAlarmRadarMove selectArdAlarmRadarLastData(String name);
}
ard-work/src/main/java/com/ruoyi/alarm/radar/mapper/ArdAlarmRadarPumpMapper.java
@@ -3,6 +3,7 @@
import java.util.List;
import com.ruoyi.alarm.radar.domain.ArdAlarmRadar;
import com.ruoyi.alarm.radar.domain.ArdAlarmRadarFire;
import com.ruoyi.alarm.radar.domain.ArdAlarmRadarPump;
import org.apache.ibatis.annotations.Param;
@@ -67,4 +68,6 @@
    List<ArdAlarmRadarPump> selectListAllByCommand(@Param("refreshTime") String refreshTime);
    public int updateViewTimeByCondition(@Param("name")String name,@Param("alarmTime") String alarmTime,@Param("viewTime") String viewTime);
    ArdAlarmRadarPump selectArdAlarmRadarLastData(String name);
}
ard-work/src/main/java/com/ruoyi/media/service/impl/MediaServiceImpl.java
@@ -54,7 +54,7 @@
    @Override
    public void run(ApplicationArguments args) {
        try {
            log.info("开始加载流媒体列表");
            log.debug("开始加载流媒体列表");
            List<StreamInfo> paths = paths();
            for (StreamInfo path : paths) {
                mediaClient.removePath(path.getName());
@@ -76,7 +76,7 @@
    @PostConstruct
    public void initMediaMtx() {
        if (mediamtxEnabled) {
            log.info("初始化启动mediaMTX");
            log.debug("初始化启动mediaMTX");
            if (Platform.isWindows()) {
                String exePath = System.getProperty("user.dir") + File.separator + "lib" + File.separator + "mediamtx" + File.separator + "mediamtx.exe";
                String ymlPath = System.getProperty("user.dir") + File.separator + "lib" + File.separator + "mediamtx" + File.separator + "mediamtx.yml";
ard-work/src/main/java/com/ruoyi/utils/minio/MinioUtil.java
@@ -3,6 +3,7 @@
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import io.minio.*;
import io.minio.errors.MinioException;
import io.minio.http.Method;
import io.minio.messages.*;
import lombok.extern.slf4j.Slf4j;
@@ -10,7 +11,10 @@
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedList;
@@ -79,17 +83,33 @@
    }
    /**
     * 创建桶,并设置桶策略为公共
     * 创建桶
     */
    public static boolean createBucket(String bucket) {
        try {
            if (StringUtils.isEmpty(bucket)) {
                return false;
            }
            /*创建桶*/
            //创建桶
            MakeBucketArgs makeBucketArgs = MakeBucketArgs.builder().bucket(bucket).build();
            minioClient.makeBucket(makeBucketArgs);
            /*设置策略*/
            setBucketPolicy(bucket);//设置桶策略
            setBucketNotificationToMqtt(bucket);//设置桶通知到MQTT
            return true;
        } catch (Exception ex) {
            log.error("minio创建桶异常:", ex.getMessage());
            return false;
        }
    }
    /**
     * 设置桶策略
     * 刘苏义
     * 2023/9/20 10:01:39
     */
    public static boolean setBucketPolicy(String bucket) {
        try {
            //设置策略
            String sb = "{\"Version\":\"2012-10-17\"," +
                    "\"Statement\":[{\"Effect\":\"Allow\",\"Principal\":" +
                    "{\"AWS\":[\"*\"]},\"Action\":[\"s3:ListBucket\",\"s3:ListBucketMultipartUploads\"," +
@@ -100,30 +120,40 @@
                    .bucket(bucket)
                    .config(sb)
                    .build();
            /*设置通知mqtt*/
            //设置mqtt主题
            minioClient.setBucketPolicy(setBucketPolicyArgs);
            return true;
        } catch (Exception ex) {
            log.error("设置桶策略异常:" + ex.getMessage());
            return false;
        }
    }
    /**
     * 设置桶通知到MQTT
     * 刘苏义
     * 2023/9/20 9:59:40
     */
    public static boolean setBucketNotificationToMqtt(String bucket) {
        try {
            //设置通知mqtt
            NotificationConfiguration config = new NotificationConfiguration();
            List<QueueConfiguration> queueConfigurations = new ArrayList<>();
            QueueConfiguration queueConfiguration = new QueueConfiguration();
            queueConfiguration.setQueue("arn:minio:sqs::_:mqtt");
            //设置事件
            List<EventType> events = new ArrayList<>();
            events.add(EventType.OBJECT_REMOVED_ANY);
            events.add(EventType.OBJECT_CREATED_ANY);
            queueConfiguration.setEvents(events);
            queueConfigurations.add(queueConfiguration);
            config.setQueueConfigurationList(queueConfigurations);
            SetBucketNotificationArgs setBucketNotificationArgs = SetBucketNotificationArgs.builder()
                    .bucket(bucket)
                    .config(config).build();
            minioClient.setBucketPolicy(setBucketPolicyArgs);
            minioClient.setBucketNotification(setBucketNotificationArgs);
            return true;
        } catch (Exception ex) {
            log.error("minio创建桶异常:", ex.getMessage());
            log.error("设置桶通知异常:" + ex.getMessage());
            return false;
        }
    }
ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarFireMapper.xml
@@ -68,6 +68,7 @@
            <if test="viewTime != null">view_time,</if>
            <if test="createBy != null">create_by,</if>
            <if test="createTime != null">create_time,</if>
            <if test="updateTime != null">update_time,</if>
            <if test="userId != null">user_id,</if>
            <if test="deptId != null">dept_id,</if>
            <if test="guideFlag != null">guide_flag,</if>
@@ -84,6 +85,7 @@
            <if test="viewTime != null">#{viewTime},</if>
            <if test="createBy != null">#{createBy},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="updateTime != null">#{updateTime},</if>
            <if test="userId != null">#{userId},</if>
            <if test="deptId != null">#{deptId},</if>
            <if test="guideFlag != null">#{guideFlag},</if>
@@ -103,6 +105,7 @@
            <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="updateTime != null">update_time = #{updateTime},</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>
@@ -156,4 +159,7 @@
          and alarm_time&lt;=#{alarmTime}
          and view_time is null
    </update>
    <select id="selectArdAlarmRadarLastData" parameterType="String" resultMap="ArdAlarmRadarFireResult">
        select * from ard_alarm_radar_fire where name=#{name} order by update_time desc LIMIT 1
    </select>
</mapper>
ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarMoveMapper.xml
@@ -70,6 +70,7 @@
            <if test="viewTime != null">view_time,</if>
            <if test="createBy != null">create_by,</if>
            <if test="createTime != null">create_time,</if>
            <if test="updateTime != null">update_time,</if>
            <if test="userId != null">user_id,</if>
            <if test="deptId != null">dept_id,</if>
            <if test="guideFlag != null">guide_flag,</if>
@@ -87,6 +88,7 @@
            <if test="viewTime != null">#{viewTime},</if>
            <if test="createBy != null">#{createBy},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="updateTime != null">#{updateTime},</if>
            <if test="userId != null">#{userId},</if>
            <if test="deptId != null">#{deptId},</if>
            <if test="guideFlag != null">#{guideFlag},</if>
@@ -107,6 +109,7 @@
            <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="updateTime != null">update_time = #{updateTime},</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>
@@ -161,4 +164,7 @@
          and alarm_time&lt;=#{alarmTime}
          and view_time is null
    </update>
    <select id="selectArdAlarmRadarLastData" parameterType="String" resultMap="ArdAlarmRadarMoveResult">
        select * from ard_alarm_radar_move where name=#{name} order by update_time desc LIMIT 1
    </select>
</mapper>
ard-work/src/main/resources/mapper/alarm/ArdAlarmRadarPumpMapper.xml
@@ -68,6 +68,7 @@
            <if test="viewTime != null">view_time,</if>
            <if test="createBy != null">create_by,</if>
            <if test="createTime != null">create_time,</if>
            <if test="updateTime != null">update_time,</if>
            <if test="userId != null">user_id,</if>
            <if test="deptId != null">dept_id,</if>
            <if test="guideFlag != null">guide_flag,</if>
@@ -84,6 +85,7 @@
            <if test="viewTime != null">#{viewTime},</if>
            <if test="createBy != null">#{createBy},</if>
            <if test="createTime != null">#{createTime},</if>
            <if test="updateTime != null">#{updateTime},</if>
            <if test="userId != null">#{userId},</if>
            <if test="deptId != null">#{deptId},</if>
            <if test="guideFlag != null">#{guideFlag},</if>
@@ -103,6 +105,7 @@
            <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="updateTime != null">update_time = #{updateTime},</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>
@@ -156,4 +159,7 @@
          and alarm_time&lt;=#{alarmTime}
          and view_time is null
    </update>
    <select id="selectArdAlarmRadarLastData" parameterType="String" resultMap="ArdAlarmRadarPumpResult">
        select * from ard_alarm_radar_pump where name=#{name} order by update_time desc LIMIT 1
    </select>
</mapper>
ruoyi-common/src/main/java/com/ruoyi/common/utils/ConfigUtils.java
@@ -18,7 +18,6 @@
    /**
     * 根据配置key获取配置value值
     *
     * @param key 配置key
     * @return configValue 配置value值
     */
    public static String getConfigValue(String key) {