From 72359f3c9e9fe855ecafafb769ed52fc2a7f7e61 Mon Sep 17 00:00:00 2001
From: liusuyi <1951119284@qq.com>
Date: 星期六, 10 八月 2024 09:46:02 +0800
Subject: [PATCH] 优化:视频通话会话列表和详情获取最后一条消息中增加用户名称和头像

---
 ard-work/src/main/java/com/ruoyi/call/controller/ArdCallSessionUserController.java    |   31 +++++++++----------------------
 ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PushTask.java                        |    3 +--
 ard-work/src/main/java/com/ruoyi/call/service/impl/ArdCallSessionUserServiceImpl.java |   20 ++++++++++++++++++--
 3 files changed, 28 insertions(+), 26 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/call/controller/ArdCallSessionUserController.java b/ard-work/src/main/java/com/ruoyi/call/controller/ArdCallSessionUserController.java
index 75dd55d..9247000 100644
--- a/ard-work/src/main/java/com/ruoyi/call/controller/ArdCallSessionUserController.java
+++ b/ard-work/src/main/java/com/ruoyi/call/controller/ArdCallSessionUserController.java
@@ -1,33 +1,20 @@
 package com.ruoyi.call.controller;
 
-import java.util.List;
-import javax.servlet.http.HttpServletResponse;
-
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.ruoyi.call.domain.ArdCallSessionUser;
+import com.ruoyi.call.service.IArdCallSessionUserService;
 import com.ruoyi.call.service.IArdCallUnreadMessagesService;
 import com.ruoyi.common.annotation.Anonymous;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.page.TableDataInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.PutMapping;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import com.ruoyi.common.annotation.Log;
-import com.ruoyi.common.core.controller.BaseController;
-import com.ruoyi.common.core.domain.AjaxResult;
-import com.ruoyi.common.enums.BusinessType;
-import com.ruoyi.call.domain.ArdCallSessionUser;
-import com.ruoyi.call.service.IArdCallSessionUserService;
-import com.ruoyi.common.utils.poi.ExcelUtil;
-import com.ruoyi.common.core.page.TableDataInfo;
+import org.springframework.web.bind.annotation.*;
+import java.util.List;
 
 /**
  * 浼氳瘽鐢ㄦ埛涓棿琛–ontroller
@@ -61,8 +48,8 @@
      */
     @ApiOperation("鑾峰彇浼氳瘽璇︽儏")
     @GetMapping(value = "/{userId}/{sessionId}")
-    public AjaxResult getInfo(@PathVariable("userId") String userId,@PathVariable("sessionId") String sessionId) {
-        return success(ardCallSessionUserService.selectArdCallSessionUserBySesionId(userId,sessionId));
+    public AjaxResult getInfo(@PathVariable("userId") String userId, @PathVariable("sessionId") String sessionId) {
+        return AjaxResult.success(ardCallSessionUserService.selectArdCallSessionUserBySesionId(userId,sessionId));
     }
 
     /**
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 709b588..7f67aed 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
@@ -44,6 +44,8 @@
     private ArdCallUnreadMessagesMapper ardCallUnreadMessagesMapper;
     @Resource
     private IArdCallGroupService ardCallGroupService;
+    @Resource
+    private ISysUserService sysUserService;
 
     /**
      * 鏌ヨ浼氳瘽鐢ㄦ埛涓棿琛�
@@ -69,7 +71,14 @@
             }
             //鑾峰彇鏈�鍚庝竴鏉℃秷鎭疄浣�
             ArdCallHistory ardCallHistory = ardCallHistoryMapper.selectLastArdCallHistory(ardCallSessionUser.getSessionId());
-            ardCallSessionUser.setArdCallHistory(ardCallHistory);
+            if (ardCallHistory != null) {
+                SysUser sysUser = sysUserService.selectUserById(ardCallHistory.getUserId());
+                if (sysUser != null) {
+                    ardCallHistory.setNickName(sysUser.getNickName());
+                    ardCallHistory.setAvatar(sysUser.getAvatar());
+                }
+                ardCallSessionUser.setArdCallHistory(ardCallHistory);
+            }
             //缇よ亰targetNickName鏀逛负缇ゅ悕绉�
             if (ardCallSessionUser.getType().equals("1")) {
                 ArdCallGroup ardCallGroup = ardCallGroupService.selectArdCallGroupById(ardCallSessionUser.getTargetId());
@@ -100,7 +109,14 @@
             }
             //鑾峰彇鏈�鍚庝竴鏉℃秷鎭疄浣�
             ArdCallHistory ardCallHistory = ardCallHistoryMapper.selectLastArdCallHistory(callSessionUser.getSessionId());
-            callSessionUser.setArdCallHistory(ardCallHistory);
+            if(ardCallHistory != null) {
+                SysUser sysUser = sysUserService.selectUserById(ardCallHistory.getUserId());
+                if (sysUser != null) {
+                    ardCallHistory.setNickName(sysUser.getNickName());
+                    ardCallHistory.setAvatar(sysUser.getAvatar());
+                }
+                callSessionUser.setArdCallHistory(ardCallHistory);
+            }
             //缇よ亰targetNickName鏀逛负缇ゅ悕绉�
             if (callSessionUser.getType().equals("1")) {
                 ArdCallGroup ardCallGroup = ardCallGroupService.selectArdCallGroupById(callSessionUser.getTargetId());
diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PushTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PushTask.java
index 3bc7376..fb43356 100644
--- a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PushTask.java
+++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PushTask.java
@@ -122,7 +122,6 @@
                             list.add(ptz);
                         }
                     }
-
                     Map<String, Object> sendMap = new HashMap<>();
                     sendMap.put("10000", list);
                     WebSocketUtils.sendMessageAll(sendMap);
@@ -132,4 +131,4 @@
             log.error("鎺ㄩ�乸tz寮傚父:" + ex.getMessage());
         }
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.9.3