批量获取会话未读消息数

borened 2023-11-3 422

野火是否提供了通过用户id批量获取会话数据的sdk,我这里有个需求是业务方的页面需要批量展示读取客户的未读消息数量,这个客户可能是没有聊过天的,如果一个个去调用,性能太差。

最新回复 (8)
  • HeavyRain 2023-11-3
    引用 2
    不明白你的需求是服务器端获取还是客户端获取,如果是服务器端是没有办法实现的。如果是客户端,可以调用客户端获取会话列表的接口,每个会话中有未读数
  • borened 2023-11-6
    引用 3
    我的需求是在客户端获取,这个列表是按业务维度去展示客户信息的,只是顺带希望查询一下未读消息数。并不是按最近聊天的会话去展示,如果调用会话列表接口,还是需要遍历匹配,数据多的情况下,效率很低。
  • borened 2023-11-10
    引用 4
    HeavyRain 不明白你的需求是服务器端获取还是客户端获取,如果是服务器端是没有办法实现的。如果是客户端,可以调用客户端获取会话列表的接口,每个会话中有未读数
    可以回复一下吗
  • x86 2023-11-10
    引用 5

    按业务未读去区分,其实可以通过会话线路来区分会话

    比如业务A,用会话线路 0;业务 B,用会话线路 1

    这样子,可以根据会话线路获取到该线路的所有会话,然后计算未读数。

    关于会话线路,请参考这儿

  • borened 2023-11-10
    引用 6
    x86 按业务未读去区分,其实可以通过会话线路来区分会话 比如业务A,用会话线路 0;业务 B,用会话线路 1 这样子,可以根据会话线路获取到该线路的所有会话,然后计算未读数。 关于会话线路 ...
    我觉得您可能还没有理解我的需求场景。现在不是如何区分会话的问题,是不存在会话。我需要按地区去展示客户信息(这个页面跟im是桥接的),这些客户可能是从来没聊过天的,也就不存在会话的数据,如果客户有聊过天同时需要显示他的消息数。现在没有根据用户批量获取会话的sdk
  • x86 2023-11-10
    引用 7
    现在没有,只能获取整个会话列表,然后,你根据你的客户信息,过滤出相关的会话。
  • borened 2023-11-10
    引用 8
    x86 现在没有,只能获取整个会话列表,然后,你根据你的客户信息,过滤出相关的会话。
    如果我在应用层自己去封装一套批量加载用户会话的接口,直接查询user_message消息表。我看到消息也是存在缓存的,请问这样做可行吗,目前会不会有问题?
  • HeavyRain 2023-11-10
    引用 9
    缓存会很快写入的,没有问题。但我们还是觉得在客户端本地调用sdk的接口获取会话列表再过滤是比较好的,如果没有的就是没有见过的,可以主动创建一个。不要一个客户一个客户地去获取这个客户的会话信息
返回