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/ArdCallSessionServiceImpl.java |   33 ++++++++++++++++++---------------
 1 files changed, 18 insertions(+), 15 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/call/service/impl/ArdCallSessionServiceImpl.java b/ard-work/src/main/java/com/ruoyi/call/service/impl/ArdCallSessionServiceImpl.java
index 7043f4f..31f5512 100644
--- a/ard-work/src/main/java/com/ruoyi/call/service/impl/ArdCallSessionServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/call/service/impl/ArdCallSessionServiceImpl.java
@@ -8,6 +8,7 @@
 import com.ruoyi.call.service.IArdCallGroupUserService;
 import com.ruoyi.call.service.IArdCallSessionService;
 import com.ruoyi.call.service.IArdCallSessionUserService;
+import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
@@ -33,6 +34,8 @@
     private IArdCallSessionUserService ardCallSessionUserService;
     @Resource
     private IArdCallGroupService ardCallGroupService;
+    @Resource
+    private IArdCallGroupUserService ardCallGroupUserService;
 
     /**
      * 鏌ヨ瑙嗛浼氳瘽
@@ -144,7 +147,7 @@
         } else {
             //缇よ亰
             sessionId = ardCallSessionUserService.getGroupSessionId(type, targetId);
-            if (StringUtils.isEmpty(sessionId)) {
+            if (StringUtils.isNull(sessionId)) {
                 //鑻ヤ笉瀛樺湪缇よ亰session鐩存帴鍒欏垎鍒垱寤烘墍鏈夌兢鐢ㄦ埛鐨剆ession
                 ArdCallSession ardCallSession = new ArdCallSession();
                 ardCallSession.setType(type);
@@ -152,21 +155,21 @@
 
                 //鑾峰彇缇ょ敤鎴峰垪琛�
                 ArdCallGroup ardCallGroup = ardCallGroupService.selectArdCallGroupById(targetId);
-                if(ardCallGroup!=null)
-                {
-                    String finalSessionId = sessionId;
-                    ardCallGroup.getArdCallGroupUsers().stream().forEach(groupUser -> {
-                        ArdCallSessionUser ardCallSessionUser = new ArdCallSessionUser();
-                        ardCallSessionUser.setSessionId(finalSessionId);
-                        ardCallSessionUser.setType(type);
-                        ardCallSessionUser.setUserId(groupUser.getUserId());
-                        ardCallSessionUser.setTargetId(targetId);
-                        ardCallSessionUserService.insertArdCallSessionUser(ardCallSessionUser);
-                    });
+                if (ardCallGroup != null) {
+                    List<SysUser> userList = ardCallGroupUserService.InGroupUsers(ardCallGroup.getId());
+                    if (userList.size() > 0) {
+                        ardCallGroup.setSysUserList(userList);
+                        String finalSessionId = sessionId;
+                        ardCallGroup.getSysUserList().stream().forEach(groupUser -> {
+                            ArdCallSessionUser ardCallSessionUser = new ArdCallSessionUser();
+                            ardCallSessionUser.setSessionId(finalSessionId);
+                            ardCallSessionUser.setType(type);
+                            ardCallSessionUser.setUserId(groupUser.getUserId());
+                            ardCallSessionUser.setTargetId(targetId);
+                            ardCallSessionUserService.insertArdCallSessionUser(ardCallSessionUser);
+                        });
+                    }
                 }
-            } else {
-                //鑾峰彇鑷繁鐨剆ession
-                 sessionId = ardCallSessionUserService.getSessionId(type, userId, targetId);
             }
         }
         return sessionId;

--
Gitblit v1.9.3