This commit is contained in:
2023-11-30 15:26:30 +08:00

View File

@@ -173,6 +173,17 @@ public class MessageSyncService {
} }
public List<ImMessageHistoryVo> chatHistory(ChatHistoryReq chatHistoryReq){ public List<ImMessageHistoryVo> 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<ImMessageHistoryVo> imMessageHistoryVos = new ArrayList<>(); List<ImMessageHistoryVo> imMessageHistoryVos = new ArrayList<>();
Page<ImMessageHistoryEntity> objectPage = new Page<>(chatHistoryReq.getOffset(),chatHistoryReq.getLimit()); Page<ImMessageHistoryEntity> objectPage = new Page<>(chatHistoryReq.getOffset(),chatHistoryReq.getLimit());
LambdaQueryWrapper<ImMessageHistoryEntity> and = new LambdaQueryWrapper<ImMessageHistoryEntity>().eq(ImMessageHistoryEntity::getOwnerId, chatHistoryReq.getOperater()) LambdaQueryWrapper<ImMessageHistoryEntity> and = new LambdaQueryWrapper<ImMessageHistoryEntity>().eq(ImMessageHistoryEntity::getOwnerId, chatHistoryReq.getOperater())