fix(chat): don't record last_msg & last_read_id

This commit is contained in:
MingxuanGame
2025-08-17 15:59:21 +00:00
parent 33cf04b1c8
commit 3476c71c3d
2 changed files with 8 additions and 4 deletions

View File

@@ -167,7 +167,8 @@ async def mark_as_read(
if db_channel is None:
raise HTTPException(status_code=404, detail="Channel not found")
assert db_channel.channel_id
await server.mark_as_read(db_channel.channel_id, message)
assert current_user.id
await server.mark_as_read(db_channel.channel_id, current_user.id, message)
class PMReq(BaseModel):

View File

@@ -69,8 +69,8 @@ class ChatServer:
if client:
await self.send_event(client, event)
async def mark_as_read(self, channel_id: int, message_id: int):
await self.redis.set(f"chat:{channel_id}:last_msg", message_id)
async def mark_as_read(self, channel_id: int, user_id: int, message_id: int):
await self.redis.set(f"chat:{channel_id}:last_read:{user_id}", message_id)
async def send_message_to_channel(
self, message: ChatMessageResp, is_bot_command: bool = False
@@ -91,7 +91,10 @@ class ChatServer:
)
)
assert message.message_id
await self.mark_as_read(message.channel_id, message.message_id)
await self.mark_as_read(
message.channel_id, message.sender_id, message.message_id
)
await self.redis.set(f"chat:{message.channel_id}:last_msg", message.message_id)
async def batch_join_channel(
self, users: list[User], channel: ChatChannel, session: AsyncSession