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