优化:视频通话会话列表和详情获取最后一条消息中增加用户名称和头像
已修改3个文件
54 ■■■■ 文件已修改
ard-work/src/main/java/com/ruoyi/call/controller/ArdCallSessionUserController.java 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ard-work/src/main/java/com/ruoyi/call/service/impl/ArdCallSessionUserServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/PushTask.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
/**
 * 会话用户中间表Controller
@@ -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));
    }
    /**
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());
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("推送ptz异常:" + ex.getMessage());
        }
    }
}
}