From 513e5442723f501525bf9ca6210b16561e5d3a2b Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Tue, 24 Mar 2026 11:41:07 +0800
Subject: [PATCH] 1

---
 trading-order-admin/src/main/java/com/yami/trading/admin/controller/chat/NewAdminOnlineChatController.java |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/trading-order-admin/src/main/java/com/yami/trading/admin/controller/chat/NewAdminOnlineChatController.java b/trading-order-admin/src/main/java/com/yami/trading/admin/controller/chat/NewAdminOnlineChatController.java
index c6f40cb..8457470 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/admin/controller/chat/NewAdminOnlineChatController.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/admin/controller/chat/NewAdminOnlineChatController.java
@@ -1,6 +1,8 @@
 package com.yami.trading.admin.controller.chat;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.yami.trading.bean.chat.domain.MessageUser;
 import com.yami.trading.bean.chat.domain.OnlineChatMessage;
 import com.yami.trading.bean.model.Customer;
@@ -10,6 +12,7 @@
 import com.yami.trading.common.util.DateUtils;
 import com.yami.trading.common.util.StringUtils;
 import com.yami.trading.common.web.ResultObject;
+import com.yami.trading.dao.chat.OnlinechatMessageMapper;
 import com.yami.trading.security.common.util.SecurityUtils;
 import com.yami.trading.service.AwsS3OSSFileService;
 import com.yami.trading.service.chat.online.OnlineChatMessageService;
@@ -46,6 +49,9 @@
 
     @Autowired
     AwsS3OSSFileService awsS3OSSFileService;
+
+    @Autowired
+    OnlinechatMessageMapper onlinechatMessageMapper;
 
     /**
      * 在线聊天-人员列表
@@ -165,6 +171,16 @@
                         onlineChatVisitorMessageService.updateUnread(partyid, "customer", "read");
                     }
                 } else {
+                    // 修复:缓存空时,直接查询数据库兜底
+                    if (CollectionUtils.isEmpty(list)) {
+                        QueryWrapper<OnlineChatMessage> wrapper = new QueryWrapper<>();
+                        wrapper.eq("party_id", partyid)
+                                .orderByDesc("create_time")
+                                .last("limit 30");
+                        list = onlinechatMessageMapper.selectList(wrapper);
+                        onlineChatMessageService.putMessage(partyid, list);
+                    }
+
                     if (cacheMessageUser != null && cacheMessageUser.getCustomerUnreadmsg() > 0) {
                         onlineChatMessageService.updateUnread(partyid, "customer", "read");
                     }

--
Gitblit v1.9.3