‘liusuyi’
2023-06-13 321ad5573868f8a421509633b3ded03a6602efbc
增加查询报警点数量接口
已修改9个文件
75 ■■■■ 文件已修改
ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/controller/GlobalAlarmController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/IGlobalAlarmService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/stealAlarm/mapper/ArdAlarmStealelecMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/tubeAlarm/mapper/ArdAlarmTubeMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/alarm/ArdAlarmTubeMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/resources/mapper/stealAlarm/ArdAlarmStealelecMapper.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/websocket/service/ChatServerEndpoint.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/websocket/util/WebSocketUtils.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/controller/GlobalAlarmController.java
@@ -13,6 +13,7 @@
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
/**
 * @ClassName: globalAlarmController
@@ -42,4 +43,10 @@
        Object result = globalAlarmService.updateAlarmViewTime(condition);
        return AjaxResult.success(result);
    }
    @PostMapping("/count")
    @ApiOperation(value = "查看报警点数量",notes = "查询刷新时间内报警的点位数量")
    public AjaxResult  countAlarmLog() {
        Map<String, Integer> stringIntegerMap = globalAlarmService.selectAlarmLogsCount();
        return AjaxResult.success(stringIntegerMap);
    }
}
ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/IGlobalAlarmService.java
@@ -4,6 +4,7 @@
import com.ruoyi.alarm.globalAlarm.domain.GlobalAlarmData;
import java.util.List;
import java.util.Map;
/**
 * @ClassName: globalAlarmService
@@ -16,4 +17,5 @@
    public List<GlobalAlarmData> selectAlarmLogs(GlobalAlarmCondition condition);
    Object updateAlarmViewTime(GlobalAlarmCondition condition);
    public void receiveAlarm(String topic,String message);
    public Map<String,Integer> selectAlarmLogsCount();
}
ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java
@@ -26,9 +26,7 @@
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
import static jdk.nashorn.internal.runtime.regexp.joni.Config.log;
@@ -152,4 +150,22 @@
                break;
        }
    }
    /**
     * @描述 查询所有报警的当前数量
     * @参数 []
     * @返回值 java.util.Map<java.lang.String,java.lang.Integer>
     * @创建人 刘苏义
     * @创建时间 2023/6/13 16:30
     * @修改人和其它信息
     */
    @Override
    public Map<String, Integer> selectAlarmLogsCount() {
        Map<String, Integer> countMap=new HashMap<>();
        String refreshTime = configService.selectConfigByKey("refreshTime");
        int count1001 = ardAlarmStealelecMapper.selectCountByStartTime(refreshTime);
        countMap.put("1001",count1001);
        int count1014 = ardAlarmTubeMapper.selectCountByStartTime(refreshTime);
        countMap.put("1014 ",count1014);
        return countMap;
    }
}
ard-work/src/main/java/com/ruoyi/alarm/stealAlarm/mapper/ArdAlarmStealelecMapper.java
@@ -14,5 +14,6 @@
    List<ArdAlarmStealelec> selectRealByCondition(@Param("refreshTime")String refreshTime,@Param("deptId")Long deptId);
    List<ArdAlarmStealelec> selectHistoryByCondition(GlobalAlarmCondition condition);
    List<ArdAlarmStealelec> selectListAllByCommand(@Param("refreshTime")String refreshTime);
    int selectCountByStartTime(@Param("refreshTime")String refreshTime);
    int updateViewTimeByDescribe(@Param("describe")String describe,@Param("alarmTime") String alarmTime,@Param("viewTime") String viewTime);
}
ard-work/src/main/java/com/ruoyi/alarm/tubeAlarm/mapper/ArdAlarmTubeMapper.java
@@ -64,5 +64,6 @@
    public int deleteArdAlarmTubeByIds(String[] ids);
    public List<ArdAlarmTube> selectListAllByCommand(@Param("refreshTime")String refreshTime);
    int selectCountByStartTime(@Param("refreshTime")String refreshTime);
    public int updateViewTimeByTubeId(@Param("tubeId")String tubeId,@Param("alarmTime") String alarmTime,@Param("viewTime") String viewTime);
}
ard-work/src/main/resources/mapper/alarm/ArdAlarmTubeMapper.xml
@@ -149,6 +149,11 @@
             ) T
        WHERE T.rn = 1
    </select>
    <select id="selectCountByStartTime" resultType="Integer">
        SELECT COUNT(DISTINCT aat.tube_id)
        FROM ard_alarm_tube aat
        WHERE aat.alarm_time >= CURRENT_TIMESTAMP - INTERVAL '%${refreshTime}%' MINUTE
    </select>
    <update id="updateViewTimeByTubeId" parameterType="String">
        update ard_alarm_tube
        set view_time=#{viewTime}
ard-work/src/main/resources/mapper/stealAlarm/ArdAlarmStealelecMapper.xml
@@ -79,6 +79,9 @@
                 LEFT JOIN ard_alarm_stealelec aas ON A.ID = aas.ID
        ORDER BY aas.start_time DESC LIMIT 50
    </select>
    <select id="selectCountByStartTime" resultType="Integer">
        select count(DISTINCT aas."describe") from ard_alarm_stealelec aas where aas.start_time >= ( CURRENT_TIMESTAMP - INTERVAL '%${refreshTime}%' MINUTE )
    </select>
    <update id="updateViewTimeByDescribe" parameterType="String">
        update ard_alarm_stealelec
        set view_time=#{viewTime}
ruoyi-common/src/main/java/com/ruoyi/common/websocket/service/ChatServerEndpoint.java
@@ -1,5 +1,6 @@
package com.ruoyi.common.websocket.service;
import com.ruoyi.common.utils.SecurityUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
@@ -9,8 +10,7 @@
import javax.websocket.server.ServerEndpoint;
import java.io.IOException;
import static com.ruoyi.common.websocket.util.WebSocketUtils.ONLINE_USER_SESSIONS;
import static com.ruoyi.common.websocket.util.WebSocketUtils.sendMessageAll;
import static com.ruoyi.common.websocket.util.WebSocketUtils.*;
/**
@@ -23,30 +23,35 @@
@Component
@Slf4j(topic = "websocket")
@ServerEndpoint("/websocket/{userid}")
@ServerEndpoint("/websocket")
public class ChatServerEndpoint {
    @OnOpen
    public void openSession(@PathParam("userid") String userid, Session session) {
        ONLINE_USER_SESSIONS.put(userid, session);
        String message = "用户[" + userid + "] 成功连接!";
    public void openSession( Session session) {
        String userId = SecurityUtils.getUserId();
        ONLINE_USER_SESSIONS.put(userId, session);
        String message = "用户[" + userId + "] 成功连接!";
        log.info("用户登录:"+message);
        sendMessageAll(message);
        sendMessage(session,message);
    }
    @OnMessage
    public void onMessage(@PathParam("userid") String userid, String message) {
        log.info("发送消息:"+message);
        sendMessageAll("用户[" + userid + "] : " + message);
    public void onMessage( String message) {
        log.info("收到消息:"+message);
        String userId = SecurityUtils.getUserId();
        Session session = ONLINE_USER_SESSIONS.get(userId);
        sendMessage(session,message);
//        sendMessageAll("用户[" + userid + "] : " + message);
    }
    @OnClose
    public void onClose(@PathParam("userid") String userid, Session session) {
    public void onClose( Session session) {
        String userId = SecurityUtils.getUserId();
        //当前的Session 移除
        ONLINE_USER_SESSIONS.remove(userid);
        ONLINE_USER_SESSIONS.remove(userId);
        //并且通知其他人当前用户已经离开聊天室了
        String message="用户[" + userid + "] 断开连接!";
        sendMessageAll(message);
        String message="用户[" + userId + "] 断开连接!";
        sendMessage(session,message);
        log.info("发送消息:"+message);
        try {
            session.close();
ruoyi-common/src/main/java/com/ruoyi/common/websocket/util/WebSocketUtils.java
@@ -36,6 +36,7 @@
        }
        synchronized(session) {
            try {
                log.info("发送消息:"+message);
                session.getBasicRemote().sendText(message);
            } catch (IOException e) {
                log.error("sendMessage IOException ",e);