From 57c673aa3e83677bcf5d30b4b45d06bae6609db8 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: 星期四, 08 八月 2024 16:14:40 +0800
Subject: [PATCH] 优化:获取会话

---
 ard-work/src/main/java/com/ruoyi/call/service/impl/ArdCallSessionUserServiceImpl.java |   42 ++++++++++++++++++++++++++++++++++++++----
 1 files changed, 38 insertions(+), 4 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/call/service/impl/ArdCallSessionUserServiceImpl.java b/ard-work/src/main/java/com/ruoyi/call/service/impl/ArdCallSessionUserServiceImpl.java
index 13c2fdf..709b588 100644
--- a/ard-work/src/main/java/com/ruoyi/call/service/impl/ArdCallSessionUserServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/call/service/impl/ArdCallSessionUserServiceImpl.java
@@ -4,14 +4,15 @@
 import java.util.List;
 
 import com.ruoyi.call.compare.ArdCallSessionUserComparator;
-import com.ruoyi.call.domain.ArdCallGroupUser;
-import com.ruoyi.call.domain.ArdCallHistory;
-import com.ruoyi.call.domain.ArdCallUnreadMessages;
+import com.ruoyi.call.domain.*;
 import com.ruoyi.call.mapper.ArdCallGroupUserMapper;
 import com.ruoyi.call.mapper.ArdCallHistoryMapper;
 import com.ruoyi.call.mapper.ArdCallUnreadMessagesMapper;
+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.uuid.IdUtils;
+import com.ruoyi.system.service.ISysUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -21,7 +22,6 @@
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.call.mapper.ArdCallSessionUserMapper;
-import com.ruoyi.call.domain.ArdCallSessionUser;
 import com.ruoyi.call.service.IArdCallSessionUserService;
 
 import javax.annotation.Resource;
@@ -42,6 +42,8 @@
     private ArdCallSessionUserComparator ardCallSessionUserComparator;
     @Resource
     private ArdCallUnreadMessagesMapper ardCallUnreadMessagesMapper;
+    @Resource
+    private IArdCallGroupService ardCallGroupService;
 
     /**
      * 鏌ヨ浼氳瘽鐢ㄦ埛涓棿琛�
@@ -52,6 +54,31 @@
     @Override
     public ArdCallSessionUser selectArdCallSessionUserById(String id) {
         return ardCallSessionUserMapper.selectArdCallSessionUserById(id);
+    }
+
+    @Override
+    public ArdCallSessionUser selectArdCallSessionUserBySesionId(String userId, String sessionId) {
+        ArdCallSessionUser ardCallSessionUser = ardCallSessionUserMapper.selectArdCallSessionUserBySesionId(userId, sessionId);
+        if (ardCallSessionUser != null) {
+            //鑾峰彇鏈鏁伴噺
+            ArdCallUnreadMessages ardCallUnreadMessages = ardCallUnreadMessagesMapper.getUnreadMessage(ardCallSessionUser.getSessionId(), ardCallSessionUser.getUserId());
+            if (ardCallUnreadMessages != null) {
+                ardCallSessionUser.setUnReadCount(ardCallUnreadMessages.getUnreadCount());
+            } else {
+                ardCallSessionUser.setUnReadCount(0);
+            }
+            //鑾峰彇鏈�鍚庝竴鏉℃秷鎭疄浣�
+            ArdCallHistory ardCallHistory = ardCallHistoryMapper.selectLastArdCallHistory(ardCallSessionUser.getSessionId());
+            ardCallSessionUser.setArdCallHistory(ardCallHistory);
+            //缇よ亰targetNickName鏀逛负缇ゅ悕绉�
+            if (ardCallSessionUser.getType().equals("1")) {
+                ArdCallGroup ardCallGroup = ardCallGroupService.selectArdCallGroupById(ardCallSessionUser.getTargetId());
+                if (ardCallGroup != null) {
+                    ardCallSessionUser.setTargetNickName(ardCallGroup.getName());
+                }
+            }
+        }
+        return ardCallSessionUser;
     }
 
     /**
@@ -74,6 +101,13 @@
             //鑾峰彇鏈�鍚庝竴鏉℃秷鎭疄浣�
             ArdCallHistory ardCallHistory = ardCallHistoryMapper.selectLastArdCallHistory(callSessionUser.getSessionId());
             callSessionUser.setArdCallHistory(ardCallHistory);
+            //缇よ亰targetNickName鏀逛负缇ゅ悕绉�
+            if (callSessionUser.getType().equals("1")) {
+                ArdCallGroup ardCallGroup = ardCallGroupService.selectArdCallGroupById(callSessionUser.getTargetId());
+                if (ardCallGroup != null) {
+                    callSessionUser.setTargetNickName(ardCallGroup.getName());
+                }
+            }
         });
         //杩囨护鎺夋病鏈夊巻鍙茶褰曠殑浼氳瘽
         ardCallSessionUsers = ardCallSessionUsers.stream().filter(obj -> obj.getArdCallHistory() != null).collect(Collectors.toList());

--
Gitblit v1.9.3