From 321ad5573868f8a421509633b3ded03a6602efbc Mon Sep 17 00:00:00 2001
From: ‘liusuyi’ <1951119284@qq.com>
Date: 星期二, 13 六月 2023 17:28:40 +0800
Subject: [PATCH] 增加查询报警点数量接口
---
ruoyi-common/src/main/java/com/ruoyi/common/websocket/util/WebSocketUtils.java | 1
ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java | 22 +++++++++-
ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/IGlobalAlarmService.java | 2 +
ard-work/src/main/java/com/ruoyi/alarm/tubeAlarm/mapper/ArdAlarmTubeMapper.java | 1
ruoyi-common/src/main/java/com/ruoyi/common/websocket/service/ChatServerEndpoint.java | 33 +++++++++-------
ard-work/src/main/resources/mapper/stealAlarm/ArdAlarmStealelecMapper.xml | 3 +
ard-work/src/main/resources/mapper/alarm/ArdAlarmTubeMapper.xml | 5 ++
ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/controller/GlobalAlarmController.java | 7 +++
ard-work/src/main/java/com/ruoyi/alarm/stealAlarm/mapper/ArdAlarmStealelecMapper.java | 1
9 files changed, 58 insertions(+), 17 deletions(-)
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/controller/GlobalAlarmController.java b/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/controller/GlobalAlarmController.java
index 3675937..fdc7516 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/controller/GlobalAlarmController.java
+++ b/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);
+ }
}
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/IGlobalAlarmService.java b/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/IGlobalAlarmService.java
index 3b138b7..a06fa79 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/IGlobalAlarmService.java
+++ b/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();
}
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java b/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java
index 3006be4..82b68b3 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/globalAlarm/service/impl/GlobalAlarmServiceImpl.java
+++ b/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;
+ }
}
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/stealAlarm/mapper/ArdAlarmStealelecMapper.java b/ard-work/src/main/java/com/ruoyi/alarm/stealAlarm/mapper/ArdAlarmStealelecMapper.java
index ba0012f..0ec906a 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/stealAlarm/mapper/ArdAlarmStealelecMapper.java
+++ b/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);
}
\ No newline at end of file
diff --git a/ard-work/src/main/java/com/ruoyi/alarm/tubeAlarm/mapper/ArdAlarmTubeMapper.java b/ard-work/src/main/java/com/ruoyi/alarm/tubeAlarm/mapper/ArdAlarmTubeMapper.java
index 86c0041..ca03b00 100644
--- a/ard-work/src/main/java/com/ruoyi/alarm/tubeAlarm/mapper/ArdAlarmTubeMapper.java
+++ b/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);
}
diff --git a/ard-work/src/main/resources/mapper/alarm/ArdAlarmTubeMapper.xml b/ard-work/src/main/resources/mapper/alarm/ArdAlarmTubeMapper.xml
index dcc4c42..2a423f8 100644
--- a/ard-work/src/main/resources/mapper/alarm/ArdAlarmTubeMapper.xml
+++ b/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}
diff --git a/ard-work/src/main/resources/mapper/stealAlarm/ArdAlarmStealelecMapper.xml b/ard-work/src/main/resources/mapper/stealAlarm/ArdAlarmStealelecMapper.xml
index 0e2a338..04e532e 100644
--- a/ard-work/src/main/resources/mapper/stealAlarm/ArdAlarmStealelecMapper.xml
+++ b/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}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/websocket/service/ChatServerEndpoint.java b/ruoyi-common/src/main/java/com/ruoyi/common/websocket/service/ChatServerEndpoint.java
index c9b7180..7ed66be 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/websocket/service/ChatServerEndpoint.java
+++ b/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();
//褰撳墠鐨凷ession 绉婚櫎
- 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();
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/websocket/util/WebSocketUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/websocket/util/WebSocketUtils.java
index 846d800..91a7730 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/websocket/util/WebSocketUtils.java
+++ b/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);
--
Gitblit v1.9.3