From 060609ae40633e66abf67dd5577b441dd5fba48f Mon Sep 17 00:00:00 2001 From: chen zida Date: Thu, 30 Nov 2023 15:22:33 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E8=AF=BB=E5=8F=96=E8=81=8A=E5=A4=A9?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E6=97=B6=EF=BC=8C=E6=B8=85=E7=A9=BA=E7=BC=93?= =?UTF-8?q?=E5=AD=98=E9=87=8C=E5=AF=B9=E5=BA=94=E7=9A=84=E6=9C=AA=E8=AF=BB?= =?UTF-8?q?=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/message/service/MessageSyncService.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/hs-im-server/im-service/src/main/java/com/lld/im/service/message/service/MessageSyncService.java b/hs-im-server/im-service/src/main/java/com/lld/im/service/message/service/MessageSyncService.java index c2b80b8..be6744a 100644 --- a/hs-im-server/im-service/src/main/java/com/lld/im/service/message/service/MessageSyncService.java +++ b/hs-im-server/im-service/src/main/java/com/lld/im/service/message/service/MessageSyncService.java @@ -173,6 +173,17 @@ public class MessageSyncService { } public List chatHistory(ChatHistoryReq chatHistoryReq){ + // 1.清空缓存里对应的未读消息 + String key = chatHistoryReq.getAppId() + ":" + Constants.RedisConstants.OfflineMessage + ":" + chatHistoryReq.getOperater(); + ZSetOperations zSetOperations = redisTemplate.opsForZSet(); + Set querySet = zSetOperations.range(key,0,-1); + for (Object o : querySet) { + OfflineMessageContent offlineMessageContent = JSONObject.parseObject(o.toString(), OfflineMessageContent.class); + if (chatHistoryReq.getUserId().equals(offlineMessageContent.getFromId()) || chatHistoryReq.getUserId().equals(offlineMessageContent.getToId())){ + zSetOperations.remove(key,o); + } + } + // 2.获取聊天记录记录 List imMessageHistoryVos = new ArrayList<>(); Page objectPage = new Page<>(chatHistoryReq.getOffset(),chatHistoryReq.getLimit()); LambdaQueryWrapper and = new LambdaQueryWrapper().eq(ImMessageHistoryEntity::getOwnerId, chatHistoryReq.getOperater())