Skip to content

Commit

Permalink
feat: 更新消息体的时候,取消溯源按钮 (#701)
Browse files Browse the repository at this point in the history
  • Loading branch information
zgqgit committed Jun 26, 2024
2 parents c143cd0 + 1e97e49 commit 6a49e1a
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 1 deletion.
10 changes: 9 additions & 1 deletion src/backend/bisheng/api/v1/chat.py
Original file line number Diff line number Diff line change
Expand Up @@ -125,8 +125,16 @@ def update_chat_message(*,
login_user: UserPayload = Depends(get_login_user)):
""" 更新一条消息的内容 安全检查使用"""
logger.info(f"update_chat_message message_id={message_id} message={message} login_user={login_user.user_name}")
chat_message = ChatMessageDao.get_message_by_id(message_id)
if not chat_message:
return resp_200(message='消息不存在')
if chat_message.user_id != login_user.user_id:
return resp_200(message='用户不一致')

ChatMessageDao.update_message(message_id, login_user.user_id, message)
chat_message.message = message
chat_message.source = False

ChatMessageDao.update_message_model(chat_message)

return resp_200(message='更新成功')

Expand Down
14 changes: 14 additions & 0 deletions src/backend/bisheng/database/models/message.py
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,12 @@ def insert_batch(cls, messages: List[ChatMessage]):
session.add_all(messages)
session.commit()

@classmethod
def get_message_by_id(cls, message_id: int) -> Optional[ChatMessage]:
with session_getter() as session:
return session.exec(select(ChatMessage).where(ChatMessage.id == message_id)).first()


@classmethod
def update_message(cls, message_id: int, user_id: int, message: str):
with session_getter() as session:
Expand All @@ -145,3 +151,11 @@ def update_message(cls, message_id: int, user_id: int, message: str):
ChatMessage.user_id == user_id).values(message=message)
session.exec(statement)
session.commit()

@classmethod
def update_message_model(cls, message: ChatMessage):
with session_getter() as session:
session.add(message)
session.commit()
session.refresh(message)
return message

0 comments on commit 6a49e1a

Please sign in to comment.