fix-unread
This commit is contained in:
parent
582a21408e
commit
0c75902a64
|
@ -1,22 +1,19 @@
|
|||
from services.redis import redis
|
||||
import json
|
||||
|
||||
|
||||
async def get_unread_counter(chat_id: str, author_id: int):
|
||||
try:
|
||||
unread = await redis.execute(
|
||||
"LLEN", f"chats/{chat_id}/unread/{author_id}"
|
||||
)
|
||||
return unread or 0
|
||||
except Exception:
|
||||
return 0
|
||||
from services.redis import redis
|
||||
|
||||
|
||||
async def get_total_unread_counter(author_id: int):
|
||||
print(f"[services.unread] get_total_unread_counter({author_id})")
|
||||
chats = await redis.execute("SMEMBERS", f"chats_by_author/{author_id}")
|
||||
async def get_unread_counter(chat_id: str, author_id: int) -> int:
|
||||
unread = await redis.execute("LLEN", f"chats/{chat_id}/unread/{author_id}")
|
||||
return unread or 0
|
||||
|
||||
|
||||
async def get_total_unread_counter(author_id: int) -> int:
|
||||
chats = await redis.execute("GET", f"chats_by_author/{author_id}")
|
||||
unread = 0
|
||||
for chat_id in list(chats):
|
||||
n = await get_unread_counter(chat_id, author_id)
|
||||
unread += n
|
||||
if chats:
|
||||
chats = json.loads(chats)
|
||||
for chat_id in chats:
|
||||
n = await get_unread_counter(chat_id.decode("utf-8"), author_id)
|
||||
unread += n
|
||||
return unread
|
||||
|
|
Loading…
Reference in New Issue
Block a user