From 1636f02b9cf3f408ebf8b3c4e377237e5b74bf4a Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期五, 26 七月 2024 10:57:30 +0800
Subject: [PATCH] 电磁锁实时状态加入报警详情提交

---
 ard-work/src/main/java/com/ruoyi/call/service/impl/ArdCallHistoryServiceImpl.java |   54 +++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 37 insertions(+), 17 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/call/service/impl/ArdCallHistoryServiceImpl.java b/ard-work/src/main/java/com/ruoyi/call/service/impl/ArdCallHistoryServiceImpl.java
index 29b8097..d7a967c 100644
--- a/ard-work/src/main/java/com/ruoyi/call/service/impl/ArdCallHistoryServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/call/service/impl/ArdCallHistoryServiceImpl.java
@@ -7,10 +7,13 @@
 import com.alibaba.fastjson2.JSONObject;
 import com.ruoyi.call.domain.*;
 import com.ruoyi.call.mapper.*;
+import com.ruoyi.call.service.IArdCallGroupService;
+import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.DateUtils;
 
 import com.ruoyi.common.utils.MessageUtils;
 import com.ruoyi.common.utils.uuid.IdUtils;
+import com.ruoyi.system.service.ISysUserService;
 import com.ruoyi.utils.websocket.util.WebSocketUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -46,6 +49,8 @@
     private ArdCallUnreadMessagesMapper ardCallUnreadMessagesMapper;
     @Resource
     private ArdCallGroupUserMapper ardCallGroupUserMapper;
+    @Resource
+    private IArdCallGroupService ardCallGroupService;
 
     /**
      * 鏌ヨ浼氳瘽鍘嗗彶
@@ -55,7 +60,18 @@
      */
     @Override
     public ArdCallHistory selectArdCallHistoryById(String id) {
-        return ardCallHistoryMapper.selectArdCallHistoryById(id);
+        ArdCallHistory ardCallHistory = ardCallHistoryMapper.selectArdCallHistoryById(id);
+        if (ardCallHistory != null) {
+            //缇よ亰鍒欏皢targetNickName鏀逛负缇ゅ悕绉�
+            ArdCallSession ardCallSession = ardCallSessionMapper.selectArdCallSessionById(ardCallHistory.getSessionId());
+            if (ardCallSession != null && ardCallSession.getType().equals("1")) {
+                ArdCallGroup ardCallGroup = ardCallGroupService.selectArdCallGroupById(ardCallHistory.getTargetId());
+                if (ardCallGroup != null) {
+                    ardCallHistory.setTargetNickName(ardCallGroup.getName());
+                }
+            }
+        }
+        return ardCallHistory;
     }
 
     /**
@@ -66,7 +82,18 @@
      */
     @Override
     public List<ArdCallHistory> selectArdCallHistoryList(ArdCallHistory ardCallHistory) {
-        return ardCallHistoryMapper.selectArdCallHistoryList(ardCallHistory);
+        List<ArdCallHistory> ardCallHistories = ardCallHistoryMapper.selectArdCallHistoryList(ardCallHistory);
+        ardCallHistories.stream().forEach(aCallHistory -> {
+            //缇よ亰鍒欏皢targetNickName鏀逛负缇ゅ悕绉�
+            ArdCallSession ardCallSession = ardCallSessionMapper.selectArdCallSessionById(aCallHistory.getSessionId());
+            if (ardCallSession != null && ardCallSession.getType().equals("1")) {
+                ArdCallGroup ardCallGroup = ardCallGroupService.selectArdCallGroupById(aCallHistory.getTargetId());
+                if (ardCallGroup != null) {
+                    aCallHistory.setTargetNickName(ardCallGroup.getName());
+                }
+            }
+        });
+        return ardCallHistories;
     }
 
     /**
@@ -104,13 +131,10 @@
             Map<String, Object> messageMap = new HashMap<>();
             messageMap.put("type", "message");
             messageMap.put("message", JSON.toJSONString(ardCallHistory));
-            ONLINE_USER_SESSIONS.entrySet().stream()
-                    .filter(entry -> {
-                        Matcher matcher = pattern.matcher(entry.getKey());
-                        return matcher.matches();
-                    })
-                    .map(Map.Entry::getValue)
-                    .forEach(session -> WebSocketUtils.sendMessage(session, messageMap));
+            ONLINE_USER_SESSIONS.entrySet().stream().filter(entry -> {
+                Matcher matcher = pattern.matcher(entry.getKey());
+                return matcher.matches();
+            }).map(Map.Entry::getValue).forEach(session -> WebSocketUtils.sendMessage(session, messageMap));
 
         } else {
             //鏇存柊缇よ亰鐢ㄦ埛鏈娑堟伅璁℃暟
@@ -141,14 +165,10 @@
                     Map<String, Object> messageMap = new HashMap<>();
                     messageMap.put("type", "message");
                     messageMap.put("message", JSON.toJSONString(ardCallHistory));
-                    ONLINE_USER_SESSIONS.entrySet().stream()
-                            .filter(entry ->
-                            {
-                                Matcher matcher = pattern.matcher(entry.getKey());
-                                return matcher.matches();
-                            })
-                            .map(Map.Entry::getValue)
-                            .forEach(session -> WebSocketUtils.sendMessage(session, messageMap));
+                    ONLINE_USER_SESSIONS.entrySet().stream().filter(entry -> {
+                        Matcher matcher = pattern.matcher(entry.getKey());
+                        return matcher.matches();
+                    }).map(Map.Entry::getValue).forEach(session -> WebSocketUtils.sendMessage(session, messageMap));
                 }
 
             });

--
Gitblit v1.9.3